Virtual Machines in Azure run on top of the Microsoft Hyper-V hypervisor on physical hardware inside Azure data centers around the world. Each VM can be attached to two types of storage: Local and Remote.
Local VM Storage
This type is non-persistent (i.e. volatile) storage that is internal to the physical Hyper-V host that a VM is running on at any given time. As soon as the VM is moved to another physical host as a result of a deallocate (stop) and start command, hardware or VM crash, or Azure fabric maintenance, the local storage is wiped clean and any data stored on it is lost. Because of the volatile nature of local storage, no important data can be stored on it. However, it is ideal for non-persistent data such as temp files and page/swap files. Local storage is typically visible as the D: drive on Windows VMs in Azure and has a text file in the root directory warning users against data loss.
Remote VM Storage
This storage type is persistent and comes in the form of managed (or unmanaged) disks. These disks can have different performance and redundancy characteristics.
Remote storage is required for any VM’s OS disk (i.e. C: drive where Windows is installed) and certainly for any data disks that are intended to permanently store important data. In order to retain the data and persist across moves of the VM from one physical host to another, the remote storage is, well… remote from the VM itself. It is stored on Azure’s storage system and VMs attach to it via the network. The physical Hyper-V host running the VM is independent of the remote storage system, which means that any Hyper-V host or VM can mount a remotely stored disk.
Remote storage has the critical advantage of being persistent, while local storage has the advantage of being faster (because it’s local to the VM – on the same physical host) and it is free. When starting an Azure VM, you only pay for its OS and data disks that are remote. Local storage on a VM (i.e. D: drive) is included in the price of the VM itself and carries no usage charge of its own.
Ephemeral OS Disks
Recently, Microsoft introduced the concept of Ephemeral OS disk for certain types of VMs. An Ephemeral OS disk is stored on local storage and is therefore faster and free, but it is not persistent. It is therefore only used in situations where the VM is based on an image and every time it is started the OS disk will get “regenerated” from the generalized image and any changes made to the OS disk (C:) will be lost if the VM moves to another host or is reallocated.
Why does this matter? OS disks on Windows VMs, such as RDS or AVD session hosts, constitute a significant cost component ($20 or so for a 128GB Premium SSD P10 disk). Using generalized RDS/AVD host images and Ephemeral OS disks removes this cost component completely, further reducing the cost of running virtual desktops in Azure.
The performance of Ephemeral OS disks is also significantly better than remote storage OS disks. This is because they are stored on local SSD storage and don’t have to be mounted over the network in Azure. This increased speed and reduced latency leads to faster VM start/stop operations, faster provisioning, and overall increased performance. How much faster are they? Micha Wets wrote a great article comparing the performance of AVD hosts using Ephemeral OS disks and remote OS disks. Take a look to see how much of a difference this makes.
How can you take advantage of Ephemeral OS disks?
Since these OS disks make the most sense with VMs based on generalized images, and because Nerdio’s implementation of AVD host pools is based on Azure VM Scale Sets that use an image natively, this is going to be a very easy feature to enable when creating new AVD host pools in the future. You will be able to check a box to select the use of Ephemeral OS disks instead of traditional managed disks when creating a new AVD host pool in the Nerdio Admin Portal on the Servers screen.
The result will be faster disk performance of AVD virtual desktops and significant cost savings resulting from eliminating the need to pay for traditional, remote storage-based managed disks.
At Nerdio, we strive to stay on the leading edge of newly released Azure features and integrate them into our product to improve our MSP partners’ margins and experience. We’re always on the lookout for better, more efficient ways to empower MSPs to build successful cloud practices in Microsoft Azure.