Break down the costs of AVD with the Azure Calculator
Table of Contents
The Azure calculator and AVD #
Like all things Cloud, Azure Virtual Desktop (AVD) is another cloud resource that needs to be optimised for your requirements, so that costs don’t get out of hand, and you only pay for what you use. One of the main pillars of the Microsoft Well Architected Framework is focused on cost optimisation, so it is important to make sure that the solution is deployed to follow the Well-Architected Framework.
Before you get to grips with deploying Azure Virtual Desktop, it is important that all users, applications, and requirements have been through an assessment, so you fully understand what is required for the new AVD deployment.
The end goal of an assessment is to have the right information to plan out your Azure Virtual Desktop deployment, such as use cases and application requirements. As well as these considerations, it’s important to gather information on user patterns, such as when they log in, when the peak amount of usage is, and how much compute is required for users of the Virtual Desktop environment.
This information that you have gathered will come into play when generating a cost from the Azure Calculator.
Licensing #
There are several supported operating systems that can be used on Azure Virtual Desktop. Most common are Windows 10 or 11 Enterprise or Multi-Session, but Windows Server is also supported out of the box for AVD. There is some good news, you may already be paying for the ability to use Windows on AVD with your existing licenses, as shown below:
Operating System | License Required |
---|---|
Windows 10 Enterprise Windows 10 Enterprise Multi-session Windows 11 Enterprise Windows 11 Enterprise Multi-session |
Microsoft 365 E3, E5, A3, A5, F3 Windows Enterprise E3, E5 Windows VDA E3, E5 Windows Education A3, A5 |
Windows Server 2022 Windows Server 2019 Windows Server 2016 Windows Server 2012 R2 |
Remote Desktop Services CAL with Software Assurance or RDS User Subscription Licensing |
Azure Infrastructure #
There are numerous different Azure resources that is used by an Azure Virtual Desktop deployment, all of which need to be scaled to your requirements as well as being cost-efficient. These resources can be broken down into:
Compute - The number of Virtual Machines you need for your Azure Virtual Desktop deployment. This includes the VM size and SKU as well as the total amount of hours the VMs are online.
Storage - Your Virtual Machines OS managed disk plus any additional data disks if required.
User Profile Storage (FSLogix) - Premium Azure files or Azure NetApp Files. Personally assigned session hosts may not need this but could be used in specific scenarios.
Bandwidth - This is data out of your session hosts. As a rule of thumb, it may be suggested to allow for 25-30gb of Egress data per user. However, this may increase or decrease depending on your use cases.
Any Extras - This could include any additional services that you may require, such as Backup and file shares for MSIX or Custom OS images.
The Azure Calculator #
The Azure Calculator is a super-handy tool when coming up with costs for your new Azure deployment. The Azure Virtual Desktop scenario in the Azure Calculator has come on leaps and bounds in the last few years, and now has a lot of new features that come in handy when costing up a deployment. The Calculator for AVD is now split into different sections to help you with the overall cost per user and the total cost of the deployment.
AVD Host Pool Types #
As seen above, AVD has the capability for users to use the same session host, in a multi-session environment. This allows for the maximum efficiency for organisations, and the most common I see when deploying Azure Virtual Desktop.
A personal host pool may be required for when a user needs a dedicated instance which is isolated, such as when running graphically intense applications such as CAD software.
When conducting an assessment for Azure Virtual Desktop, these use cases and users can be segmented into logical groups, which will result in an optimised deployment of AVD, whether that’s for a personal or multi-session environment, or a mix of both.
AVD Scenario Configuration #
This section of the Azure Calculator for AVD outlines the scenario for your workloads. This will end up calculating the amount of session hosts (Virtual Machines) that are required in your AVD deployment. Microsoft have some handy guidance when assessing the type of workloads you have and offer some guidance when choosing a Virtual Machine sku size for your session hosts. Microsoft suggest basing your workloads off the following workloads:
- Light
- Medium
- Heavy
- Power
More information on these sizing guidelines can be found here: Microsoft Learn
As seen below, these are what Microsoft indicate that equate to each workload type:
Workload type | Maximum users per vCPU | Minimum vCPU/RAM/OS storage | Example Azure instances | Minimum profile storage |
---|---|---|---|---|
Light | 6 | 8 vCPUs, 16-GB RAM, 32-GB storage | D8s_v5, D8s_v4, F8s_v2, D8as_v4, D16s_v5, D16s_v4, F16s_v2, D16as_v4 | 30 GB |
Medium | 4 | 8 vCPUs, 16-GB RAM, 32-GB storage | D8s_v5, D8s_v4, F8s_v2, D8as_v4, D16s_v5, D16s_v4, F16s_v2, D16as_v4 | 30 GB |
Heavy | 2 | 8 vCPUs, 16-GB RAM, 32-GB storage | D8s_v5, D8s_v4, F8s_v2, D8as_v4, D16s_v5, D16s_v4, F16s_v2, D16as_v4 | 30 GB |
Power | 1 | 6 vCPUs, 56-GB RAM, 340-GB storage | D16ds_v5, D16s_v4, D16as_v4, NV6, NV16as_v4 | 30 GB |
As seen on the table above, each of these workload types indicates the number of users per CPU on a virtual machine, as well as the minimum specifications and the type of Azure VM instance that you can use for a session host.
These suggestions aren’t always viable in production, and therefore can amended to your use case, I for example like the number between a heavy and medium workload type, therefore something around 3 users per VCPU, this allows for a good spread of users across session hosts but allows for a good experience for end users.
This section of the calculator will indicate how many users in total will have access to your AVD platform, and how many hours in total will be consumed by users. The default here is 220 hours, in which is calculated AVD being available for 11 hours per day across 20 working days in a month, this can be amended to your usage though.
As seen above, we may have 1000 total users who will access AVD, but it may be that the platform doesn’t have 1000 users always logged in, so that’s where the concurrency section comes into play.
After assessing users’ usage patterns, we found out that only 80% of users are logged in at one time, therefore, to optimise costs, we can add in that the peak concurrency is 80% of the total users.
Also, AVD will need to be available when users are at a low, therefore an off-peak concurrency set to 10%, will scale Azure Virtual Desktop down, minimising the amount of compute required, therefore saving costs.
Compute #
The second section of the calculator highlights the compute that is required to run your scenario that was previously configured. In this section, we change the Virtual Machine Size to match our workload type. As seen below, this will show the off-peak and peak concurrency for our compute.
This indicates that 63 session hosts are required to handle the peak concurrency of 900 users (90% peak), and we require that 7 instances are to be available in off-peak to cater for 100 users at off-peak times.
This is calculated for using the Azure VM D8s V5 instance type, which has 8 vCPUs and 32gb memory. As seen below, the calculator now gives you a break down of cost per user for compute.
Storage #
This section of the calculator will add the amount of storage for both session hosts and user profile storage. Thankfully the calculator automatically adds the number of Managed Disks required by your session hosts, in our case here its 63 managed disks.
Microsoft recommend premium SSD for production workloads, so if your Azure Virtual Desktop environment is mission-critical, its recommended to use this disk tier.
Again, the calculator gives us a breakdown per user:
The second part of this section is around storage user profiles, Custom OS images and MSIX application packages. FsLogix enables user profiles to be stored on either an Azure File Share or Azure NetApp files. In this instance, an Azure File Share Premium will be the storage of choice.
It is recommended to put a top end of around 30gb per user profile, which will be less if it is a fresh deployment. With a Premium Azure file share, you provision and pay for storage you select, therefore its worth monitoring the provisioned storage. You can change the quota once per 24 hours with a Premium file share.
Bandwidth #
The last section of the Azure calculator is based around the outbound (egress) bandwidth. A general amount of bandwidth per user can range from between 25gb to 30gb in total.
Calculating this across the 1000 user base, would equal to about 3TB of Bandwidth.
Breaking down costs per user #
The best part of the Azure calculator for Azure Virtual Desktop is the breakdown of costs for each Azure resource on a per user basis, I think this helps with the overall costing of an AVD deployment, and makes it clearer to understand for an organisation.
Round-up #
I think with the use of reserved instances or savings plans can reduce the overall cost in the long run, but constantly adapting and optimising the deployment can dramatically change the monthly bill for AVD.
Using Scaling plans to reduce an AVD environment in the off-peak times and ramp up an environment to scale to peak usage can massively help instead of running virtual machine instances 24 hours a day.
There may be some additional costs for extra resources, such as Backup, monitoring through Log Analytics Workspace and site recovery.
I hope this post helps with understanding the underlying costs for Azure Virtual Desktop in 2024, and understanding where the costs are when deploying an environment. It is key that an assessment of your existing estate and what your requirements for a new virtual desktop platform are, before thinking about deploying resources in Azure.
There are no articles to list here yet.