¿Qué es un equilibrador de carga?

Un equilibrador de carga permite distribuir dinámicamente el tráfico de red entre los recursos (locales o en la nube) para dar soporte a una aplicación.

Un equilibrador de carga es una solución que actúa como un proxy de tráfico y distribuye el flujo de red o de aplicaciones entre los puntos de conexión de varios servidores. Su principal función es equilibrar la capacidad durante los picos de tráfico y mejorar la fiabilidad de las aplicaciones. Al reducir la carga en servicios o nubes individuales, optimizan el rendimiento general de las aplicaciones. Además, distribuyen la demanda entre distintas superficies de computación, lo que ayuda a mantener la continuidad de las sesiones tanto de aplicaciones como de red.

Las aplicaciones modernas deben procesar millones de sesiones simultáneamente y devolver a cada usuario el texto, los vídeos, las imágenes y otros datos correctos de forma rápida y fiable. Para gestionar volúmenes de tráfico tan elevados, la mayoría de las aplicaciones tienen muchos servidores de recursos con datos duplicados entre ellos.

El equilibrio de carga distribuye el tráfico de red de forma dinámica a través de una red de recursos que soportan una aplicación. Un equilibrador de carga es el dispositivo o servicio que se sitúa entre el usuario y el grupo de servidores y actúa como un facilitador invisible, garantizando que todos los servidores de recursos se utilicen por igual. Un equilibrador de carga ayuda a aumentar la fiabilidad y la disponibilidad, incluso en momentos de gran uso y demanda, y garantiza un mayor tiempo de actividad y una mejor experiencia de usuario.

Ventajas del equilibrio de carga

Los usuarios y clientes dependen de una capacidad casi en tiempo real para encontrar información y realizar transacciones. Los tiempos de espera o las respuestas poco fiables e incoherentes —incluso en los momentos de mayor demanda y uso— pueden alejar a un cliente para siempre. Y los picos elevados de necesidad de computación pueden causar estragos en un servidor interno o en un sistema de servidores si la demanda entrante —o «carga»— es demasiado alta para gestionarse con facilidad.

Entre las ventajas de utilizar un equilibrador de carga figuran las siguientes:

  • Disponibilidad de las aplicaciones: Los usuarios, tanto internos como externos, necesitan poder confiar en la disponibilidad de las aplicaciones. Si una aplicación o función no funciona, se retrasa o se bloquea, se pierde un tiempo precioso y se introduce una fuente potencial de fricción que podría llevar a un cliente a la competencia.
  • Escalabilidad de la aplicación: Imagine que dirige una empresa de venta de entradas y anuncia que las entradas para un espectáculo popular estarán disponibles en una fecha y hora concretas. En ese momento, miles o incluso millones de personas podrían intentar acceder simultáneamente a su sitio para comprar entradas. Sin un equilibrador de carga, su sitio dependería únicamente de la capacidad de su servidor principal, que probablemente no sería suficiente para manejar una demanda tan alta. Sin embargo, al utilizar un equilibrador de carga, puede distribuir las solicitudes y el tráfico entre diferentes superficies de computación disponibles, asegurando que más clientes tengan la oportunidad de conseguir las entradas que desean.
  • Seguridad de las aplicaciones: El equilibrio de carga también permite a las organizaciones escalar sus soluciones de seguridad. Una de las principales formas es distribuyendo el tráfico entre varios sistemas back-end, lo que ayuda a minimizar la superficie de ataque y dificulta el agotamiento de recursos y la saturación de enlaces. Los equilibradores de carga también pueden redirigir el tráfico a otros sistemas si uno de ellos es vulnerable o está en peligro. Además, los equilibradores de carga pueden ofrecer una capa adicional de protección contra ataques DDoS redirigiendo el tráfico entre servidores si uno en particular se vuelve vulnerable.
  • Rendimiento de las aplicaciones: Al llevar a cabo todas estas funciones, un equilibrador de carga mejora significativamente el rendimiento de las aplicaciones. Al incrementar la seguridad, optimizar el tiempo de actividad y facilitar la escalabilidad frente a picos de demanda, los equilibradores de carga garantizan que sus aplicaciones funcionen como se diseñaron y cumplan con las expectativas tanto de usted como de sus clientes.

