Scaling Applications Using Windows Azure Cloud Services Poster Links
This document provides additional information and guidance related to the Scaling Applications Using Windows Azure Cloud Services Poster, which is based on Best Practices for the Design of Large-Scale Services on Windows Azure Cloud Services. For an example of a highly scalable application running on Azure, see this press release.
For more guidance about designing Azure applications, see Architecture.
Left Pane – Benefits and Three Reasons
NOTE: "Demand peaks" is referred to as Elastic Demand in Best Practices for the Design of Large-Scale Services on Windows Azure Cloud Services.
Plan and Design
Scale out with Scale Units
Chunky, Not Chatty (Batch Messages)
Retry for Fault Tolerance
The concepts important to Vertical Affinity are listed under Connection Affinity. Vertical Affinity differs in that the database partitions and processes that serve those partitions are designed to streamline data access and minimize connections. Data is partitioned to allow most typical queries to access only one partition. Each database partition is serviced by an exclusive set of worker role instances. At the top, a web role queries a database to determine how to route traffic to the proper set of worker roles. As load increases, the worker role instance count may be increased. As the overall database size increases, data can be repartitioned, worker roles added and the top level routing changed.
Build and Deploy
Run and Tune
Visibility & Monitoring
Consider using the The Autoscaling Application Block to add and delete scale units automatically.