itcamp 2011 - mihai tataran - migrating to azure
DESCRIPTION
TRANSCRIPT
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Migrating apps to Windows Azure Convincing the Customer
Mihai Tătăran H.P.C. Consulting
Microsoft MVP
www.codecamp.ro
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
IT Camp 2011
• Thanks for coming!
• ITCamp is made possible by our sponsors:
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
About
• H.P.C. Consulting
– Consulting / training
– Software development, custom apps
– Products
• Codecamp / AzureWorks / ITSpark
• Microsoft Most Valuable Professional
• Telerik Insider
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Objectives
• How to convince a customer
• How to migrate / move to Azure
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Session agenda
• Do / should you care about Azure?
• Is it better for the customer?
• Approaching the customer
• Project Migration: example
• Project from scratch (*)
• What’s next on Azure
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Should you care?
• As an ISV / Consulting company
• As a software developer
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Approaching the Customer
• As with any major paradigm change... • Major concerns (ISVs / Consulting)
• Security • Robustness • Dependability • Trust • Learning curve • Billing
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Security
• “Data is not here (in the room nextdoor), I cannot touch it”
• I need to rely on a third party
– And their security procedures / techniques / implementation
• SLA
• Third party security analysis
• Safe Harbor
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Divided liability
Cloud Service
Data transport
Cloud Backend
Cloud Admin
Evil Hacker
Cloud Provider • Backend • Virtualization • Sidechannels
You • Clients • Logons
Who’s responsibility • Communication • Guest OS • Applications • Monitoring
And how about • Incident response • Data backup/restore • Availability • Etc. Etc.
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Security – attack surface
• Client computers: keylogger, certificate export
• Client communication: cookie hijack / insertion (with a sniffer); CA is compromized; man in the middle
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Security – attack surface
• Brute force on the server
– Enumerate domains
– Enumerate (guess) usernames
– Brute force on passwords
• Denial of Service on the server
– Think about max number of attempts on passwords
– So … instrument / monitor your apps
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Robustness
• Load balancer
• At least 2 instances
• SLA
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Learning curve
• Seems quite smooth
• BUT
• Change in paradigms, thinking patterns
– Relational (ATOM, joins, etc) vs High Scalability
– Sticky Sessions vs Stateless
– Different deployment architecture
• A lot of “new” things
– AppFabric (Service Bus, Access Control Service, Caching)
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Approaching the Customer
• As with any major paradigm change... • Major concerns (ISVs / Consulting)
• Security • Robustness • Dependability • Trust • Learning curve • Billing
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Billing
• We can have more Azure subscriptions assigned to the same Credit Card
• We can get an aggregate invoice
• How do we transfer the cost to the customer?
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Is it better for the customer?
• Or .... When?
• Any project? Any software application?
• Cost / benefits
• Performance
• Scalability
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Cost / benefits
• Investment
• ROI (Return On Investment)
• TCO (Total Cost of Ownership)
• Calculate and evaluate
– Historical data
– Estimations of load
– Pricing calculator / by hand
– Prototype and measure
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Performance
• Migration project: expect about the same or higher
• Project from scratch: should be better
• Easy to measure
– Microsoft guarantees certain performance for their side
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Scalability • Cost effective
– Compare scaling vertically with scaling horizontally
– Scaling at the database level is expensive
• Load Balancer + >=2 instances
• Windows Azure Storage
• AppFabric Caching
• NO FREE LUNCH: no relational; no state
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Migrating a project
• Completely
• Partially
• Forced
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Migrating a project (example)
• Project estimation
• R&D
• Setup tools
– SSL certificate for the portal
• Database migration to SQL Azure
– Get rid of TDE (not supported)
– Redo the EF mappings
– Migrate existing data
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Migrating a project (example)
• Architectural design changes
• Email server (external)
• CNAME
• Applications and corp website on the same webrole
– IIS on Azure allows you to do this
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Migrating a project (example)
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
demo
• SQL Azure from Management Studio
• Multiple sites / Web Role
• Azure portal: deployment
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Security concern
• VERY sensitive point of failure: Live ID credentials for the Portal
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Migrating a project (example) – learning points
• We screwed up estimations
– Because of the tools
– Because of us (new technologies)
• Deployment architecture change => needed design changes in the application
– Better architectural design analysis needed
– E.g.: Entity Framework queries (explain)
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Project from scratch
• Fully benefit from Azure technologies
• No re-design
• Prepared in advance for future changes in the load behavior
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Project from scratch (example)
• Windows Azure Table Storage
– High scalability due to tables partitioning
• Access Control Service (with WIF)
– Different identity providers for authentication and authorization
• MVC 3
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Project from scratch (example)
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Azure – what’s next
• 2 – 3 major releases per year
• Windows Server AppFabric => Azure AppFabric
– Service Bus: queues, publish / subscriber
• Application Manager
– Great support for configuration and deployments
– E.g.: pre-provisioning the instances
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Key Takeaways
• How to try to convince a customer
• How to approach a migration project
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Resources
• Win Azure:
– http://www.microsoft.com/windowsazure/
– Service Bus
– AppFabric, Win Server AppFabric
• TechEd North America 2011
– http://northamerica.msteched.com (SIM312)
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
More, online
• http://codecamp.ro
• http://www.hpc-consulting.ro/index.php/blog/
• @mihai_tataran
• Blog
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Q&A
@itcampro / #itcampro Premium conference on Microsoft’s Dev and ITPro technologies
Don’t forget!
Get your free Azure pass!
• 30+15 days, no CC req’d
– http://bit.ly/ITCAMP11
– Promo code: ITCAMP11
We want your feedback!
• Win a WP7 smartphone
– Fill in your feedback forms
– Raffle: end of the day