Algoritmos de equilibrio de carga

Existen dos tipos de algoritmos de equilibrado de carga según su funcionamiento: estáticos y dinámicos. El equilibrado de carga estático mide la carga entrante utilizando algoritmos que cuentan con información sobre la capacidad de rendimiento de los servidores en la red distribuida. Por su parte, el equilibrado de carga dinámico identifica de manera dinámica, durante el tiempo de ejecución, la cantidad de carga que debe redistribuirse y el sistema que debe asumirla. Está diseñado para entornos con grandes fluctuaciones en la carga entrante.

Los siguientes son algunos de los tipos comunes de algoritmos de equilibrio de carga.

  • Round robin: Este algoritmo envía el tráfico a una lista de servidores en rotación utilizando el sistema de nombres de dominio (DNS). (Nota: El equilibrio de carga DNS también puede ser una solución dinámica).
  • Umbral: Este algoritmo distribuye las tareas en función de un valor umbral establecido por el administrador.
  • Aleatorio con dos opciones: El algoritmo de «potencia de dos» selecciona dos servidores al azar y envía la petición al seleccionado aplicando a continuación el algoritmo de «menos conexiones» o el de «menos tiempo», si así se ha configurado.
  • Menos conexiones: Se envía una nueva solicitud al servidor con menos conexiones actuales con clientes. La capacidad de cálculo relativa de cada servidor se tiene en cuenta para determinar cuál tiene menos conexiones o cuál está utilizando menos ancho de banda o recursos.
  • Menos tiempo: En este algoritmo, una solicitud se envía al servidor seleccionado mediante una fórmula que combina el tiempo de respuesta más rápido y el menor número de conexiones activas.
  • Hash de URL: Este algoritmo genera un valor hash basado en la URL contenida en las solicitudes de los clientes. Las solicitudes se redirigen a los servidores según el valor hash calculado. El equilibrador de carga almacena en caché este valor hash, de manera que las solicitudes posteriores que utilicen la misma URL obtengan el resultado desde la caché y se reenvíen al mismo servidor.
  • Hash de IP de origen: Este algoritmo utiliza las direcciones IP de origen y destino del cliente para generar una clave hash única que vincula al cliente con un servidor concreto. Como la clave puede regenerarse si la sesión se desconecta, esto permite que las solicitudes de reconexión se redirijan al mismo servidor utilizado anteriormente.
  • Hashing coherente: Este algoritmo asigna tanto a los clientes como a los servidores a una estructura de anillo, en la que cada servidor tiene asignados varios puntos según su capacidad. Cuando llega una solicitud de un cliente, se le asigna un punto en el anillo y, a continuación, se redirige dinámicamente en el sentido de las agujas del reloj al siguiente servidor disponible.

¿Cómo funciona el equilibrio de carga?

El equilibrio de carga responde estática o dinámicamente a la solicitud de un usuario y la distribuye a uno de los servidores back-end capaces de satisfacerla. Si uno de los servidores se cae, el equilibrador de carga redirige el tráfico al resto de servidores en línea.

Ejemplos de equilibrio de carga

Ejemplo de equilibrio de carga estático: Una empresa aloja un sitio web con contenido mayoritariamente estático. Este escenario sería ideal para un equilibrador de carga estático porque las necesidades de tráfico son predecibles y constantes. La empresa puede utilizar dos (o más) servidores web idénticos entre los que el equilibrador de carga estático puede distribuir el tráfico.

