Upgrading an Azure service

Continuing with the last post Update and upgrade domains, I wanted to give more details about the choices in Azure for upgrading a service.

First of all, we can upgrade the service from two places:

  • Using the Azure Developer Portal
  • Using the Service Management API. The Service Management APIs are a set of REST services that can be consumed from a azure role or from outside Azure.In order to consume the Service Management Services you can develop your own .NET API or use the Azure Service Management CmdLets

Additionally, Windows Azure provides two mechanisms for upgrading your service:

  • In-place Upgrade: Windows Azure will stop and upgrade the services contained in each upgrade domain, so if you have distributed your roles in several upgrade domains your service will be responsive in a upgrade process.The following diagram illustrates the process :

Upgrade service

You can do Automatic In-Place upgrades to automatically upgrades all domains or Manual for upgrading one domain at one time.

 

  • VIP Swap Upgrade: You can deploy a new version of your service to the staging server, then swap that deployment with the deployment currently in production. This type of upgrade is referred to as a VIP swap (Virtual IP) swap because the address of service running on the staging slot is swapped to the address of the service running in the production slot, and vice versa. See Performing Virtual IP Swap Upgrades for more information.

For more details about the upgrade points, see Upgrading a Service