Note: Microsoft announced the rebrand of Windows Virtual Desktop (WVD) to Azure Virtual Desktop (AVD) in June 2021. You can read more about that here.
Microsoft announced General Availability of Azure Ephemeral OS disks in July of 2019. “This unique Azure feature with a fancy sounding name doesn’t get a tremendous amount of attention but holds great promise for those deploying Microsoft Azure with Azure Virtual Desktop (AVD).” We wrote in detail about ephemeral OS disks and their benefits when the feature was first released, but let’s take a look at two major advantages they provide when it comes to AVD: performance and cost savings.
Azure Storage Overview
Let’s start with a brief overview of Azure storage as it relates to AVD. Specifically, we are going to focus on storage related to the AVD session host virtual machine (VM), which is where the Windows 10 (or Windows Server) operating system is installed and running. We won’t delve into the storage of FSLogix profiles or other user data and will focus primarily on the operating system.
Each Azure VM must have an OS disk attached to it. This typically comes in the form of a Managed Disk. Managed disks come in a variety of predefined sizes and storage types:
- Standard HDD: S-disks
- Standard SSD: E-disks
- Premium SSD: P-disks
- Ultra SSD: U-disks
For this discussion, let’s remember that managed OS disks are stored separately from the VM itself and have a monthly storage fee associated with this storage capacity. Being stored separately from the VM makes a managed disk persistent, which means that if the VM gets moved to another physical host on the Azure infrastructure, the disk contents are retained and get attached to the VM after it moves. Managed disks are perfect for storing important information that must be retained but this comes at a cost of monthly fees ($) and lower performance since they are accessed by the VM across a storage network, as opposed to being locally attached to the physical host hardware where the VM is running.
What’s Different About Ephemeral OS disks?
Ephemeral OS disks (EOSD) are fundamentally different from Managed Disks in that they are stored on the local SSD disk cache of the physical host where each individual VM runs. This makes them much faster than network attached Managed Disks because they are local, and Microsoft doesn’t charge for them. That’s right – the cost of an EOSD is $0/month.
So, what’s the catch?
Well, there are a handful of things to keep in mind. EOSD are non-persistent, meaning that any data stored on them is gone if the VM moves from one physical host to another (e.g. as part of a deallocate/allocate process, crash of hardware, or some other reason). This makes the use-case for EOSD limited to situations where data on the EOSD doesn’t have to be retained and it can always be based on a generalized Azure image that’s pre-packaged and read-only.
Let’s consider the AVD use case. We discussed in previous articles how leveraging Azure VM Scale Sets (VMSS) reduces the cost of AVD deployment by up to 75% and simplifies the management of AVD session hosts at scale. Now let’s see how Azure VM Scale Set integration adds another set of benefits by enabling the use of Ephemeral OS disks.
AVD session hosts that are VMSS instances are based on a generalized Azure image that is set on the VMSS. Updating the image causes the instances to become “out-of-date” and VMSS, in combination with Nerdio for Azure, can be used to easily bring them up to the latest version of the image automatically. In this scenario, the VMSS instances (i.e. AVD session hosts) are non-persistent VMs that come and go daily as the VMSS scales out and then back in. This scenario makes EOSD the perfect technology to be used with AVD session hosts and VMSS instances. Since each VMSS instance VM is non-persistent, the OS disk can be destroyed and re-created each time from an image that’s configured by the administrator.
How it all works
Although the concepts are somewhat advanced, putting them into practice with Nerdio is surprisingly easy. When creating a new AVD desktop pool in the Nerdio Admin Portal, you simply check the box to enable EOSD.
Once the AVD desktop pool is created, it will be labeled as using EOSD. You can see below that Pool A is using Standard SSD disks while Pool B is using EOSD.
That’s it! This is all it takes to take advantage of Ephemeral OS disks with Nerdio.
The End Result of EOSD
Using EOSD results in faster disk performance on individual AVD session hosts. How much faster? Let’s compare a typical AVD host with a Standard SSD Managed Disk with one using an EOSD.
The first thing to keep in mind is that virtual desktops have a unique disk I/O profile. Here is a graphical representation of a typical virtual desktop. Note that the I/O is predominantly random with very little sequential access. This means that the perceived user performance is significantly influenced by random writes and reads.
To compare the difference in performance between VMs with a Standard SSD disk (E10) and a comparable EOSD we used Microsoft’s DiskSpd utility. The VM size used for testing was a D8sv3 running in the East US 2 region. The commands used and the raw results are below, and graphical representations follow.
Let’s see how a session host with EOSD compares to one with a Standard SSD (E10) disk.
From an IOPS perspective, it is clear that random access read, and especially write, operations are much faster with EOSD than Standard SSD. Random reads are 117% faster and random writes are 1,285% faster. Look at the difference in sequential write speed! Albeit that it’s not a common type of I/O for a virtual desktop.
When it comes to throughput it again looks like EOSD is the clear winner. Random reads are more than 2X faster and random writes are 15X faster.
Finally, from a disk latency perspective it is again clear how much lower latency EOSD is compared to Standard SSD.
Beyond better performance, the cost of individual OS disks becomes free with EOSD. A comparably sized Standard SSD would be about $10/month for each session host disk, plus the cost of storage operations. At scale, with dozens, or hundreds, of session host VMs, the savings of using EOSD add up quickly.
Are there any “gotchas”?
As with every complex technology, there are trade-offs to consider. The advantages of EOSD over managed OS disks are better performance and lower costs. But there are also some limitations.
- VMs with EOSD cannot be deallocated (i.e. stopped). This is because deallocating a VM would require destroying its EOSD as when it starts up again it’s likely to be on another physical host and won’t have access to its EOSD. This means that to stop paying for these VMs they must be destroyed (as happens automatically with VMSS instances and Nerdio) or you can use Azure Reserved Instances, where shutting VMs down is not necessary for cost savings.
- From a cost perspective, EOSDs only make sense when you’re using Azure VM Scale Sets and deploying *multiple* VMs based on a single image. If you want to use EOSDs with a single VM you’d need to have a corresponding image, which is not free and costs as much as a managed disk. In such a case, you wouldn’t be saving money since the savings on EOSD are consumed by the cost of the image. However, if you have a VMSS with multiple instances then the cost of a single image is negligible in comparison to the savings from replacing multiple managed OS disks with EOSD.
- Not all VM sizes support EOSD. The requirements are: the VM family must support Premium Storage (this excludes families like A-series), support disk caching (this excludes families like Bs-series), and the individual VM sizes have sufficient disk cache that exceeds the size of the OS image. For instance, D8sv3 and E8sv3 each have 200GB of cache size that will fit the Nerdio optimized Windows 10 image. Smaller VMs cannot be used with EOSD since their associated cache size cannot hold the entire OS image. Therefore, the smallest VM size that is supported are D8sv3 and E8sv3. Fortunately, DSv3 and ESv3 are the most popular families for AVD session host workloads.
Integrating Ephemeral OS disks, Azure VM Scale Sets, and AVD create a powerful combination of high-performance virtual desktops at an untouchable cost structure and is yet another innovation and enhancement that Nerdio delivers on top of native AVD functionality and Azure technology. We’re always on the lookout for creative ways to put Microsoft’s technology to work in the most cost-effective way for our partners and customers.
Don't miss out on any new content we put out. Subscribe to our newsletter today!