Ejemplo de equilibrio de carga dinámico: Una empresa experimenta aumentos, picos y caídas de tráfico. Algunos son predecibles y otros no. Estas organizaciones se beneficiarían del equilibrio de carga dinámico. Estas empresas podrían incluir a un minorista de comercio electrónico que anuncia las horas y fechas del Black Friday, una empresa de atención sanitaria que ha habilitado la programación en línea para citas de vacunas estacionales, una agencia gubernamental de desempleo que requiere que los beneficiarios presenten una solicitud semanal en un día específico de la semana, o una organización de ayuda que necesita responder rápidamente en línea ante un desastre natural. Algunos de estos picos y aumentos en el tráfico y la demanda pueden planificarse, pero otros no. En estos escenarios, un algoritmo de equilibrado de carga dinámico asegura el acceso a las aplicaciones y recursos cuando los clientes y usuarios más lo necesitan.

Diferentes tipos de equilibradores de carga

Diferentes tipos de equilibradores de carga con distintas capacidades residen en la arquitectura denominada modelo de interconexión de sistemas abiertos (OSI). En este modelo hay siete capas. Los cortafuegos de red se encuentran en los niveles uno a tres (C1, cableado físico; C2, enlace de datos; y C3, red). Mientras tanto, el equilibrio de carga se produce en las capas cuatro a siete (C4, transporte; C5, sesión; C6, presentación; y C7, aplicación). Los equilibradores de carga se utilizan generalmente en las capas cuatro y siete.

  • Los equilibradores de carga de capa 4 dirigen el tráfico basándose en los datos de los protocolos de capa de red y transporte (IP, TCP, FTP, UDP).
  • Los equilibradores de carga de capa 7 distribuyen las solicitudes basándose en los datos que se encuentran en los protocolos de la capa de aplicación, como los encabezados HTTP, las cookies, el identificador uniforme de recursos, el identificador de sesión SSL y los datos de formularios HTML. También permiten tomar decisiones de enrutamiento basadas en datos del propio mensaje de aplicación, como el valor de un parámetro específico. La capa 7 añade la conmutación de contenidos al equilibrio de carga.

Equilibradores de carga basados en la nube

Los equilibradores de carga basados en la nube no son solo controladores de tráfico para los picos de tráfico y para optimizar el uso de los servidores. Los equilibradores de carga nativos de la nube también pueden proporcionar análisis predictivos para ayudarle a visualizar los cuellos de botella del tráfico antes de que se produzcan. Esto, a su vez, proporciona información procesable para ayudar a cualquier empresa a optimizar sus soluciones de TI.

Equilibrio de carga de aplicaciones: A medida que las empresas dependen cada vez más del rendimiento y la disponibilidad de las aplicaciones, el equilibrio de carga de aplicaciones puede ayudarles a escalar, agilizar las operaciones y ahorrar dinero.

Global Server Load Balancing Con usuarios y clientes en todo el mundo, las empresas pueden mejorar su disponibilidad de carga con Global Server Load Balancing, que envía a los usuarios al punto de conexión que tienen más cerca.

Equilibrio de carga de DNS: La práctica de configurar un dominio en el sistema de nombres de dominio (DNS) para que las solicitudes de los usuarios al dominio se distribuyan entre un grupo de máquinas servidoras se denomina equilibrio de carga DNS.

Equilibrio de carga de red: Los controladores de entrega de aplicaciones (ADC), dispositivos físicos o virtuales que funcionan como proxies para servidores físicos, gestionan funciones de aplicación o de red y dependen de una solución de equilibrio de carga de red para su soporte.

Equilibrio de carga HTTP(S): La técnica para distribuir el tráfico entre varios grupos de servidores web o de aplicaciones para optimizar la utilización de los recursos se denomina equilibrio de carga HTTP(S).

Equilibrio de carga interno: Un equilibrador de carga interno está asignado a una subred privada y no tiene IP pública. Suele funcionar dentro de una granja de servidores.

Diámetro: Un equilibrador de carga de diámetro distribuye el tráfico de señalización entre varios servidores de una red. Una de las formas más rentables de hacerlo es escalar el plano de control de diámetro en lugar de la capa de transporte de datos. (El equilibrio de carga de diámetro también puede ser tanto estático como dinámico).

