Host pools and load balancing

AZ-140 · Plan and implement an Azure Virtual Desktop infrastructure · Updated

A host pool is the collection of session hosts that users connect to. Most design questions on the exam come down to choosing the right type, the right load balancing, and the right supporting settings.

Pooled or personal

PooledPersonal
Session hostsShared by many usersOne user per VM
OSUsually Windows 11 Enterprise multi-sessionWindows 11 Enterprise (single session)
ProfileNeeds FSLogix profile containersLocal profile is fine
AssignmentLoad balancingAutomatic or direct
Typical useTask workers, cost savingDevelopers, admin tools, heavy apps

In a personal pool, automatic assignment gives the user a free host on first sign-in. Direct assignment means an admin assigns each user to a named host.

Load balancing for pooled pools

  • Breadth-first: a new session goes to the host with the fewest sessions. This spreads load evenly and gives the best user experience.
  • Depth-first: a new session goes to the host with the most sessions that is still under the Max session limit. This fills hosts one by one so unused hosts can be stopped.

Max session limit is the cap per host. It matters most for depth-first, where hosts fill to the limit before the next host is used. In both modes a full host receives no new sessions.

Start VM on connect

This setting lets you keep session hosts deallocated and start one when a user connects. It works for pooled and personal pools. Requirements:

  • The Desktop Virtualization Power On Contributor role must be assigned to the Azure Virtual Desktop service principal.
  • Set the option on the host pool (Start VM on connect = Enabled).

It saves money without a schedule. Scaling plans handle scheduled start and stop (see the scaling lesson).

Registration key

Session hosts join a pool with the registration key (token) and the Azure Virtual Desktop agent. You choose an expiry from one hour up to 27 days. When it expires, generate a new key before adding hosts. Existing hosts keep working.

Validation environment

Mark a host pool as a validation environment to receive service updates first. Use it for testing, not production.

Exam traps

  • Load balancing algorithms are for pooled pools only. Personal pools do not have breadth or depth.
  • Depth-first saves cost, breadth-first gives performance. People swap them.
  • Start VM on connect needs a role assignment for the service, not just the checkbox.
  • An expired registration key does not remove existing session hosts; it only blocks new ones.
  • Multi-session Windows needs FSLogix; personal desktops usually do not.

Practice questions

Choose an answer, then review the explanation to check your understanding.

1. Users should each keep the same dedicated VM for every sign-in. Which host pool type and assignment do you choose?

Show answer

Answer: B.A personal host pool gives each user their own session host. Automatic assignment picks one on first sign-in and then keeps it.

2. To save cost, you want users packed onto as few session hosts as possible so idle hosts can be deallocated. Which setting fits?

Show answer

Answer: B.Depth-first sends new sessions to the busiest host until it reaches the Max session limit, leaving other hosts empty.

3. Start VM on connect is enabled, but deallocated session hosts never start. What is the most likely missing piece?

Show answer

Answer: B.The service needs the Desktop Virtualization Power On Contributor role on the subscription (or resource group) to power on VMs.

4. A host pool is personal. Where do you set the load balancing algorithm?

Show answer

Answer: C.Breadth-first and depth-first apply to pooled host pools only. Personal pools use automatic or direct assignment.

AZ-140 course outline

All 7 lessons · Course overview
  1. Host pools and load balancingPlan and implement an Azure Virtual Desktop infrastructure Free
  2. Application groups, workspaces and access rolesPlan and implement an Azure Virtual Desktop infrastructure Free
  3. Microsoft Entra join and sign-in for session hostsPlan and implement identity and security Full access
  4. RDP properties, Conditional Access and session host hardeningPlan and implement identity and security Full access
  5. FSLogix profile containers on Azure FilesPlan and implement user environments and apps Full access
  6. MSIX app attach and app attachPlan and implement user environments and apps Full access
  7. Scaling plans, Insights and disaster recoveryMonitor and maintain an Azure Virtual Desktop infrastructure Full access