Microsoft Azure has two different kinds of storage available, Storage Accounts and Managed Storage. Each of these has its use, and with one exception can’t really be interchanged between each other.
Storage Accounts are HTTP/HTTPS addressable and can be used to host files up to a couple terabytes in size. The files can be hard drives for Virtual Machines (VMs) or smaller files such as images, text files, etc. that are for an application. There are several features that use storage accounts including Boot Diagnostics for Azure VMs, SQL Server Backup to URL, Application Service logs for Application Services, etc.
Storage Accounts can hold basically any data that needs to be uploaded to them, which makes them incredibly valuable and usable within the Microsoft Azure environment.
When hosting VMs on the storage accounts there is no tie between the location within the Azure Region of the VM and the storage account. This means that if you create two VMs within an Availability Set there is no guarantee that the storage for those VMs will be within the same rack as the compute. In fact there is no guarantee that the storage for the two VMs won’t be in the same rack, causing a single point of failure for the Availability Set.
When a Storage Account is created you select the performance level of the storage. This means that you select if the storage account is based on spinning hard drive or premium storage. This performance level can only be set when the storage account is created, and it can not be changed after the fact.
If you created a hard drive for the VM on a storage account, and the Storage Account was based on Hard Drives. If you then wanted to move the VM from hard drive to premium storage, the VMs hard drive would need to be moved to another storage account.
Managed Storage within the Azure environment is only available as VM Storage. One of the reasons for this is that the Managed Storage accounts are not HTTP/HTTPS accessible.
The upside to Managed Storage is that they are bound to Availability Sets for VMs. This means that when two VMs are created within an Availability Set, the storage for these VMs is created in the same rack as the VM compute.
The other big advantage that Managed Storage has over Storage Accounts is that you can change the performance tier of a hard drive on the fly without moving the disk of the VM. This makes Managed Storage much more flexible that Storage accounts.
In addition to supporting the same Hard Drive based storage and Premium Storage, Azure Managed Storage also supports what’s called Standard SSD which is basically a lower-end version of SSD which is also less expensive than Premium Storage. Managed Storage also supports Ultra Disk which is the NVMe based storage that’s available within Azure.
Switching Between Storage Accounts and Managed Storage
Switching a VM between Storage Accounts and Managed Storage is a pretty easy change. When you have a VM that is set up to use Storage Accounts, when you select the VM in the Azure Portal you’ll see this message in the banner.
When you click on the banner a new page will be shown. This page will tell you about the benefits of Managed Storage and allow you to easily migrate the VM to Managed Storage.
When the migration happens the VM will require a reboot after the storage is migrated from the Storage Account to the Managed Storage. There is no extended downtime while this happens, it is a simple reboot of the VM and everything is moved to Managed Storage.
Virtual Machines can move from Managed Storage to Storage Accounts, but this is a more manual process as the hard drives need to be exported from Managed Storage to the Storage Account. The does require a longer period of outage for the VM but most people wouldn’t be moving from Managed Storage to Storage Accounts.
I hope that this helps explain the differences between the two technologies that are available within the Azure environment.