Microsoft have recently announced the Preview of Autoscale for Azure Virtual Desktop and at first blush it looks like native scaling has had some much-needed improvements.
The previous incarnation was a little clumsy, requiring you to independently create an automation account, an Azure function and optionally, a Log Analytics Workspace. In addition, any parameters then had to be imported into the function separately. This resulted in a very simple peak/off-peak time system which allowed the number of hosts to scale up and down after fixed time triggers.
We found that, in practice, this led to log-on storms because the solution could not bring hosts online quickly enough to cope with the number of users all starting work at the same time. Thus, users were left with either error messages or worse, black screens when logging in until enough hosts were brought online. Because of this, we soon switched to using the Azure Automation On/Off solution to bring the hosts online just before all the users started work.
The new Autoscale solution has a little more refinement to help avoid this scenario. Instead, it introduces the concept of Ramp Up and Ramp Down phases. These allow AVD to start scaling hosts before the peak time begins and after it ends. In both ramp up and ramp down mode, you specify a capacity threshold that will trigger the start of the ramp up and peak phases. For example, if you choose 40% for a host pool that can handle 100 sessions, Autoscale will turn on additional hosts once the host pool goes over 40 sessions. Ramp down also has an option to force logoff of users. Peak and off peak times are specified separately to the ramp up and ramp down times.
The old solution also only allowed the load-balancing algorithm to be set to Breadth First – this distributes new user sessions across all available sessions in the host pool. Now you can also use Depth First which distributes new sessions to any available session host with the highest number of connections that hasn’t reached its session limit yet.
On top of these improvements, very conveniently the solution is now built directly into the AVD portal settings so there’s no longer a need to create any more resources independently. We’ve not seen any reference to PowerShell, ARM or Bicep support for the new autoscale but we are sure that they will be along very soon.
So, exciting times for AVD – it’s good to see that Microsoft continue to develop and improve it with these important quality of life developments. We’ve yet to deploy the new solution on a production deployment as it’s still in preview but it does appear that AVD autoscaling has, if not come of age, certainly reached its teens.