This example describes how Horizon Cloud provisions a new farm's server virtual machines (VMs) and manages them for rolling maintenance.
In the New Farm wizard, this farm is sized as:
Min Servers = 1
Max Servers = 3
Sessions per Server = 20
In the creation workflow:
All three server VMs are fully configured in Microsoft Azure: powered on and joined to the domain.
Then servers 2 and 3 are powered down to save the cost of running them.
Server 1 remains powered up and ready to provide user sessions.
As users log on, they are given sessions on server 1. When the occupancy of the available servers, server 1 here, reaches the power management threshold, then another server is powered on (server 2). When two servers are powered on, new user sessions are placed on the least loaded server so that sessions are load balanced between the two powered-on servers. When the number of user sessions reaches next occupancy threshold as calculated across both powered-on servers, the next server powers on (server 3).
As users log off of their sessions:
When the occupancy drops below the low threshold, then one of the servers is marked for quiescing. Typically, the system marks the least loaded server for quiescing.
Once marked, existing sessions stay on that server, but no new user sessions are accepted for that server. At that point, any new sessions are only placed on the running servers.
When all of the users with existing sessions on the marked server have logged off, Horizon Cloud powers off that server.
The above steps repeat until the number of running servers reaches the Min Servers value.
A best practice for virtual machine maintenance is to restart the VMs from time to time, to clear out cached resources or any memory leaks from third-party applications in the VM. The Horizon Cloud rolling maintenance feature provides for restoring normal health across the farm in an automated way. The typical action is to restart the VMs. Horizon Cloud offers an additional option to rebuild the server VMs, by deleting the VMs and reprovisioning them based on the latest published image used for that farm. The rebuild option provides a convenient way to ripple image updates across the farm's servers automatically and regularly. The rebuild option avoids needing manual intervention as a part of routine operations.
At any one time, the system only quiesces the number of servers configured for the farm's Concurrent Quiescing Servers value. As set by the Maintenance Type configured for the farm's rolling maintenance, the system goes through each of the servers and performs the specified maintenance action. The action is not performed on servers that have active user sessions nor on more than the number set in Concurrent Quiescing Servers.