Skip to content


Nerdio’s Azure Virtual Desktop (AVD) Pools Explained

Nerdio AVD desktop pools are great. They enable auto-scaling to save on costs and simplify image management with a centralized template that can be pushed out to all session host. In this article, we’ll break down the logic behind the operation of Nerdio AVD desktop pools, explain some use-cases, and discuss some terminology to be aware of.

First and foremost, it’s important to understand the different components of a Nerdio AVD desktop pool. As you can see from the image below, there are three key components:

  1. Golden Image desktop
  2. Nerdio AVD desktop Pool Template VM
  3. Individual AVD Session Host VMs

Golden Image Desktop (GI)  – This is the standard image for your environment. All pool template VMs & individual users’ virtual desktop sessions will get created based on the GI. We encourage admins not to make very specific user customizations to the GI. It should contain applications that are common to all, or most, of the users in the deployment.

AVD Desktop Pool Template VM – The pool template is where most of the customizations begin. It’s the standard for every session host within that specific pool. So, this is where you set things like the VM series size (CPU and RAM), drive capacity (OS disk size and performance), unique applications specific to the members in that pool, and anything else that would apply to all users being assigned to that specific pool.

  • Our partners sometimes ask why they should create multiple pools. Couldn’t they just place all users onto one pool? While in theory that would be possible, there are many reasons to assign different users to different pools. Below are just two examples:
    • User specific performance requirements: Let’s say you have three different user types: Task users, knowledge users, and power users. You don’t want to put all of them on a single desktop pool based on a single template VM. A single power user could max the resources of a lower VM series, making any subsequent users who login experience slowness because of low system resources. In contrast, a task user assigned to a large VM series pool might have a session host spun up that’s 10x larger than what they need for their session.
    • Geographic Location: In large deployment that have locations across the country or the world, you wouldn’t want session hosts to begin scaling in at the end of the day for the East Coast branch, and subsequently cause performance issues for the West Coast one. Similarly, you wouldn’t want extra VMs left running when not required simply to accommodate the different time zones. Separating these locations into their own separate AVD desktop pools solves these issues.

Session Host VMs – It’s best to see session hosts as non-persistent VM’s. They are deleted at a frequent rate, by default, through the autoscaling rules in place on the Pools. As a result, it’s important to remember that any permanent changes that are intended to be persistent across the environment should take place on the Template VM, not an individual session host. The only time to make a change on the session host is when testing. The hosts give you a good non-persistent environment that you can work on testing changes. If things go well, simply apply the final changes to the template VM, set it as image, and update the individual session hosts. However, if the changes aren’t working in your testing, simply delete the session host, create a new one (which will create as a clone of the template VM) and continue working as if nothing happened.

That covers the different components of a Nerdio AVD desktop pool. Now, let’s take a look at some terminology that you should be aware of.


Scale-In vs. Scale-Out – The addition or subtraction of a session host within a specific desktop pool.

  • As an example, if I currently have four session hosts in Pool_A, then scaling-in would bring the number down to three, and scaling-out would bring the number up to five.

Scale-Up vs. Scale-Down – Increasing or decrease the size of the session host (or template) VM by adding or removing CPU, RAM and storage.

  • As an example, if my template is currently running with a D4sv3 VM series (4C / 16GB RAM), then to Scale-Up would be to change the VM size to a D8sv3 (8C / 32GB RAM) and to Scale-Down is to reduce the VM size to a D2sv3 (2C / 8GB RAM). This change would be made to the Template VM level and then get pushed to the session hosts in the pool via the update process.

Standby Host

A Standby Host is configured to be a session host that is created but powered off (de-allocated in Azure). This way when a user tries to sign into an already over-allocated host, and the scale rules get applied to add a new host, Azure simply needs to boot up the Standby host, rather than completely recreating a new host from scratch. This saves time and allows for session host capacity to be available to service user requests sooner.

Final Thoughts

This concludes our conversation regarding AVD pools. The most important thing to remember when making modifications in a AVD pool is the hierarchy of Golden Desktop Image>Pool Template VM>Session Host>User desktop session. As long as you keep that in mind and understand that any changes made to the session host VM get blown away after a scale-in/out or update, you should be good to go. 


Multi-Cloud and On-Premises Deployment with Azure Stack HCI (Coming Soon)

Deploy Azure Virtual Desktop in Azure and extend the session host VM placement to on-premises and other cloud using Azure Stack HCI. Nerdio Manager automates deployment of session hosts, AVD agent installation, and full integration into the AVD deployment in Azure.

