DEMO: Resizing a VM
Start course
1h 27m

This course will give you a basic understanding of Azure virtual machines (VMs) and how you can use them in your Azure environments.

The course begins by introducing you to Azure VMs and what resources are necessary to deploy them, before moving onto pricing and the different virtual machine options available. Next, the course explores availability sets and availability zones and gives a demonstration that shows you how to create an availability set using the Azure portal.

The course shows how to deploy both Windows and Linux virtual machines, and you'll get a demonstration of how to deploy and connect to each. Rounding off the course is a section on basic management tasks; you’ll learn how to start, stop, restart, redeploy, and resize virtual machines.

This course is packed full of real-world demonstrations from within the Azure portal to give you first-hand experience of how to get the most from Azure Virtual Machines.

For any feedback you may have relating to this course, please contact us at

Learning Objectives

  • Gain a foundational understanding of Azure virtual machines, their features, and their pricing
  • Learn how to set up availability sets
  • Learn how to create and connect to both Windows and Linux virtual machines with Azure
  • Learn how to manage your Azure VMs including starting, stopping, restarting, redeploying, and resizing VMs

Intended Audience

This course is intended for anyone who is interested in learning about the basics of Azure virtual machines.


To get the most from this course you should have a basic understanding of Microsoft Azure and of the Azure portal.


Hello and welcome to resizing a VM. In this demonstration, I'm going to show you how to perform a basic resize of a Windows virtual machine. On the screen here you can see I'm logged into my Azure portal and I have the Overview page on screen here for my VM01 virtual machine, which is a Windows Server 2016 machine.

Now when you create a VM, the size that you choose isn't permanent. You can actually scale the VM up or down by changing the size of that VM, if necessary. Now there are a few caveats when resizing VMs.

For starters, if the new VM size that I want to change my virtual machine to whether it's either scaling it up or scaling it down if that size isn't available on the underlying hardware cluster in Azure, what I would have to do is deallocate my VM first.

Now as long as my chosen size, the new size that I want to go to, is available on that cluster, then I don't have to deallocate anything. The other caveat is that if my current virtual machine uses premium storage, I need to make sure that my new size that I want to resize that VM to, is an S version of the size. I need to do this so that the new VM size supports the premium storage that I'm using.

So for example here, the size of my VM as it's currently composed, is Standard DS2 v2. You notice the S here in the size. If I were to try and resize this VM to Standard D2 v2 or D1 v2 or some other standard size without the S, I couldn't do it because the new size doesn't support any premium storage that I might be using. So keep that in mind, if you're going to resize a virtual machine, you need to make sure that if you're using premium storage, that the new size that you choose, can also support that premium storage.

Now one other caveat I want to mention about resizing a VM, is how it relates to an availability set.

Now if we click on Availability set here for VM01, we can see I have it in MYAVAILSET, so this virtual machine is in an availability set. If the new size that I want to resize my VM to, is not on the hardware cluster, again it's not available, what I would have to do is take all VMs that are in that availability set, now in this case I only have the one, but if I had say two or three or four machines in an availability set, if I wanted to resize this one VM and the new size wasn't included or wasn't offered or available on the current cluster that's hosting the VM, what I would need to do is not only deallocate this VM to resize it, but I'd also have to deallocate all of my other VMs and possibly resize those as well.

So there're the three caveats for resizing a VM. And just to recap, if I resize a VM to a size that's not available on the underlying cluster, I need to deallocate the VM first before resizing it. When I do resize the VM, if the current VM supports or is using, I should say, premium storage, the new size that I select also needs to support premium storage that only makes sense. 

And then lastly, if I'm resizing a VM in an availability set that contains other VMs, if the new size is not available on the underlying cluster, not only do I need to deallocate the VM that I'm resizing, but I also need to stop and resize the other VMs in the availability set in the same fashion.

So let's go ahead and perform a basic resize here for VM01. To do this it's pretty straightforward. From the Overview page, what I can do here under Settings is select Size. If I choose Size here, we can see all of the similar VM sizes that are available to me based on my default filters here.

So what's happening here, we're looking at all of the smaller VMs that are general purpose and that support Premium disk. So from here we can see our current size is DS2 v2. What we'll do here is resize this virtual machine to a DS3 v2, so we'll select DS3 v2 and click Resize.

If we open the Overview page here, we can see that the VM is already starting back up as a DS3 v2. We can see that the resize action is still occurring, but we're already in the process here. Go ahead and refresh here. And we can see now our VM is now running, but it's now a Standard DS3 v2 virtual machine with 4 CPUs and 14 gig of RAM. And that's all there really is to it.

In this case, my new size was available on the underlying cluster so I wasn't prompted to deallocate the VM in any way. And remember that's important because of the public IP address. If you have a dynamic address, you could lose that if you're deallocating a machine. But in any event, that's the process for resizing a virtual machine using the Azure portal.

About the Author
Learning Paths

Tom is a 25+ year veteran of the IT industry, having worked in environments as large as 40k seats and as small as 50 seats. Throughout the course of a long an interesting career, he has built an in-depth skillset that spans numerous IT disciplines. Tom has designed and architected small, large, and global IT solutions.

In addition to the Cloud Platform and Infrastructure MCSE certification, Tom also carries several other Microsoft certifications. His ability to see things from a strategic perspective allows Tom to architect solutions that closely align with business needs.

In his spare time, Tom enjoys camping, fishing, and playing poker.