How to change the VM size for your Windows Azure Service

As you may know, Azure VM size is set in 4 different catagories:

  1. Small  - 250GB
  2. Medium - 500GB
  3. Large - 1TB
  4. ExtraLarge - 2TB

It is possible that after your service is running and you might need to tune your service to add more space in Azure VM or reduce the VM size to save some cost if resources are higher then your current service need. This concept is defined as "elastic scale" and Windows Azure takes this concept very well.

Here are a few ways you can accomplish it:

1. Auto-Scale using Azure Service Management API.:

There is a great blog on how to accomplish it: http://blogs.msdn.com/b/gonzalorc/archive/2010/02/07/auto-scaling-in-azure.aspx 

 

2. In Place Upgrade for your Azure Service:

  1. You can dynamically upload a new package with a higher VM size to Staging slot first
  2. Perform VIP swap so your service can use the higher VM size Service
  3. Delete the Deployment in Staging slot otherwise you may pay for both slots.