So far, you’ve seen how to write code for your application and get it running in the cloud. That’s just one part of the puzzle. The work involved with any application extends far beyond just writing code and developing new features. It involves monitoring, diagnosing failures, debugging bugs, and, when you have a fix or when you have new features, upgrading to a new build. And all of this takes place while trying to ensure that your service stays up and running. This can be quite a juggling act, and often gets ignored when people talk about cloud development.
In this chapter, you’ll see how you can manage your applications in Windows Azure. You’ll see how you can use the Windows Azure Developer Portal, or use the Service Management API, to manipulate your services. You’ll see how to create, run, suspend, delete, and change deployments on-the-fly. You’ll also see how to precisely control your upgrades to ensure that your service runs on new bits without experiencing downtime.
Before digging into what the manageability options are, it is useful to have a good mental model of how a well-run service on Windows Azure is supposed to behave. You’ll see the following themes come up over and over again with features across Windows Azure, the idea being to push services into adopting a few best practices:
One pervasive idea across all of Windows Azure is that applications/services run constantly. ...