Autoscale glossary for Azure Virtual Desktop
This article is a list of definitions for key terms and concepts related to the autoscale feature for Azure Virtual Desktop.
Autoscale is Azure Virtual Desktop’s native scaling service that turns VMs on and off based on the number of sessions on the session hosts in the host pool and which phase of the scaling plan schedule the workday is in.
Azure Virtual Desktop’s scaling tool uses Azure Automation and Azure Logic Apps to scale the VMs in a host pool based on how many user sessions per CPU core there are during peak and off-peak hours.
A scaling plan is an Azure Virtual Desktop Azure Resource Manager object that defines the schedules for scaling session hosts in a host pool. You can assign one scaling plan to multiple host pools. Each host pool can only have one scaling plan assigned to it.
Schedules are sub-resources of scaling plans that specify the start time, capacity threshold, minimum percentage of hosts, load-balancing algorithm, and other configuration settings for the different phases of the day.
The ramp-up phase of a scaling plan schedule is usually at the beginning of the work day, when users start to sign in and start their sessions. In this phase, the number of active user sessions usually increases at a rapid pace without reaching the maximum number of active sessions for the day yet.
The peak phase of a scaling plan schedule is when your host pool reaches the maximum number of active user sessions for the day. In this phase, the number of active sessions usually holds steady until the peak phase ends. New active user sessions can be established during this phase, but usually at a slower rate than the ramp-up phase.
The ramp-down phase of a scaling plan schedule is usually at the end of the work day, when users start to sign out and end their sessions for the evening. In this phase, the number of active user sessions usually decreases rapidly.
The off-peak phase of the scaling plan schedule is when the host pool usually reaches the minimum number of active user sessions for the day. During this phase, there aren't usually many active users, but you can keep a small amount of resources on to accommodate users who work after the peak and ramp-down phases.
Available session host
Available session hosts are session hosts that have passed all Azure Virtual Desktop agent health checks and have VM objects that are powered on, making them available for users to start their user sessions on.
- If the used host pool capacity is below the capacity threshold and autoscale can turn off virtual machines (VMs) without going over the capacity threshold, then the feature will turn off the VMs.
- If the used host pool capacity goes over the capacity threshold, then autoscale will turn on more VMs until the used host pool capacity goes below the capacity threshold.
Available host pool capacity
Available host pool capacity is how many user sessions a host pool can host based on the number of available session hosts. The available host pool capacity is the host pool's maximum session limit multiplied by the number of available session hosts in the host pool.
In other words:
Host pool maximum session limit × number of available session hosts = available host pool capacity.
Used host pool capacity
The used host pool capacity is the amount of host pool capacity that's currently taken up by active and disconnected user sessions.
In other words:
Scaling actions are when autoscale turns VMs on or off.
Minimum percentage of hosts
Active user session
A user session is considered "active" when the user signs in and connects to their remote app or desktop resource.
Disconnected user session
A disconnected user session is an inactive session that the user hasn't signed out of yet. When a user closes the remote session window without signing out, the session becomes disconnected. When a user reconnects to their remote resources, they'll be redirected to their disconnected session on the session host they were working on. At this point, the disconnected session becomes an active session again.
An exclusion tag is a property of a scaling plan that's a tag name you can apply to VMs that you want to exclude from scaling actions. Autoscale only performs scaling actions on VMs without tag names that match the exclusion tag.