Tecnología del equilibrador de carga

Existen otros tipos de soluciones de equilibradores de carga, que pueden utilizarse solos o en una red con equilibradores de carga nativos de la nube. A continuación se indican algunos tipos destacados.

Equilibrador de carga de hardware: Un equilibrador de carga de hardware es un dispositivo físico con un sistema operativo especializado que puede programarse para distribuir el tráfico web entre varios servidores de aplicaciones, normalmente locales.

Equilibrador de carga de software: Un equilibrador de carga de software funciona como un equilibrador de carga físico, pero se ejecuta en programas de software. El software mantiene las aplicaciones disponibles a través de todo tipo de demandas de tráfico, utilizando el equilibrio de carga estático y dinámico para eliminar los puntos únicos de fallo.

Equilibrador de carga virtual: Un tipo de equilibrador de carga que combina equilibradores de carga de hardware y software es un equilibrador de carga virtual. Utiliza software de controlador de entrega de aplicaciones que ayuda a distribuir la carga de tráfico de red entre los servidores back-end de hardware.

Cómo puede ayudar F5

Encontrar el equilibrador de carga adecuado para las necesidades de su organización es esencial para garantizar la disponibilidad y optimización de sus sistemas, el acceso a sus datos y la satisfacción de sus usuarios y clientes.

F5 puede abordar las necesidades específicas de equilibradores de carga de su organización, desde una solución estática hasta una solución integrada y global que combine los puntos fuertes de los equilibradores de carga basados en hardware, software y en la nube. F5 tiene un algoritmo o solución de equilibrio de carga para sus necesidades empresariales únicas.

Los servicios de aplicaciones BIG-IP proporcionan una solución integrada para gestionar, escalar y optimizar sus servicios de aplicaciones digitales. Y BIG-IP Local Traffic Manager (LTM) incluye equilibrio de carga estático y dinámico para eliminar los puntos únicos de fallo. F5 BIG-IP DNS lleva el equilibrio de carga a través de las aplicaciones y lo aplica globalmente, garantizando que sus aplicaciones estén activas y respondan a las necesidades de sus clientes.

F5 Distributed Cloud DNS Load Balancer ofrece una sencilla solución de equilibrio de carga con recuperación ante desastres fiable, para que sus equipos de desarrollo puedan centrarse en ayudar a su empresa a innovar.

F5 Distributed Cloud App Connect ayuda a permitir el equilibrio de carga conectando de forma segura sus aplicaciones y servicios en cualquier tipo de entorno, incluido el borde.

F5 ofrece un completo conjunto de soluciones de equilibrio de carga para mantener optimizadas sus aplicaciones, tráfico, datos y superficie de computación.

Recursos

DOCUMENTACIÓN TÉCNICA

DOCUMENTACIÓN TÉCNICA
Load Balancing 101: Nuts and Bolts › (Equilibrio de carga 101: componentes clave)

CASOS DE USO

CASOS DE USO
Load Balancing Your Applications › (Equilibrio de carga de sus aplicaciones)

GLOSARIO

GLOSARIO
What Is a Diameter Load Balancer? › (¿Qué es un equilibrador de carga de diámetro?)

FICHA TÉCNICA

FICHA TÉCNICA
Big-IP Local Traffic Manager: Application Delivery, at Scale › (Big-IP Local Traffic Manager: entrega de aplicaciones a escala)

DOCUMENTACIÓN TÉCNICA

DOCUMENTACIÓN TÉCNICA
Load Balancing on AWS: Know Your Options › (Equilibrio de carga en AWS: sus opciones)

DOCUMENTACIÓN TÉCNICA

DOCUMENTACIÓN TÉCNICA
Load Balancing 101: The Evolution to ADCs › (Equilibrio de carga 101: la evolución hacia los ADC)