Real World Windows Azure Guidance: Troubleshooting Best Practices for Developing Windows Azure Applications

One of my teammate William Bellamy has written a great article “Troubleshooting Best Practices for Developing Windows Azure Applications” which is available for everyone to consume.



The number one priority of Microsoft is to help Windows Azure customers keep their applications up and running. The Windows Azure Service Level Agreements define a 99.95% availability of external connectivity when you deploy two or more role instances. However, external connectivity ensures that you are able to reach your application from outside the Microsoft data centers, which is not the same as "site up." Most Windows Azure services have multiple dependencies: SQL Azure, Caching, Content Delivery Network, internal resources (through Windows Azure connect), etc. The failure of any one of these dependencies can cause your Windows Azure service to not function as expected.


This paper focuses on the different troubleshooting challenges and recommended approaches to design and develop more supportable applications for Microsoft’s Windows Azure platform. When (and not if) a problem occurs, time is of the essence. Proper planning can enable you to find and correct problems without having to contact Microsoft for support. The approach advocated in this paper will also speed the resolution of problems that require Microsoft assistance.


  • Intended Audience
  • Document Structure
    • Overview of Windows Azure diagnostic resources:
      • Windows Azure resources
      • Third-party resources
    • Best practices for supportable design, development and deployment:
      • Before you deploy your application.
      • Fail fast design and monitoring.
      • What to do when a problem happens.
  • Contents
    • Starting with a Strategy
    • Overview of Windows Azure Diagnostic Resources
    • Designing More Supportable Windows Azure Services
    • Putting It All Together: Creating More Supportable Windows Azure Applications
    • Conclusion
    • References
    • Appendix A: Glossary
    • Appendix C: Worker Role Code Sample
    • Appendix D: ServiceDefinition.csdef
    • Appendix E: ServiceConfiguration.Local.cscfg
    • Appendix F: diagnostics.wadcfg
    • Appendix G: Default Configuration


Direct Link:

Skip to main content