Balanceo de Cargas en VMware Horizon

Este es el primer artículo donde hablaré de Software Propietario, siendo específico de VMware Horizon, el cual es la solución de Infraestructura de Escritorios Virtuales de VMware. Sé que me lloverán varios serios jitomatazos de los softwarelibreros que lean.

Varios clientes y usuarios me han preguntado frecuentemente sobre qué o cual esquema de balanceador de cargas usar para las conexiones entrantes, que cuál balanceador de cargas es el mejor compatible con VMware Horizon, etcétera, y es que VMware no tiene ni ofrece ninguna preferencia de fabricante sobre ésta parte de la infraestructura, cualquier sistema de balanceo de cargas puede ser útil, pero dependiendo del escenario, se puede optar por algun esquema.

VMware Horizon tiene un componente llamado View Connection Server, cuya función es la administración de la Infraestructura de Escritorios Virtuales, y el control y manejo de las sesiones de los usuarios hacia el Escritorio Virtual que tengan asignado, ya sea escritorio Flotante, Completo, Designado, Físico, etcétera. Si el View Connection Server falla, los usuarios que quieran ingresar no podrán hacerlo durante el periodo de caída del componente. También hay otra variable, si se tiene una población de usuarios muy grande (más de 2,000 sesiones concurrentes), será necesario colocar otro View Connection Server para soportar esa cantidad de usuarios.

View Connection Server tiene el límite de soportar hasta 2,000 usuarios concurrentes, lo cual en escenarios de una población mayor, y para evitar que View Connection Server sea el único punto de fallo, es necesario balancearlo.

Entre las opciones de Instalación de View Connection Server, existe la instalación en Modo Réplica, lo que hace es consultar a un View Connection Server previamente instalado, y empezará a replicar la información con éste usando ADAM y JMS, de tal modo que ambos View Connection Servers contendrán exactamente la misma información de la Infraestructura, y esta se puede administrar conectándose a cualquiera de los 2 o más instalados; claro está, View Connection Server y sus Réplicas no cuentan con ningún tipo de tecnología para balancear las conexiones de los usuarios entre éstos, es por eso que hay que recurrir a una solución de terceros para lograr éste cometido.

Listaré ahora los diferentes esquemas para poder balancear la carga entre los View Connection Servers.

vSphere HA

vSphere HA es una tecnología en la plataforma de Virtualización vSphere que proporciona Alta Disponibilidad de las Máquinas Virtuales que hospeda, y entra en acción cuando las Máquinas Virtuales que nosotros hayamos indicado para proteger, y que se encuentran en un nodo ESXi que falla, éstas Máquinas Virtuales protegidas son reiniciadas en otro nodo ESXi que se encuentre en el clúster.

Ventajas

  • Se usa una tecnología ya existente en la Infraestructura, proporcionada por VMware
  • No es necesario tener una Réplica de View Connection Server
  • No es necesario conseguir un Balanceador de Cargas propiamente dicho

Desventajas

  • La Máquina Virtual es reiniciada, por lo tanto habrá un tiempo de caída en lo que se inicia el Sistema Operativo de nuevo y los servicios
  • Si el Sistema Operativo no logra levantar de nuevo, es necesario reinstalarlo, reinstalar View Connection Server y restaurar toda la configuración de la Infraestructura de Escritorios Virtuales

vSphere Fault Tolerance

vSphere Fault Tolerance es una tecnología en la plataforma de Virtualización vSphere que proporciona Tolerancia a Fallas de las Máquinas Virtuales que elegimos proteger, y entra en acción cuando las Máquinas Virtuales protegidas, ejecutandose en “espejo” en otro nodo ESXi, se pierden cuando el nodo ESXi que las tiene en ejecución falla, provocando que el “espejo” empiece a operar inmediatamente después de la falla, causando una percepción de que no existió la falla.

Ventajas

  • Se usa una tecnología ya existente en la Infraestructura, proporcionada por VMware
  • No es necesario tener una Réplica de View Connection Server
  • No es necesario comprar un Balanceador de Cargas propiamente dicho
  • No se percibe tiempo de caída

