Session Host
A single VM within a host pool on which user sessions actually run. Session hosts are the workhorses of an AVD estate — this is where the computing happens, where the applications run and where resources get optimised.
What is a session host?
A session host is a single virtual machine in an Azure Virtual Desktop host pool on which users open their remote sessions. Depending on the host pool type:
- Personal Host Pool: 1 Session Host = 1 User
- Pooled Host Pool: 1 session host = several users at once (multi-session)
Session hosts are ordinary Azure VMs with the AVD agent software installed. They register with the AVD broker service, which then routes user sign-ins to them.
What runs on a session host?
| Component | Purpose | Required / optional |
|---|---|---|
| Windows 10/11 Enterprise (Multi-Session) | The base operating system | Required |
| AVD Agent | Registers the VM with the broker | Required |
| Boot Loader | Connects the session host to the AVD back end | Required |
| FSLogix | Profile management | Strongly recommended |
| Microsoft Teams Media Optimization | Audio/video redirection | Recommended |
| Intune Agent / MDE | Endpoint management & security | Recommended |
| Monitoring agent | Azure Monitor, Log Analytics | Recommended |
| Line-of-Business Apps | Business applications | As needed |
Which Azure VM sizes for session hosts?
The right VM size depends on the workload, the host pool type and the target density:
| SKU | vCPU / RAM | Target workload | Typical users per VM |
|---|---|---|---|
| D2s_v5 | 2 / 8 GB | Personal Desktop (Light) | 1 |
| D4s_v5 | 4 / 16 GB | Personal Desktop (Standard) | 1 |
| D8s_v5 | 8 / 32 GB | Multi-Session Office | 6-10 |
| D16s_v5 | 16 / 64 GB | Multi-Session Power | 10-15 |
| E8s_v5 | 8 / 64 GB (Memory-optimized) | Multi-session office, RAM-bound; SAP GUI | 14-18 |
| NVv4 (NV12ads A10) | 12 / 110 GB + GPU | CAD, 3D, Video | 1 (Personal) |
| NCasT4_v3 | 4 / 28 GB + T4 GPU | AI/ML, deep learning | 1-2 |
Premium SSD vs standard SSD
For session hosts, always use premium SSD (P10 or P15). OS disk I/O is a bottleneck in multi-session — standard SSD makes sign-in noticeably slower for every user.
Session host life cycle
A typical life cycle
- Provisioning — creating the VM from the gold image (Azure template, Nerdio, or manually)
- Domain join — joining Microsoft Entra ID or on-premises AD
- Agent installation — the AVD agent with a registration token
- Pool assignment — the VM joins the host pool and becomes available to users
- Active phase — users work, monitoring runs, autoscaling optimises
- Patching — updates through Intune or Nerdio, ideally automated
- Drain mode — before maintenance: no new users, running sessions ended
- Rebuild/Retire — replace with a new image (multi-session VMs typically have short life cycles)
Best Practice: Cattle, not Pets: Session hosts should be treated as cattle, not pets — replaceable, interchangeable, impersonal. If a VM causes trouble: throw it away and rebuild it from the image. Never repair it laboriously. That only works if profiles and data sit centrally (FSLogix) and application configuration is automated.
Session-Host-Sizing in DaaS Maps
DaaS Maps shows session host sizing recommendations for different workloads, with real cost scenarios. For a conversation about VM sizing and session host patterns, you will find me on LinkedIn.