Building real-world cloud apps with Windows Azure
This e-book walks you through a patterns-based approach to building real-world cloud solutions. The patterns apply to the development process as well as to architecture and coding practices.
download the e-book (PDF)
download the Fix It sample application
This chapter sets up the context and provides an overview of the patterns covered in subsequent chapters. It also includes a walkthrough of the Fix It sample application that is used throughout the book and an introduction to the Windows Azure Web Sites environment that the Fix It app runs in..
Manual processes are slow and error-prone; automating as many of them as possible helps set up a fast, reliable, and agile devops workflow. This chapter shows how to use PowerShell scripts to automate creation, configuration, and deployment for complex environments and applications that use a variety of Windows Azure services.
This chapter describes best practices to follow when working with source control, and gives sample implementations of these patterns in Visual Studio, Windows Azure, and Visual Studio Online.
The patterns in this chapter show how to combine the techniques from Automate everything and Source control to set up systems that automatically build and deploy your app whenever a check-in occurs.
This chapter shows how to implement several web development best practices, including stateless web tiers, using CDN, and using asynchronous APIs.
This chapter introduces Windows Azure Active Directory (WAAD) to integrate with your on-premises Active Directory and enable single sign-on in your apps hosted on Windows Azure.
Windows Azure provides a variety of SQL and NoSQL data storage options. The purpose of this chapter is to give you a broader sense of the data storage options available to a cloud app, and some basic guidance on how to choose the ones that fit your scenario.
This chapter explains how you can make your data tier scalable by partitioning data into multiple relational databases or by combining relational database storage with other data storage options.
The Data partitioning strategies chapter looks at partitioning schemes and explains how the Fix It app stores images in the Windows Azure Storage Blob service, and other task data in Windows Azure SQL Database. This chapter goes deeper into the Blob service and shows how it's used in Fix It project code.
It's important to design your app so that it can gracefully handle failures and continue to deliver as much value as possible. This chapter discusses types of failures that you should plan for.
With good telemetry and logging systems you can be aware of what’s going on with your app, and when something does go wrong you find out right away and have helpful troubleshooting information to work with. This chapter describes several telemetry services that you can integrate with Windows Azure.
This chapter describes best practices and patterns you can use to handle service interruptions or outages.
This chapter gives background about caching, including when to use it, common patterns for using it, and how to implement it in Windows Azure.
The queue-centric work pattern enables loose coupling between a web tier and a backend service, and is an effective way to manage work that is high-latency, resource-intensive, or subject to sudden load bursts.
This chapter presents additional cloud computing topics and links to articles and resources that will help you with them.
The appendix documents known issues in the Fix It sample application and describes best practices that were implemented in it. It also includes build-and-run and troubleshooting instructions.