Azure : Virtual machine resizing consideration

 

UPDATE :

This post is under review as things probably changed, and some configurations are supported by now.

You can refer to this Microsoft blog, where they explain the re-sizing considerations :

[ https://azure.microsoft.com/en-us/blog/resize-virtual-machines/ ]

 

Hi all,

After reading a blog post from one of my preferred bloggers, I noticed that there is a topic which is poorly documented, and  maybe, it’s an interesting idea to write about it : Resizing an Azure virtual machine.

After long hours of testing using the Azure Classic Portal, Azure portal (Preview) and Azure Powershell, I was finally able to get these results.

The following tables show all the resizing configuration paths:

From Basic  A-SeriesSnap 2015-10-11 at 11.51.52

Snap 2015-10-08 at 00.24.50

 

From Standard  A-SeriesSnap 2015-10-08 at 00.25.04

Snap 2015-10-08 at 00.25.27

 

From D-SeriesSnap 2015-10-08 at 00.25.44

Snap 2015-10-08 at 00.26.02

 

From Dv2-Series

Snap 2015-10-08 at 00.36.53

Snap 2015-10-11 at 12.53.26

 

From DS-SeriesSnap 2015-10-08 at 00.44.59

Snap 2015-10-08 at 00.45.11

 

From Standard A8/19/10/A11Snap 2015-10-08 at 00.26.57

Snap 2015-10-08 at 00.27.38

* The Azure preview portal may give you the possibility to resize the VM to a unsupported size. But this will not work

Important notes

  • When you resize a VM to an unsupported size (via the Preview portal),  the resize operation may  succeed  and the Azure notification will show a success notification. The new size is even reported on the VM configuration blade. However, the VM will never start even if the notification tab shows that it is.

 

Snap 2015-10-08 at 00.55.54

Snap 2015-10-08 at 01.03.02

  • Even with Powershell, a resizing operation may report success, but even if the VM starts, you will not be able to connect to it

Snap 2015-10-07 at 23.12.12

  • If the resizing operation is not supported and you are using the  Azure Service Management stack
    • If you make a tentative of a  non supported resize operation from PowerShell
      • A similar error message will be thrown : Compute.CannotUpgradeDeploymentToNewRoleSize : Unable to upgrade the deployment. The requested VM size ‘New VM size’ may not be available in the resources supporting the existing deployment. Please try again later, try with a different VM size or smaller number of role instances, or create a deployment under an empty hosted service with a new affinity group or no affinity group binding

Snap 2015-10-07 at 23.11.14

      • An event will appear on the notification window on the Preview Portal

Snap 2015-10-07 at 21.38.38

    • If you try to choose an unsupported size from the preview portal, the sizes will show grayed out. And the following info will be shown : This pricing tier is not available in the selected virtual machine’s domain name

Snap 2015-10-06 at 23.52.22

    • If you try to deploy a virtual machine to a cloud service that already contains a non-compatible VM sizes (Ex : You want to deploy a D-Series VM to a Cloud Service containing A-Series VMs), the Classic Portal VM creation wizard will prevent you from completing the creation operation : The cloud service you’ve selected doesn’t support the virtual machine size selected in the previous step

Snap 2015-10-06 at 23.51.24

  • If the resizing operation is not supported and you are using the  Azure Resource Management stack
    • When resizing the VM using the Preview portal, the Size will show grayed out and the following information will be shown : This size is not available on this Virtual Machine

Snap 2015-10-07 at 00.21.28

 

    • Resizing an ARM Virtual Machine from Powershell is not yet supported (I wonder when they are planning to add it !!)
    • There is no Cloud Service concept with Azure Resource Manager, VMs and resources are deployed within a Resource Group. A resource Group can hold a mix of resources and VMs with different sizes.

 

Additional information

  • Microsoft is stating on its official documentation (Though it comes from an MSDN discussion) that you may not be able to make some resize operations even if it’s supported by design. This is due to hardware limitations.

Some of the physical hosts in Azure data centers may not support larger virtual machine sizes, such as A5 – A11. As a result, you may see the error message Failed to configure virtual machine or Failed to create virtual machine when resizing an existing virtual machine to a new size; creating a new virtual machine in a virtual network created before April 16, 2013; or adding a new virtual machine to an existing cloud service. See the topic Error: “Failed to configure virtual machine” on the support forum for workarounds for each deployment scenario.

Snap 2015-10-11 at 12.42.43

The verdict

During this post, we saw that -in simple words- we cannot resize a virtual machine on Azure as expected. What we expect today from the ‘Cloud’, is a flexible Scale UP/ Scale Down and Scale In/ Scale Out features. Unfortunately, only the latter is provided by Azure, that means we can only scale the number of deployed VMs as expected (Via Auto-scale for example), but when it’s a matter of scaling UP/Down a virtual machine, we are faced to some limits. And the only choice is to recreate the virtual machine under the new Size/Series. I hope Microsoft will figure out a new way to enhance that.