PREGUNTAS FRECUENTES

Pongámonos técnicos

Glosario y FAQ de Terminología de Equilibrio de Carga

La tecnología de equilibrio de carga ha evolucionado considerablemente en los últimos años y, en consecuencia, la terminología asociada a la entrega de aplicaciones se ha vuelto bastante confusa. Con un montón de acrónimos y jerga técnica, es fácil sentirse abrumado al buscar soluciones de equilibrio de carga.

Un equilibrador de carga es un dispositivo de red responsable de la distribución eficaz del tráfico de red entrante entre varios servidores backend para garantizar unos servicios de aplicación siempre disponibles. Los equilibradores de carga pueden desplegarse como dispositivos de software, dispositivos de hardware o incluso como un servicio. Un equilibrador de carga te permite optimizar la utilización de los servidores y eliminar los puntos únicos de fallo en la entrega de aplicaciones para garantizar lo siguiente:

Resiliencia – Un equilibrador de carga te permite ejecutar varios servidores de aplicaciones para que cumplan la misma función. En caso de fallo de un servidor, el equilibrador de carga lo detectará y redirigirá el tráfico a los restantes servidores en línea y sanos. Esto garantiza una alta disponibilidad y fiabilidad de las aplicaciones.

Escalabilidad – Los equilibradores de carga te permiten escalar sin problemas los servicios sin afectar al rendimiento. Simplemente añadiendo más servidores detrás del equilibrador de carga para su distribución, introduces la capacidad de adaptarte a un aumento de la carga.

Capacidad – Para aumentar la capacidad basta con añadir más servidores detrás del equilibrador de carga. (Vale, normalmente no es tan fácil, porque probablemente tendrás que tener en cuenta bases de datos y otros servidores de aplicaciones, pero ya te haces una idea).

Los equilibradores de carga distribuyen el tráfico de las aplicaciones basándose en muchas estrategias diferentes de equilibrio de carga o políticas de equilibrio de carga, como a veces se les llama. Para saber si un servidor backend está en línea y en buen estado, un equilibrador de carga utilizará la monitorización del servidor backend y la comprobación del estado del servidor. Los principios del equilibrio de carga existen desde hace muchos años, pero estos dispositivos han evolucionado significativamente, pasando del dispositivo básico de capa 4 a controladores de entrega de aplicaciones de capa 7 mucho más sofisticados, o ADC, como los denomina Gartner. Los ADC ofrecen muchas funciones clave adicionales, como la seguridad y la gestión del tráfico.

Una estrategia o política de equilibrio de carga indica al equilibrador de carga dónde enviar la siguiente petición entrante. Hay muchas estrategias de equilibrio de carga disponibles en función de la solución específica, pero a continuación se enumeran algunas de las más comunes:

Round Robin: El método de equilibrio de carga más sencillo, en el que cada servidor se turna para recibir una petición.

Menor número de conexiones: El equilibrador de carga hará un seguimiento del número de conexiones que tiene un servidor y enviará la siguiente petición al servidor con menos conexiones. Nota: Los equilibradores de carga más antiguos, sólo de capa 4, no suelen admitir esta opción, ya que suelen ejecutar DSR (Retorno Directo al Servidor) y no saben cuántas conexiones hay actualmente en los servidores backend.

Ponderada: Normalmente, a los servidores se les asigna un porcentaje de capacidad, ya que un servidor podría ser el doble de potente que otro. Los métodos ponderados son útiles si el equilibrador de carga no conoce el rendimiento real y efectivo del servidor.

Tiempo de respuesta más rápido: Este método de equilibrio de carga normalmente sólo está disponible en los productos más avanzados. La petición se enviará al servidor que responda más rápidamente.

Los equilibradores de carga ejecutan comprobaciones del estado de los servidores web para determinar si están vivos, sanos y prestando servicio. La supervisión de la salud del servidor es la clave para ofrecer aplicaciones resistentes y, dependiendo de la solución elegida, algunos equilibradores de carga pueden utilizar comprobaciones de salud de capa7, que ofrecen una mayor sofisticación en su detección de problemas. A continuación se resumen los distintos métodos de comprobación de la salud de los servidores.

Ping: Es el método más sencillo para comprobar el estado del servidor, pero no es muy fiable porque el equilibrador de carga puede informar de que el servidor está activo, mientras que el servicio web puede estar inactivo.

Conexión TCP: Se trata de un método de comprobación de estado más sofisticado que puede comprobar si un servicio está en funcionamiento. Un ejemplo de esto son los servicios en el puerto 80 para web.

GET HTTP simple: Este método de comprobación de la salud del servidor realizará una petición HTTP GET al servidor web y normalmente comprobará si hay una respuesta de encabezado como 200 OK.

GET HTTP completo: Esta comprobación de la salud del servidor realizará un GET HTTP y comprobará el cuerpo del contenido real para obtener una respuesta correcta. Esta función sólo está disponible en algunas de las soluciones de equilibrio de carga más avanzadas, pero es el método superior para las aplicaciones web porque comprobará que la aplicación real está disponible.

