Load Balancing in VMware Horizon

This is my first article where I write about Propietary Software, specifically about VMware Horizon, which is the VMware’s Virtual Desktops Infrastructure solution. I know I’ll receive some nagging from those free software supporters who read this.

Several customers and users have frequently asked about which or what load balancing scheme to use for the incoming connections, what load balancing is more compatible with VMware Horizon and so on; but VMware does not have nor offer any manufacturer preference about this infrastructure component. Any load balancing system can be useful, but depending on the environment, any scheme can be chosen.

VMware Horizon has a component called View Connection Server, whose function is the administration of the Virtual Desktop Infrastructure, managing and control of user’s sessions to their Virtual Desktop that is assigned, that is either a Floating Desktop, Full Desktop, Phisical Desktop and others. If the View Connection Server fails, the users can not login during this downtime. There is another variable if you have a large user population (above 2000 concurrent sessions), where it is necessary to install another View Connection Server to support that amount of users.

View Connection Server has the limit to support until 2000 concurrent users, and when there are environments with a bigger population, and to avoid View Connection Server as the single point of failre, a load balancer is needed.

In View Connection Server installation options, there is a Replica Mode installation, this is used to synchronize with a previously installed View Connection Server, using ADAM and JMS technologies, making the Replica of the View Connection Server an exact clone of the first one. You can even log in to the Administration Console in any of them to manage the same infrastructure. You can install more Replica Connection Servers in the same way. View Connection Server and neither its Replicas have any kind of technology to load balance the users connections, and this is the reason why to use a third party solution to accomplish this.

Below is a list of different ways to load balance the incomming connections in View Connection Servers.

vSphere HA

vSphere HA is a technology inside the vSphere virtualization platform that provides High Availability in the Virtual Machines that hosts, and comes to action when the Virtual Machines that are selected to protect, and that are located in an ESXi node that fails, reboot in another ESXi node that is a member of the same cluster.

Pros

  • It is a solution already available in the infrastructure, provided by VMware
  • It is not necessary to have a Replica Connection Server
  • It is not necessary to get a load balancer, properly speaking

Cons

  • The Virtual Machine is rebooted, so there is some downtime while the Operating System and its services load
  • If the Operating System can not get up and running again, a reinstall of the Operating System and View Connection is needed, and restoring of the whole configuration of the Virtual Desktop Infrastructure

vSphere Fault Tolerance

vSphere Fault Tolerance is a technology inside the vSphere virtualization platform that provides Fault Tolerance in Virtual Machines selected to protect, those protected Virtual Machines have a “mirror” running in another ESXi node, when the ESXi node fails, the “mirrors” of the protected Virtual Machines start to function in online mode, having the perception that there was no failure.

Pros

  • It is a solution already available in the infrastructure, provided by VMware
  • It is not necessary to have a Replica Connection Server
  • It is not necessary to get a load balancer, properly speaking
  • There is no downtime perceived by the users

Cons

  • It increases the consumption of compute, network and memory in the ESXi cluster
  • The resources for the “mirror” of the protected Virtual Machine must be guaranteed in the ESXi nodes inside the cluster in order to have the “mirror” available
  • The ADAM database may corrupt in the “mirror”, causing a downtime and it may be necessary the restoration of the View Connection Server

Microsoft Windows Network Load Balancing

Microsoft Windows Network Load Balancing is a technology indise Microsoft Windows Server that provides load balancing in native form within the Operating System. This technology allows the traffic distribution between members of the NLB cluster and redirects connections in case of a cluster member fails.

Pros

  • The View Connection Server information is replicated
  • It is a solution already available within the Operating System where View Connection Server is installed, provided by Microsoft
  • There is no downtime

Cons

  • It is necessary to assign more computing and memory resources to the Virtual Machines that are cluster members
  • It is required to dedicate a Virtual Switch with specific configuration for the NLB balancing network
  • The balancing performance of NLB is not desirable in some environments

vCloud Networking and Security: vShield Edge

vCloud Networking and Security is a component part of VMware vCloud that provides VPN, Load Balancing, NAT and DHCP services within the Virtual Infrastructure through Virtual Appliances. vShield Edge is responsable of Load Balancing service between Application Virtual Machines.

Pros

  • It is a properly speaking Load Balancer, and it can be used to balance connections between View Connection Servers
  • The View Connection Server information is replicated
  • It is a solution already available inside the infrastructure, provided by VMware

Cons

Virtual Load Balancer Appliance

This Load Balancer is a Virtual Appliance with all features and functionality that provides a Physical Appliance, with the advantage that it uses resources from the virtual infrastructure and no physical space in the Data Center. This Load Balancer can be proprietary, obtained from a manufacturer or can be a Free or Open Source Load Balancer, there are several choices and alternatives, and a Free or Open Source alternative can be as robust and efficient as a proprietary one.

Pros

  • It is a properly speaking Load Balancer, and it can be used to balance connections between View Connection Servers
  • The View Connection Server information is replicated
  • The Virtual Appliance can be hosted in any virtual infrastructure, inside or outside of the infrastructure asigned to VMware Horizon
  • It provides different balancing algorithms, for any kind of situation

Cons

  • If it is a proprietary solution, the cost of it can be high
  • The compute and memory resources consumed by the virtual appliance in the virtual infrastructure can be relatively high

Physical Load Balancer Appliance

A physical Load Balancer is an appliance that is installed and connected to the Data Center network. This Load Balancer can be proprietary, obtained from a manufacturer, or can be a Free or Open Source Load Balancer, where the software is installed in an available equipment, and can be as robust and efficient as a proprietary, depending of the quality of the equipment hardware where it was installed.

Pros

  • It is a properly speaking Load Balancer, and it can be used to balance connections between View Connection Servers
  • The View Connection Server information is replicated
  • It provides different balancing algorithms, for any kind of situation

Cons

  • If it is proprietary solution, the cost of it can be high
  • If it is Free or Open Source solution, its performance depends of the hardware quality of the equipment where it is installed

Conclusion

Every solution described is suitable depending of the environment where VMware Horizon will be implemented, and there is no preference of which one is better than another. The DNS Round Robin alternative is not listed because actually it is not a real load balancing solution.