WVD Pricing Guide (Windows Virtual Desktop) 1

WVD Pricing Guide (Windows Virtual Desktop)

WVD was released in preview back in March, and our step-by-step guide to deploy WVD is one of our most popular posts. Pricing for WVD has been known for a few months, but today Microsoft formally announced that Windows Virtual Desktop is now Generally Available (GA) worldwide. Let’s take a look at the total cost of ownership (TCO) in this WVD pricing guide.

Microsoft 365 Plans and CAL Requirements for WVD

Microsoft 365 diagram

Microsoft 365 Plans for WVD

Purchasing licensing for Windows Virtual Desktop is fairly simple: buy any Microsoft 365 or Windows 10 Enterprise plan. Here is a list of each SKU that includes WVD at the time of GA:

  • Microsoft 365 F1 / Business* / E3 / E5
  • Microsoft 365 A3 / A5 / Student use benefit for Education
  • Windows 10 Enterprise E3 / E5 / VDA per user
  • Windows 10 Education A3 / A5

Note that Microsoft 365 Business can only access WVD from a Windows 10 Pro device. All other plans allow for access from any type of device, including iOS / Android / MacOS.

For a quick reference to Microsoft 365 pricing plans, check out our feature and pricing comparison page.

Do I need to purchase Remote Desktop Services (RDS) CALs for WVD too?

No! If you are running the multi-session instance of Windows 10 Enterprise in WVD, there is no need to purchase any RDS CALs.

However, if you choose to run Windows Virtual Desktop on a Windows Server 2012 R2 / 2016 / 2019 server, then you will need to purchase RDS CALs. The only scenario that I can imagine where you’ll want to do this is if you already have a large RDS farm in Azure and want to replace your RDS gateways with WVD to handle the user sessions instead.

Do I need to purchase FSLogix licenses for WVD too?

No! Licensing for FSLogix Profile Container, Office 365 Container, Application Masking, and Java redirection tools are included with all of the named SKUs listed above.

Azure Costs for WVD

Screenshot of the Azure Cost Management blade.

In theory, this is simple: just pay the Linux cost for any VM size that you select. Here’s a quick reference to VM compute pricing. But compute costs are only one part of running WVD in Azure. Here are the other services that Infused Innovations deploys with all of our WVD projects in Azure:

Add-on Azure Services for WVD

  • Availability Zones – increases bandwidth ingress/egress costs, VPN GW costs, and backup costs
  • Azure Sentinel – SIEM for your VDI environment
  • An Active Directory Domain Controller running in Azure – for local auth if your VPN tunnel goes offline
  • Cloud App Security – for shadow IT discovery of your users on your VDI instance
  • Insights – to measure performance metrics of disk, CPU, and memory limits
  • Key Vault – to store Bitlocker encryption keys
  • Log Analytics – for ingesting into Azure Sentinel
  • Managed Disks – to host your VM data
  • Microsoft Defender ATP – included with Azure Security Center for next-gen anti-virus and ransomware protection
  • Monitor – to get real-time alerts when your WVD cluster is offline
  • Network Egress – ingress is free (except for availability zones) but network egress to your endpoints have a per GB fee
  • Network Security Groups – you may have engineering costs associated to auditing and maintaining NSG rules
  • Privileged Identity Management – included with EM+S and allows you to manage admin access to WVD
  • Policy – to enforce compliance or budget limits on your WVD Azure subscription
  • Recovery Services Vault – to backup your VMs using native Azure Backup features
  • Security Center – for compliance monitoring
  • Update Management with Automation Accounts – free for patching automation, but might cost $1/mo if you schedule start/stop times for your WVD host
  • Virtual Network Gateway – a low-cost S2S option for fewer than 10 tunnels, but increases with bandwidth, additional peers, and redundancy options

For a small deployment of about five users, all those Azure costs can add up to about $275/mo. For 25 users, I’d estimate that closer to $500/mo. Let’s run through a few WVD pricing scenarios to see where these estimates are coming from.

Reminder: pricing varies across Azure Datacenters.

WVD Pricing Guide Scenario 1: 10 Users – Single Instance

Let’s imagine you only have a handful of employees that need light access to WVD. This is our typical deployment for a proof-of-concept, but might be more than enough for smaller companies.

Here is the monthly estimated TCO for WVD in Azure’s East US datacenter:

Product Unit Cost Units Total Cost
Microsoft 365 F1 $10/user 10 $100
Availability Zones – none (Single Zone) $0 0 $0
Azure Monitor Varies 10 $1
Azure Sentinel $2/GB 5 GB $10
Cloud App Security $3.50/user 10 $35
Compute & Small Disk: Server Core ADDS DC ~$20 1 $20
Compute: B4ms 4 cores, 16GB RAM ~$122 1 $122
Insights 5GB Free, then $2.30/GB 5 $0
Key Vault $0.03/10,000 transactions 1 $0.03
Log Analytics 5GB Free, then $2.30/GB 5 GB $0
Managed Disks ~$35/256 GB 1 $35
Network Egress $0.087/GB 100 GB $8.70
Recovery Services Vault $10/VM/500 GB increment + storage costs 2 VMs, 300 GB LRS $26.72
Security Center ~$15/mo 2 $30
Update Management Free $0 $0
Virtual Network Gateway Basic: ~$26.28 1 $26.28
  • $135 – Total Microsoft 365 Licensing Costs
  • $286.51 – Total Azure Costs
  • $421.51 – Total estimated costs

