Please read the first article in this blog series if you have not already.
Microsoft KNOWS That Compute and Other IaaS Costs in Azure Are Too Damn High Compared to Running RDS On-Premises Or Via an MSP Partner
Why am I asserting this? Let’s look at some of their actions right before and after the introduction of AVD:
As of January 2021, they’re now running a loss leader promotion on D and B-series VMs where they’ll further lower compute charges, but only for 90 days. (This promotion has ended).
They purchased FSLogix 2 years ago, which I speculate was driven by the fact they knew that attempting to place roaming user profiles or UPDs on Azure Files would be unbearably slow unless they had FSLogix’s tech to help out. Their own docs state that if you migrate from RDS to AVD you have to convert profiles over to FSLogix.
And leveraging Azure Files with FSLogix is not an instant cure either. You very likely will have to step up to Azure Files Premium OR Azure NetApp Files because, as many of you have learned by now, the entry level tier of just about any Azure IaaS component is STINGY on IOPS. See James Kindon’s great article for more details on this. You want healthy IOPS in Azure, that will rival on-premises virtualized hardware? You’re going to pay, and pay mightily, for that privilege.
Their AVD cost calculator loves to default to 220 hours as the typical number of hours a user will work per given month (approximately 40 working hours per user a week) to “gild the lilly” in perceived cost savings. Unfortunately, as everybody knows, you can’t just beam user sessions between RDS or AVD hosts when you need to start powering down VMs to save money in Azure. You have to run scaling scripts (which my customers tell me are fraught with issues) or use the more recently created AVD Autoscale system, place users in drain mode, wait until all user sessions drop off, and then shut down the VM. That adds extra hours you are paying for, in excess of the 220.
In the modern workplace, users don’t work a steady 9-5 job. They’re giving companies 8, 10, even 12 hours a day, and those hours are not contiguous. If you get too aggressive with idle logoff policies, users may lose work and their workflow will be interrupted, lessening their productivity. Sure, you can try to optimize these scaling routines further by contracting with third party vendors that do this in Azure, but that just adds to the total cost, as you pay the third party for that privilege. Plus you still have to get the user sessions off the box before you shut a VM down – you can’t beam them elsewhere.
Update October 2022: Based on my own modeling, which I talked about at TechMentor Redmond 2022, even with Autoscale enabled and using Microsoft’s own AVD pricing calculator assumptions, AVD was showing costs of 2x to 4x when compared to running RDS on-premises or in a private datacenter.
AVD Licensing Rules Suck Right Now
In RDS, licensing is fairly straightforward. You obtain licensing for the Windows Server operating system, using Microsoft’s rules for virtualization rights- depending on the number of processors and cores in the processors, and whether you purchase Enterprise or Standard. Next you purchase RDS CALs (Client Access Licenses) for each user OR device that will be making an RDP connection into the environment. If you love spending money, you can then pay Citrix or other vendors additional per-user costs on top of that.
If you are an MSP and want to run RDS, you can buy the Windows Server OS licensing AND the RDS licensing on a month-to-month basis, using Microsoft’s SPLA program. This is great for MSPs offering desktops/apps as a service, and their clients who don’t have the capital to make a CapEx investment in their own hardware. Everybody pays month-to-month, which is more expensive over time then a CapEx upfront buy, but it’s manageable and a win-win for both parties.
Microsoft has turned the above on its head with Azure Virtual Desktop. As of this article, the ONLY operating systems hosted in Azure Virtual Desktop that support a monthly licensing option for access rights is Windows 10 multisession and Windows 11 multisession (or legacy Windows 7 if you really want to run that). Basically, you need one of a few flavors of Microsoft 365 subscriptions or Windows 10 subscriptions (but not the base, least expensive levels) to get your AVD access license to connect to Win 10/Win 11/Win 7 in Azure.
The REALLY crappy thing for Managed Service Providers (MSPs) and Independent Software Vendors (ISVs) who host their applications over RDS or RemoteApp, is the complete absence of any sort of SPLA program to allow them to purchase or resell monthly access licenses for their clients, to access Windows Server VMs hosted in Azure. Currently, they or their client must purchase full, perpetual CALs up front, in order to run workloads on Windows Server VMs. Why is this so bad?
It effectively freezes out most of those MSPs and ISVs from using AVD as a platform for hosting desktops or applications. Why?
- Very few MSPs or ISVs will want to assume the capital risk of purchasing full perpetual CALs for customers who may leave within a few months – they must have a monthly option.
- Running mission critical, line of business apps on Windows 10, with its very frequent update cadence, is often a non-starter. One bad Windows update can bring an application down. In situations like these, running a Long Term Servicing Channel (LTSC) version of Windows Server, with strong control over the Windows Update process, is paramount.
- Even if they bite the bullet and elect to try and run workloads on Windows 10 multisession, if their clients will be connecting in with non-Windows endpoints (and you can be assured they will), they will have to require their clients to pick up Microsoft 365 subscription licenses, as opposed to an Windows 10 Enterprise E3 license. The monthly cost of a Windows 10 Enterprise E3 license is roughly the cost of a RDS Subscriber Access License in SPLA (around $7 per month), but the lowest priced Microsoft 365 subscription license (F3) compatible with AVD is $10 per month, with an annual commitment required.
Update October 2022: Microsoft now allows you (and presumably MSPs) to purchase a monthly per-user subscription to use AVD hosted on Windows 7, Windows 10, and Windows 11 multisession scenarios. If streaming RemoteApps only, the cost is $5 per user per month, if hosting apps and desktops, the cost is $10 per month. However, many B2B and B2C scenarios are not supported, so it remains less flexible (and arguably more expensive to RDS SPLA licenses if you are hosting desktops). Plus, server OSes are still not supported, you must purchase full traditional RDS CALs if you want to host apps/desktops on Windows Server editions.
Leave a Reply