3. Who am I?
Maarten Balliauw
Antwerp, Belgium
www.realdolmen.com
Focus on web
ASP.NET MVC, Windows Azure, SignalR, ...
MVP Windows Azure & ASPInsider
http://blog.maartenballiauw.be
@maartenballiauw
Author: Pro NuGet - http://amzn.to/pronuget
APRIL 17, 2012 | SLIDE 4
4. Agenda
Quick recap: Windows Azure
What’s different in the cloud?
Rethinking apps
Conclusion
APRIL 17, 2012 | SLIDE 5
5. Quick recap
Windows Azure
APRIL 17, 2012 | SLIDE 6
6. Windows Azure is a cloud platform
On-demand
Self-service
Pay per use
Highly automated
APRIL 17, 2012 | SLIDE 7
7. Windows Azure Components
Compute Storage SQL Azure Service Bus Connect
BI Marketplace CDN Caching ACS
Application Services Storage Services Foundation Services
APRIL 17, 2012 | SLIDE 8
9. Differences with your infrastructure
Uniform
Automated
Designed for failure
Designed for scale
It’s not in your datacenter
APRIL 17, 2012 | SLIDE 10
10. Uniform
Every machine +/- the same
No specialized hardware
No specialized OS*
APRIL 17, 2012 | SLIDE 11
11. Demo
Customizing the Windows Azure virtual machine
APRIL 17, 2012 | SLIDE 12
12. Automated
Makes decisions on provisioning &
updating
Monitors health
The platform knows what’s best
Not necessarily for your app…
APRIL 17, 2012 | SLIDE 13
20. Assume everything will fail
Automated service maintenance
Compute node crash
Storage throttling
SQL Azure throttling
Connectivity
Your code
APRIL 17, 2012 | SLIDE 21
21. Retry everything
SQL Azure Error 40501
The service is currently busy. Retry the
request after 10 seconds.
Retry against anything that might be external
SQL Azure, Windows Azure Storage, Service Bus, …
http://windowsazurecat.com/2011/02/transient-fault-
handling-framework/
APRIL 17, 2012 | SLIDE 22
22. The entire datacenter fails!
Run in 2+ datacenters
Keep data synchronized
All data
or limit scope
APRIL 17, 2012 | SLIDE 23
28. Solutions to a SPOF being down
Set a monitoring endpoint for TM
Take the entire datacenter out of the loop
Take the SPOF out of the story
Degrade gracefully
APRIL 17, 2012 | SLIDE 29
36. SQL Azure
Monitored by the platform
The platform does not like high DB traffic
Throttling & retries
APRIL 17, 2012 | SLIDE 37
37. Caching
Most of our users are doing reads
Cache content near where it’s needed
Windows Azure Caching
Blob Storage
APRIL 17, 2012 | SLIDE 38
42. A typical web request…
1 request is dynamic
493 requests are static*
Get that static content out of your servers!
Cache content near where it’s needed
APRIL 17, 2012 | SLIDE 43
46. Key takeaways
Cloud is different
Design for failure
Design for scale
Work asynchronously
Cache close to where it’s needed
Also think price vs. Allowed outage
APRIL 17, 2012 | SLIDE 47
48. http://blog.maartenballiauw.be
@maartenballiauw
http://amzn.to/pronuget
or Install-Package ProNuGet
THANK YOU!
APRIL 17, 2012 | SLIDE 49
Editor's Notes
Maarten
Kinepolis: veel static content / in-frame caching
Show DemoUniformDemonstrate OS choice in ServiceConfiguration.Cloud.cscfg (osFamily2)Demonstrate run withstartup scriptDemonstratestartup scriptExplainxpath in ServiceDefinition.csdeftoretrieve Azure variables in the environment
Tell health is monitored, but more towards Azure. For example: throttling!