Create a brand new Azure Virtual Desktop environment or allow Nerdio Manager to discover an existing deployment, connecting to existing resources, and manage them.

Deploy Nerdio Manager from Azure Marketplace and configure a new AVD environment with an easy to follow, step-by-step configuration wizard. First group of users can access their AVD desktop in less than 2 hours.

Service providers, system integrators, and consultants can leverage Nerdio Manager’s scripted AVD deployment template. Create complete environments with desktop images, host pools, and auto-scaling in minutes.

Create and manage AVD environments that span Azure regions and subscriptions. Quickly link Vnets and resource groups and manage AVD deployments world-wide from unified portal.

Link multiple Azure tenants under the same Nerdio Manager instance and manage AVD deployments that span Azure AD tenants. User identities and session host VMs can run in separate tenants for maximum flexibilty and security.

Deploy and manage AVD environments that span across sovereign Azure Clouds. Cross-sovereign cloud support allows identity (e.g. users and groups) to be in one Azure Cloud, while session host VMs are in another Azure Cloud.

Management of workspaces, host pools, app groups, RemoteApps & custom RDP settings

Administer every aspect of AVD with Nerdio Manager including workspaces, host pools, application groups, RemoteApp publishing, RDP properties, session time limits, FSLogix, and much, much more. Every Azure service that AVD relies on can be managed with Nerdio Manager.

Deploy and manage AVD session host VMs. Hosts can be created manually or with auto-scaling, deleted on-demand or on a schedule, re-imaged to apply updates, run a scripted action, resized, put into or taken out of drain mode, and more.

Manage user sessions across the entire AVD environment, within a workspace, host pool or on a single host. Monitor session status, disconnect or log off the user, shadow or remote control to provide support, or send user an on-screen message.

End users have the ability to log into Nerdio Manager with their Azure AD credentials and manage their own session, restart their desktop VM, or start a session host if none are started in a host pool. (Ability to resize and re-image own desktop is coming soon.)

Create, link, and manage Azure Files shares including AD domain join. Synchronize Azure Files permissions with host pools, configure quotas, and enable SMB multi-channel. Manage file lock handles and configure Azure Files auto-scaling to increase quota as needed.

Create, link, and manage Azure NetApp Files accounts, capacity pools and volumes. Configure provisioned volume size, monitor usage, and use auto-scaling to automatically adjust volume and capacity pool size to accommodate the needed capacity and latency requirements.

FSLogix configuration can be complex and overwheling, but not with Nerdio Manager. Create one or more FSLogix profiles with all the needed options, point at one or more Azure Files, Azure NetApp Files, or server locations and select from VHDLocations, CloudCache and Azure Blob storage modes.

Multiple identity source profiles can be set up and used automatically on different host pools. Active Directory, Azure AD DS, and Native Azure AD are all supported. Choose the appropriate directory profile when adding a host pool and all VMs will automatically join this directory when being created.

Create a copy of a host pool with all of its settings: auto-scale config, app groups and RemoteApps, MSIX AppAttach, user/group assignments, VM deployment settings, etc. Save time by creating host pool “templates” that can be cloned to any Workspace, Azure region or subscription instead of starting from scratch.

Apply user session time limits at host pool level. Automatically log off disconnected sessions, limit the duration of idle sessions, control empty RemoteApp session behavior and more.

Assign Azure AD users to personal desktops to ensure the user will log into a pre-configured VM. Un-assign personal desktops from users who leave the organization and re-use these VMs for new users.

Pre-configure custom Azure tags for all Azure resources associated with each host pool. Tags can be used for charge-back and cost allocation by host pool.

When creating session hosts using NV-series VMs NVIDIA and AMD GPU drivers are automatically installed.

Move existing host pools from Fall 2019 (Classic) object model to Spring 2020 (ARM) object model. Choose to whether to move or copy user assignments. Existing session hosts are automatically migrated or new ones can be created in the ARM host pool.

Automatically enable and configure AVD integration with Azure monitor. Zero configuration required. Azure Monitor Insights for AVD can be used instead of or in conjunction with Sepago Monitor.

AVD personal desktops to Windows 365 Cloud PC migration (Coming Soon)

Migrate users from AVD personal desktops to Windows 365 Enterprise Cloud PCs using an existing image and user assignment. (Coming soon)


Cloud PC License Usage Optimization (Coming Soon)

Cloud PC device lifecycle management

Cloud PC user group assignment

Intune primary user management on Cloud PCs

Migrate AVD personal desktops to Cloud PCs (Coming Soon)

Get Certified