Host Pool Architecture: Personal vs Pooled
Design host pool topologies, choose the right Windows OS, organise resource groups, and decide between personal and pooled desktops.
Designing the compute layer
A host pool is like a taxi rank.
A pooled host pool is a taxi rank β any available taxi (session host) picks up the next passenger (user). Nobody owns a specific car. A personal host pool is like having your own assigned parking spot β you always get the same car, customised to your liking. The architecture question is: how many ranks do you need, where do you put them, and which users get their own parking spot?
Resource organisation
Resource group strategies
| Strategy | How it works | Best for |
|---|---|---|
| By host pool | One RG per host pool (containing VMs, NICs, disks, extensions) | Clear lifecycle management β delete the RG to clean up everything |
| By resource type | Separate RGs for networking, compute, storage, AVD objects | Teams with different RBAC responsibilities |
| By team/department | One RG per department (HR pool, Finance pool) | Organisations with departmental cost centres |
Microsoftβs recommended pattern is by host pool β it keeps all related resources together and makes it simple to apply tags, policies, and RBAC at the RG level.
Subscription design
| Pattern | When to use |
|---|---|
| Single subscription | Small to mid-size (under 2,000 session hosts). Simpler management. |
| Multi-subscription | Large enterprise, regulatory separation, blast-radius isolation. Separate subscriptions for production vs dev/test, or by region. |
π’ Raj at TerraStack: βWe use three subscriptions: AVD-Production, AVD-Dev, and AVD-CAD. The CAD team burns through GPU quota fast, and we did not want that to affect the main production pool. Separate subscriptions give us separate Azure quotas.β
Management group hierarchy
Management groups let you apply Azure Policy and RBAC across multiple subscriptions:
- Root management group β Company-wide policies (e.g., allowed regions)
- AVD management group β AVD-specific policies (e.g., required VM extensions, restricted VM sizes)
- Production subscription
- Dev/Test subscription
- CAD subscription
- AVD management group β AVD-specific policies (e.g., required VM extensions, restricted VM sizes)
ποΈ JCβs government structure: βOur Federal Department uses management groups to enforce data-residency policies. AVD session hosts MUST be in Australia East or Australia Southeast. The policy is applied at the management group level so nobody can accidentally create a host pool in a US region.β
Operating system choices
| Feature | Windows 11 Enterprise | Windows 11 Enterprise multi-session | Windows Server 2022 |
|---|---|---|---|
| Sessions per VM | 1 user per VM | Multiple users per VM | Multiple users per VM |
| Host pool type | Personal only | Pooled (most common AVD OS) | Pooled |
| Licensing | Microsoft 365 E3/E5 or Windows E3/E5 | Microsoft 365 E3/E5 or Windows E3/E5 | RDS CAL required (per-user or per-device) |
| Microsoft 365 Apps support | Yes β full support | Yes β full support | Yes β but some features limited |
| Windows Update for Business | Yes | Yes | No β use WSUS or other patching |
| FSLogix profiles | Optional (persistent local profile possible) | Required β profiles roam between session hosts | Required for pooled scenarios |
| Best for | Power users, developers, persistent personalisation | General knowledge workers, call centre, task workers | Organisations with existing RDS CAL investments |
| Azure Local support | Yes | Yes | Yes |
Decision shortcut:
- Default choice for pooled desktops: Windows 11 Enterprise multi-session
- Personal desktops for power users: Windows 11 Enterprise (single-session)
- Windows Server 2022 only when you have existing RDS CALs and do not want to buy Microsoft 365 or Windows E3/E5 licences
Exam tip: Multi-session is unique to Azure
Windows 11 Enterprise multi-session is an Azure-only SKU. You CANNOT run it on-premises, on other clouds, or on Azure Local (except through Azure Virtual Desktop on Azure Local). If the exam asks βwhich OS supports multiple users on a single VM for AVD pooled desktops,β the answer is always Windows 11 Enterprise multi-session (or Windows 10 Enterprise multi-session for older deployments).
Host pool types
Pooled host pools
- Multiple users share session hosts
- Users get assigned to the least-loaded (or most-loaded) session host based on the load-balancing algorithm
- Two algorithms: breadth-first (spreads users evenly β best for performance) and depth-first (fills one VM before moving to the next β best for cost savings with autoscale)
- FSLogix profiles are required because users may land on a different VM each time
Personal host pools
- Each user is assigned a dedicated session host (1:1 mapping)
- Users always connect to the same VM
- Assignment can be direct (admin assigns a specific VM) or automatic (first-time connection assigns the next available VM)
- FSLogix is optional β the userβs profile persists on the local VM
Architecture patterns
| Pattern | Description | Example |
|---|---|---|
| Shared departmental | One large pooled host pool for general knowledge workers | 500-user HR and Finance pool |
| Dedicated team | Separate pooled pools per team for different configurations | Engineering pool with dev tools pre-installed |
| Personal for power users | Personal pool for users who need persistent customisation | CAD designers, data scientists |
| Dev/Test | Isolated pool for testing images and updates | Used with validation host pool feature |
π Priya at NomadTech: βOur 200 remote-first staff span 12 countries. We run two pooled host pools: one in West Europe for EMEA users and one in East US for Americas users. Ben (creative director) and five designers get personal desktops because they install custom Adobe plugins. Everyone else uses pooled.β
Personal desktop assignment
For personal host pools, you choose an assignment type:
| Type | Behaviour | When to use |
|---|---|---|
| Automatic | First available unassigned VM is assigned on the userβs first connection | Simple β good default for most scenarios |
| Direct | Admin manually assigns a specific VM to a specific user | When you need to pre-configure or control which user gets which VM |
To reassign a personal desktop (e.g., an employee leaves), you unassign the user from the session host in the portal or via PowerShell, then assign the new user. The VM retains its state β you may want to reimage it first.
Deep dive: Multi-personal desktop assignment
AVD now supports assigning a user to multiple personal desktops within the same host pool. This is useful when a single user needs different VM configurations β for example, one VM for standard work and another with GPU for design tasks. The LoadBalancerType for the host pool is set to MultiplePersistent. This is a newer feature that the exam may reference.
Validation host pools
A validation host pool receives AVD service updates before production pools. This gives you an early warning if an update breaks something.
- Mark any host pool as a validation pool in its properties
- Microsoft rolls out AVD agent and service updates to validation pools first
- Have a small group of testers use the validation pool daily
- If something breaks, you have time to report the issue before it hits production
π’ Rajβs approach: βWe have a 5-VM validation pool with 20 volunteer testers from IT. They run the same image as production. When an agent update caused a display driver issue last quarter, we caught it 48 hours before it hit the 8,000-user production pool.β
Azure Local for edge scenarios
Azure Local (formerly Azure Stack HCI) lets you run AVD session hosts on-premises. Use cases:
- Data residency β data must stay in a specific physical location
- Low-latency β branch offices with poor internet connectivity
- Regulated industries β healthcare or government requiring on-premises compute
Session hosts run on Azure Local hardware but are managed through the Azure portal, just like cloud-hosted VMs. Host pools can contain a mix of cloud and Azure Local session hosts.
NomadTech has 200 users across 12 countries. Priya needs most users to share VMs for cost efficiency, but 5 designers need persistent custom software installations. What host pool design should she use?
JC's department has a strict policy: all Azure resources for AVD must be in Australian regions only. Where should he apply this Azure Policy?
Raj wants to minimise session host costs during off-peak hours. He enables autoscale to deallocate idle VMs. Which load-balancing algorithm should he pair with autoscale for maximum cost savings?
Next up: Now that you know the architecture, letβs size the VMs properly β Sizing for Performance and Capacity.
π¬ Video coming soon
Host Pool Architecture Deep Dive