I can hear my Azure engineers telling me that WVD is a “disposable” or “commodity” service when you’re using FSLogix with OneDrive for business. Meaning that OneDrive is your backup and you don’t need to pay for a Recovery Services Vault. Depending on the client, I would be willing to accept that argument.

Or you can schedule the VM to turn off overnight if no one is using it to cut compute costs in half. If the VM needs to run 24×7, then purchase a reserved instance for up to 40% savings instead. You can probably get the deployment above down to $200/mo if you’re aggressive about removing the extra services. Just be aware of the actual total costs.

WVD Pricing Guide Scenario 2: 50 Users & Redundancy

Diagram of Azure Availabiility Zones.

In this scenario, we’ll deploy two WVD session pool hosts across two zones for redundancy. Backups will be geo-redundant in this example as well.

Product Unit Cost Units Total Cost
Microsoft 365 F1 $10/user 50 $500
Availability Zones Ingress/Egress $0.01/GB 500 $5
Azure Monitor Varies 10 $1
Azure Sentinel $2/GB 10 $20
Cloud App Security $3.50/user 50 $175
Compute & Small Disk: Server Core ADDS DC ~$20 2 $40
Compute: D16s_v3 16 cores, 64GB RAM ~$561 2 $1,122
Insights 5GB Free, then $2.30/GB 10 $11.50
Key Vault $0.03/10,000 transactions 1 $0.03
Log Analytics 5GB Free, then $2.30/GB 10GB $11.50
Managed Disks ~$94/(512 GB + OS Disk) 2 $188
Network Egress $0.087/GB 500 GB $43.50
Recovery Services Vault $10/VM/500 GB increment + storage costs 2 VMs, 1.2 TB GRS $93.76
Security Center ~$15/mo 4 $60
Update Management Free $0 $0
Virtual Network Gateway VpnGw1AZ: ~$263.53 1 $263.53
  • $675 – Total Microsoft 365 Licensing Costs
  • $2,123.35 – Total Azure Costs
  • $2,798.35 – Total estimated costs

If you scale only the Azure costs in scenario 1 by 5 you get $1,433. As you can see, adding in zone and geo-redundancy adds roughly an extra $700/mo to the price of WVD. Again, you can argue that you don’t need HA and can just double the VM size of the other host if one goes offline. It all depends on how much downtime you can tolerate.

Closing Thoughts on Pricing for WVD

I’m sure we’re all excited about WVD’s GA announcement today! If you’re familiar with Azure, then pricing isn’t confusing at all–it’s exactly the same as Hybrid-use Benefit pricing. For those new to Azure and WVD, it’s important to keep in mind that WVD still requires traditional Active Directory Domain Services (ADDS) for authentication. That means you need a site-to-site VPN tunnel to your on-premises network, and we suggest running a small DC on Server Core in Azure too. Then you need to identify how much performance and security telemetry you need to keep your users happy and stay compliant. Microst’s Azure calculator can assist with estimating the required VM sizes for your environment.

