Using queues for application scalability
Due to the elasticity offered by Windows Azure, architecting applications that can scale in the cloud is slightly different from creating a traditional application. When creating cloud-based applications, you should be thinking about breaking your system into smaller independent components. These components need to be decoupled from each other and must be able to run asynchronously. Once separated, the components can be scaled, independent of each other. Rather than a very coarse level of "scaling the application server", the individual components of the system that are creating the bottlenecks can be scaled.
If the system is to do any useful work, then these decoupled components should be able to message and communicate with each other. Queues are the ones that facilitate the communication between different areas of the application. Queues provide two main benefits: durable asynchronous messaging and the ability to buffer work to be done.
Asynchronous...