Comprobaciones personalizables de la salud del servidor: Algunas soluciones de equilibrio de carga son capaces de acomodar monitores personalizados para aplicaciones TCP / IP para un mejor control sobre sus servicios de aplicación específicos.

La persistencia es una característica que requieren muchas aplicaciones web y sitios web. Una vez que un usuario ha interactuado con un servidor concreto, todas las solicitudes posteriores se envían al mismo servidor, por lo que “persisten” en ese servidor concreto. La persistencia de la sesión garantiza la continuidad del servicio y una experiencia sin fisuras para el usuario final, y suele ser un requisito de las aplicaciones de comercio electrónico, cuyo estado de sesión se almacena en el servidor web local, en lugar de en una base de datos compartida. La persistencia puede adoptar muchas formas…

Cookie del equilibrador de carga: El equilibrador de carga establecerá una cookie en el cliente y la utilizará para identificar el servidor backend que se utilizará para este usuario.

Cookies de sesión de la aplicación: Muchos servidores de aplicaciones ya establecen su propio identificador de sesión, como la cookie de sesión jsp o Asp.net. Puedes configurar el equilibrador de carga para que las utilice.

Basado en IP: Utiliza la dirección IP del Cliente para persistir. Este método funciona para capa4 y capa7.

Sesión SSL: Utiliza el ID de sesión SSL. Esto no es muy habitual, ya que el ID de sesión puede cambiar y se pierde la persistencia.

Cookie de sesión RDP: Utilizada para las conexiones RDP.

Es un término utilizado para describir un equilibrador de carga avanzado. Ahora, la mayoría de los equilibradores de carga son aparatos de capa 7, situados en una posición privilegiada entre la aplicación y los clientes. Con visibilidad de todo el tráfico, el equilibrador de carga puede realizar una serie de funciones que van más allá del simple equilibrio de carga y la redundancia de servidores. El equilibrio de carga es una de las muchas funciones de un ADC, entre las que se incluyen:

  • Gestión del tráfico de capa 7
  • Aceleración de la aplicación
  • Caché de contenidos
  • Cortafuegos de aplicaciones
  • Agrupación y limitación de conexiones
  • Preautenticación e inicio de sesión único
  • Proxy

Los términos capa4 y capa7 se refieren a las capas de protocolo en las que opera un equilibrador de carga dentro del modelo de red OSI. Los equilibradores de carga de capa4 operan en la capa de transporte, mientras que los de capa7 lo hacen en el nivel del protocolo de aplicación, lo que les permite una mayor visibilidad y comprensión de la aplicación que está procesando en sí. Esto permite funciones avanzadas y características de optimización, como la gestión inteligente del tráfico, el almacenamiento de contenidos en caché, la seguridad y la compresión. Funciones de aceleración Los equilibradores de carga de capa 4 siguen estando disponibles, aunque su cuota de mercado se ha ido reduciendo significativamente a medida que los equilibradores de carga avanzados y los ADC de capa 7 se hacen más potentes y rentables.

SSL (Secure Sockets Layer) se utiliza para describir el proceso de encriptación de la conexión, normalmente mediante un certificado privado. HTTPS es HTTP ejecutado sobre una conexión SSL encriptada. SSL puede ser una operación muy intensiva de CPU, reduciendo así la velocidad y capacidad del servidor web. Descargar la terminación SSL a un equilibrador de carga te permite gestionar de forma centralizada tus certificados y libera a tus servidores para que se centren en entregar la aplicación en lugar de descifrar SSL.

Un WAF o Cortafuegos de Aplicaciones Web es un dispositivo de seguridad diseñado específicamente para mitigar las amenazas en la capa de Aplicación, es decir, la capa 7. Más concretamente, un Cortafuegos de Aplicaciones Web está diseñado para trabajar con los protocolos HTTP y HTTPS. Funcionan junto con un cortafuegos de red estándar que suele bloquear puertos. Para que una aplicación ofrezca un servicio público, ciertos puertos (como 80 y 443 para una aplicación web HTTP/HTTPS típica) tienen que estar abiertos. Los piratas informáticos explotan estos puertos abiertos, exponiendo la necesidad de una nueva capa adicional de protección. Aquí es donde entra en juego un Cortafuegos de Aplicaciones o WAF. Un Cortafuegos de Aplicaciones Web examinará las Peticiones y Respuestas HTTP para averiguar si son válidas o no. Algunas peticiones pueden ser válidas para un sitio / página pero no para otro, por lo que en muchos casos, los Cortafuegos de Aplicaciones pueden necesitar más configuración. PCI DSS exige que un Cortafuegos de Aplicaciones bloquee algunas amenazas estándar, de acuerdo con las 10 principales amenazas publicadas por OWASP.