¿Qué es el balanceo de carga definido por software?
El balanceo de carga definido por software es la forma en que los administradores enrutan el tráfico de red a diferentes servidores. Los balanceadores de carga evalúan las solicitudes de los clientes examinando las características de las aplicaciones (la dirección IP, el encabezado HTTP y el contenido de la solicitud). A continuación, el balanceador de carga examina los servidores y determina a cuál enviar la solicitud.

Descripción del balanceo de carga moderno

Ficha de VMware NSX Advanced Load Balancer (de Avi Networks)
¿En qué se diferencia del balanceo de carga definido por hardware?
El balanceo de carga definido por software se suele ofrecer como una función del controlador de distribución de aplicaciones (ADC) que se ejecuta en un servidor estándar o una máquina virtual. Un dispositivo de balanceo de carga definido por hardware (HLD) es una pieza de hardware independiente que ejecuta software de balanceo de carga. Estos dispositivos se suelen implementar en pareja, por si uno de ellos falla. El balanceo de carga definido por software ofrece la misma funcionalidad que un HLD, pero no requiere ningún dispositivo dedicado de balanceo de carga. El software de balanceo de carga se puede ejecutar en un servidor normal o incluso en uno virtual.
¿Cómo funciona el balanceo de carga definido por software?
El balanceo de carga definido por software hace lo mismo que el balanceo de carga definido por hardware: distribuye el tráfico entre un grupo de servidores de acuerdo con el algoritmo elegido.
La distribución de cargas de trabajo entre varios servidores mediante el balanceo de carga puede hacer que la red sea más eficiente y fiable. El balanceo de carga aumenta la capacidad de una red, ya que utiliza los servidores disponibles de una manera más eficiente. Por consiguiente, hace que la red se ejecute más rápido gracias a que las cargas de trabajo no se quedan bloqueadas en un servidor sobrecargado mientras otros servidores no se están utilizando. El balanceo de carga también garantiza un tiempo de actividad ininterrumpido cuando un servidor falla, porque el tráfico del servidor que ha fallado se desvía a servidores que sí están funcionando.
¿Qué tipos de balanceo de carga existen?
Los balanceadores de carga basados en software se pueden instalar directamente en un servidor, o bien se pueden adquirir como balanceadores de carga como servicio (LBaaS). En el caso de los LBaaS, el proveedor de servicios se encarga de instalar, configurar y gestionar el software de balanceo de carga. El balanceador de carga basado en software puede estar ubicado en las instalaciones o fuera de ellas.
Al igual que los servidores, los dispositivos de balanceo de carga pueden ser físicos o virtuales. Tanto los dispositivos físicos (balanceo de carga definido por hardware) como los virtuales (balanceo de carga definido por software) evalúan las solicitudes de los clientes y el uso de los servidores en tiempo real, y envían las solicitudes a diferentes servidores en función de diversos algoritmos. El destino del tráfico depende de la política de balanceo de carga establecida por el administrador.
Métodos de balanceo de carga
Los balanceadores de carga utilizan uno de los siguientes métodos para determinar dónde enviar el tráfico de red:
- Algoritmo Round Robin: es el método más sencillo de balanceo de carga. Tan solo mueve las solicitudes por una lista de servidores disponibles por orden.
- Algoritmo de menos conexiones: se trata de un método un poco más sofisticado. Envía solicitudes a los servidores menos ocupados, es decir, a los servidores que estén procesando la menor cantidad de cargas de trabajo en un momento determinado.
- Algoritmo de menos tiempo: va un paso más allá, y elige los servidores en función de la velocidad de procesamiento más rápida y del menor número de solicitudes activas. Este enfoque puede integrar algoritmos de balanceo de carga ponderados que dan preferencia de forma sistemática a los servidores con más capacidad, recursos informáticos o memoria.
- Algoritmo basado en hash: en este último método, el dispositivo de balanceo de carga asigna una clave hash única a las direcciones IP de origen y destino del cliente y el servidor. De este modo se garantiza que, si el mismo usuario vuelve y hace otra solicitud, esa solicitud de usuario se dirigirá al mismo servidor que se estaba utilizando antes. Además, el servidor conservará todos los datos introducidos durante las sesiones anteriores.
¿Por qué se utiliza el balanceo de carga definido por software?
El balanceo de carga definido por software está ganando popularidad porque ofrece varias ventajas en comparación con el balanceo de carga definido por hardware:
- Escalabilidad: la mayor ventaja que ofrecen los balanceadores de carga definidos por software en comparación con los dispositivos de balanceo de carga definido por hardware es su escalabilidad. Los balanceadores de carga definidos por software pueden añadir o eliminar servidores virtuales según la demanda, respondiendo automáticamente y en tiempo real a las fluctuaciones en el tráfico de red.
- Flexibilidad: los balanceadores de carga definidos por software también son más flexibles que los balanceadores de carga definidos por hardware, ya que son compatibles con diversos entornos. Se pueden programar para que funcionen con sistemas operativos estándar de sobremesa, entornos de nube, servidores bare metal, servidores virtuales y contenedores. Los balanceadores de carga definidos por hardware no son tan flexibles porque no son programables.
- Coste: las organizaciones pueden ahorrar dinero con los balanceadores de carga definidos por software, especialmente si utilizan LBaaS. Aunque una organización de TI compre sus propios balanceadores de carga definidos por software, el coste se suele considerar un gasto operativo en lugar de una inversión en capital, que sería el caso de los balanceadores de carga definidos por hardware.
- Facilidad de implementación: los balanceadores de carga definidos por hardware pueden ser difíciles y caros de instalar, pero los balanceadores de carga definidos por software son fáciles de implementar según las necesidades, lo cual ahorra tiempo y dinero.
- Seguridad: por último, el software de balanceo de carga que se encuentra entre el cliente y el servidor ofrece una capa adicional de seguridad, ya que cuenta con la capacidad de rechazar paquetes sospechosos antes de que lleguen al servidor.
Si bien el balanceo de carga definido por software parece ofrecer algunas ventajas claras en comparación con el balanceo de carga definido por hardware, las organizaciones de TI deben determinar las necesidades de su empresa para después sopesar las ventajas y desventajas del balanceo de carga definido por hardware, el definido por software y el ofrecido como servicio. Las organizaciones que duden entre un balanceador de carga definido por software y uno definido por hardware también deberían sopesar las ventajas de cada uno en el contexto de la gestión del presupuesto. Cualquier tipo de balanceo de carga, cuando se configura y gestiona correctamente, puede hacer que una red sea más eficiente y fiable.
Productos y soluciones relacionados
Soluciones de balanceo de carga multinube
Seguridad y capacidad de respuesta siguiendo un enfoque sencillo y moderno en cuanto al balanceo de carga
NSX Advanced Load Balancer
Plataforma de balanceo de carga multinube
NSX Data Center
Plataforma de virtualización de la red y la seguridad