Desventajas

  • Aumenta el consumo de cómputo, red y memoria en el clúster ESXi
  • Hay que tener asegurados y garantizados los recursos de consumo de la Máquina Virtual en los nodos ESXi del clúster para que el “espejo” esté disponible
  • La base de datos ADAM podría corromperse en el “espejo” de Fault Tolerance, ocasionando una caída y será necesaria la restauración de View Connection Server

Microsoft Windows Network Load Balancing

Microsoft Windows Network Load Balancing es una tecnología dentro de Microsoft Windows Server que permite el balanceo de cargas de manera nativa dentro del Sistema Operativo. Esta tecnología permite distribuír el tráfico entre los miembros del clúster NLB y redirigir las conexiones en caso de que uno de los miembros falle.

Ventajas

  • Se tiene la información de View Connection Server replicada entre varios
  • Se usa una tecnología ya existente en el Sistema Operativo donde se instala View Connection Server, proporcionada por Microsoft
  • No hay tiempo de caída

Desventajas

  • Es necesario asignarles más recursos de procesador y memoria a las Máquinas Virtuales miembros
  • Se requiere dedicar un Virtual Switch con configuraciones específicas para la red de balanceo de NLB
  • El rendimiento de balanceo de NLB en ciertos escenarios no es el deseable

vCloud Networking and Security: vShield Edge

vCloud Networking and Security es un componente de VMware vCloud que proporciona servicios de VPN, Balanceo de Carga, NAT y DHCP dentro de la Infraestructura Virtual a través de Virtual Appliances. vShield Edge es el encargado del Balanceo de Carga entre Máquinas Virtuales.

Ventajas

  • Es un Balanceador de Cargas propiamente dicho, y se puede usar para balancear conexiones entre View Connection Servers
  • Se tiene la información de View Connection Server replicada entre varios
  • Se usa una tecnología ya existente en la Infraestructura, proporcionada por VMware

Desventajas

Balanceador de Cargas Virtual

Un Balanceador de Cargas Virtual es un Virtual Appliance con todas las características que proporciona un Balanceador de Cargas Físico, con la ventaja de que ocupa recursos en la Infraestructura Virtual y no espacio en el Centro de Datos. Éste Balanceador de Cargas puede ser propietario, comprado con algún fabricante o puede ser un Balanceador de Cargas Libre o Abierto, en donde también hay muchas opciones y puede ser tan robusto y eficiente o más que uno propietario.

Ventajas

  • Es un Balanceador de Cargas propiamente dicho, y se puede usar para balancear conexiones entre View Connection Servers
  • Se tiene la información de View Connection Server replicada entre varios
  • El Virtual Appliance puede estar hospedado en cualquier infraestructura virtual, dentro o fuera de la asignada para VMware Horizon
  • Cuenta con diferentes algoritmos de balanceo, acorde para cualquier situación

Desventajas

  • Si es propietario, el costo para comprarlo puede ser muy alto
  • Los recursos de cómputo y memoria consumidos en la infraestructura virtual pueden ser relativamente altos para su función

Balanceador de Cargas Físico

Un Balanceador de Cargas Físico es un aparato que se instala y se conecta en la red del Centro de Datos para poder funcionar como tal. Éste Balanceador de Cargas puede ser propietario, comprado con algún fabricante, o puede ser un Balanceador de Cargas Libre o Abierto, instalado dentro de un equipo disponible, y que puede ser tan robusto y eficiente que uno propietario, dependiendo también de la calidad de Hardware del equipo donde fue instalado.

Ventajas

  • Es un Balanceador de Cargas propiamente dicho, y se puede usar para balancear conexiones entre View Connection Servers
  • Se tiene la información de View Connection Server replicada entre varios
  • Cuenta con diferentes algoritmos de balanceo, acorde para cualquier situación

Desventajas

  • Si es propietario, el costo de adquisición es muy alto
  • Si es libre o abierto, su desempeño depende de la calidad de Hardware donde fue instalado

Conclusión

Cada esquema descrito es idóneo dependiendo del escenario donde se vaya a implementar VMware Horizon, y no hay ninguna preferencia de cuál es mejor que otro. No listé tampoco el esquema de DNS Round Robin porque eso no es balanceo de carga visto desde el punto de vista del equipo cliente que se vaya a conectar a un Escritorio Virtual.