If you haven’t tried Windows Virtual Desktop yet, take a look at our step-by-step guide to deploy WVD with Windows 10 multisession in Azure. Make sure to review how to secure WVD with conditional access too. If you need help, we’ll deploy Azure Sentinel and scenario 1 of this blog post at no cost to you for 30 days!


  1. SARAVANAN RAJAPPA on March 3, 2020 at 1:38 am

    Thank you. Very useful

  2. Thom on March 5, 2020 at 5:06 am

    This is a great article, just what I was looking for.
    How do you actually pick the Azure VM size? The Azure pricing calculator confuses me! e.g I have 100 Knowledge workers that need access to a desktop during office hours only (9-5). Microsoft seems to class them as “Heavy” if they’ll be using PowerPoint/Outlook and give an example size of D4s_v3, F4s_v2 with 2 users per CPU but there are so many more sizes how should I actually determine it.
    I’m also not clear if I can use Reserved Instances if I want to scale down the service out of hours (for about 10 users).

    • Dan Chemistruck on March 5, 2020 at 12:27 pm

      Great question! Here’s a quick guide of how I approach VM sizes:
      – B Series is if you’re going to be using less than 60% of the CPU most of the time.
      – Ds Series is the next size up for performance
      – Es Series is if you need more RAM for CPU core
      – Fs Series sometimes makes sense and is similar to Ds, but it’s not one of my go-to sizes.

      For 9-5 only, it’s going to be cheaper to turn the VMs off then to purchase Reserved Instances. You can increase the size of your RI without a penalty, but you cannot switch to a smaller size VM. It sounds like you might want 1 RI on for 24×7 availability and then auto start/stop everything else in the farm.

      I typically estimate 1.5 cores per user if they’re just running Office. But I like to run it for two weeks, turn on App Insights, and see if the users are actually using all of the resources. You can either start smaller and see if anyone complains, or over-provision and drop it down based on usage metrics. Hope that helps. We offer a free 30-day WVD PoC if you need any help.

  3. florian on April 12, 2020 at 12:27 pm

    Thanks for the nice article!

    “As you can see, adding in zone and geo-redundancy adds roughly an extra $700/mo to the price of WVD. Again, you can argue that you don’t need HA and can just double the VM size of the other host if one goes offline.”

    I don’t fully understand that explanation. In the second scenario we have 2 hosts in 2 different availability zones. If one was going offline we would still have to double the size of the other VM, wouldn’t we?
    I also don’t understand why the $700 extra cost should come from the zone redudancy. Doesn’t availability zones only add traffic costs (which you calculated with $5 in your example)?


    • Dan Chemistruck on April 19, 2020 at 1:47 pm

      Example 1 is a single WVD host. Example two uses two hosts, which adds additional per node costs for ASC, Azure Backup. A zone redundant Virtual Network Gateway is also an extra $200/mo from the basic single zone SKU.

      • florian on April 19, 2020 at 2:07 pm

        Thanks for the clarification. Unfortunately I still don’t get how the HA/failover without scaling up the other VM by hand works and how availability zones help there.

        • Dan Chemistruck on April 19, 2020 at 2:21 pm

          Example one does not have any HA or failover. In example two, you would have to size the VMs large enough to handle a failover. I suppose I should increase the compute costs in Example two and clarify that. Thanks for the feedback.

  4. rahul b on May 22, 2020 at 7:54 am

    IN WVD, Do we required to pay for Windows Server Licenses cost

    • Dan Chemistruck on May 24, 2020 at 7:01 pm

      Loaded question. In WVD, you pay for the Windows Server licensing via your Microsoft 365 subscription. In Azure, you do not have to pay for Windows licensing again–you’re charged the Linux equivalent for compute on a WVD instance.

  5. Logan King on September 28, 2020 at 8:44 am

    Can each virtual desktop be “personalized”? For instance, we are a small shop with 1 developer, 1 graphics designer, and two Technical Business Analysts. Can we install apps on each virtual desktop that are specific to each user’s needs?

    • Dan Chemistruck on September 28, 2020 at 2:56 pm

      Short answer: yes. There are two deployment models for WVD: shared-hosts and dedicated hosts. If you use a dedicated host for each employee, then that employee will have a personalized desktop that is different from your other employees. Whereas on a shared host, you would install all the apps on one host and all users would have access to all the apps.

      There are also some fancier solutions using MSIX app attach on shared hosts with the app running virtualized on another box, but that’s probably too complicated for your use case.

  6. joonas rapila on October 19, 2020 at 9:42 am

    Great article, thanks a lot 🙂 I’ve been searching for an article on implementing WVD as a PAW (Priviledged Access Workstation) for Azure, but haven’t really found any good articles and only a few mentions regarding the use of Azure Bastion or WVD for PAW and was wondering if you could either help me out or point me to some documentation.
    I was wondering what the approximate cost would be for running a PAW on WVD for say 5 users with in between 60 and 120 hours of jointly weekly usage (with a very restrained VM, almost running nothing else except a browser, a few RDP & SSH sessions or SSMS for instance). Did I understand correctly in that it is possible to turn off the VM running WVD (say turning it on at 6 am and back off at 10 pm).


    • Dan Chemistruck on October 19, 2020 at 3:46 pm

      The Azure costs in Scenario 1 should be fairly close to your use case. A PAW just has Group Policy/Registry/CSP configurations that are enforced, so there’s no extra cost for that. The Azure Security Center (now Azure Defender for Servers) is already included in Scenario 1 and gives you the additional security logging and next-gen AV. Yes, you can auto start/stop the VM to save on compute costs or you can buy a reserved instance.

      I’d suggest starting with the Intune Security Baselines for a PAW configuration:

  7. Felix on January 9, 2021 at 12:43 pm

    Wow more than 1 year since you published this article… But still very useful thanks a lot!
    I just wanted to clarify one point:
    When you say you set 2 Managed Disks (~$94/(512 GB + OS Disk)) for the 2nd scenario (50 users), it is to support redundancy but does it mean you have 1 disk per user? Or 1 disk of 512 GB for the 50 users?
    I think I missed this…
    Thanks again for this great article!

    • Dan Chemistruck on January 11, 2021 at 6:41 pm

      That estimate was for 1 shared 512 GB drive to be used by all users. There is an updated deployment topology where you use Azure File Services instead. The pricing for that is similar up to about 1TB. Using a managed disk is cheaper after 1 TB.

Leave a Comment