1. Migrating apps to Windows Azure
Convincing the Customer
Mihai Tătăran
H.P Consulting
.C.
Microsoft MVP
mihai.tataran@hpc-consulting.ro
www.codecamp.ro
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
2. IT Camp 2011
• Thanks for coming!
• ITCamp is made possible by our sponsors:
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
3. About
• H.P Consulting
.C.
– Consulting / training
– Software development, custom apps
– Products
• Codecamp / AzureWorks / ITSpark
• Microsoft Most Valuable Professional
• Telerik Insider
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
4. Objectives
• How to convince a customer
• How to migrate / move to Azure
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
5. 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
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
6. Should you care?
• As an ISV / Consulting company
• As a software developer
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
7. Approaching the Customer
• As with any major paradigm change...
• Major concerns (ISVs / Consulting)
• Security
• Robustness
• Dependability
• Trust
• Learning curve
• Billing
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
8. 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
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
9. Cloud Provider Cloud Backend
Divided liability • Backend
• Virtualization
• Sidechannels
Who’s responsibility
• Communication Cloud Cloud
• Guest OS Admin Service
Evil Hacker
• Applications
Data
• Monitoring transport
And how about
• Incident response
• Data backup/restore
• Availability
• Etc. Etc.
You
• Clients
• Logons
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
10. Security – attack surface
• Client computers:
keylogger, certificate
export
• Client communication:
cookie hijack / insertion
(with a sniffer); CA is
compromized; man in
the middle
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
11. 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
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
12. Robustness
• Load balancer
• At least 2 instances
• SLA
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
13. 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)
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
14. Approaching the Customer
• As with any major paradigm change...
• Major concerns (ISVs / Consulting)
• Security
• Robustness
• Dependability
• Trust
• Learning curve
• Billing
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
15. 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?
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
16. Is it better for the customer?
• Or .... When?
• Any project? Any software application?
• Cost / benefits
• Performance
• Scalability
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
17. 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
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
18. 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
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
19. 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
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
20. Migrating a project
• Completely
• Partially
• Forced
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
21. 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
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
22. 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
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
23. Migrating a project (example)
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
24. demo
• SQL Azure from Management Studio
• Multiple sites / Web Role
• Azure portal: deployment
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
25. Security concern
• VERY sensitive point of failure: Live ID
credentials for the Portal
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
26. 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)
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
27. Project from scratch
• Fully benefit from Azure technologies
• No re-design
• Prepared in advance for future changes in
the load behavior
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
28. 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
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
29. Project from scratch (example)
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
30. 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
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
31. Key Takeaways
• How to try to convince a customer
• How to approach a migration project
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
32. Resources
• Win Azure:
– http://www.microsoft.com/windowsazure/
– Service Bus
– AppFabric, Win Server AppFabric
• TechEd North America 2011
– http://northamerica.msteched.com (SIM312)
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
33. More, online
• http://codecamp.ro
• http://www.hpc-
consulting.ro/index.php/blog/
• @mihai_tataran
• Facebook
• Blog
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
34. Q&A
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro
35. Don’t forget!
Get your free Azure pass! We want your feedback!
• 30+15 days, no CC req’d • Win a WP7 smartphone
– http://bit.ly/ITCAMP11 – Fill in your feedback forms
– Promo code: ITCAMP11 – Raffle: end of the day
Premium conference on Microsoft’s Dev and ITPro technologies @itcampro / #itcampro