data -->

¿Que es LBaaS?

Posted by José Manuel Hernández on


¿Que es LBaaS?

LBaaS es el servicio de Openstack que nos permite disponer de un balanceador de carga como servicio.

Para quienes no sepan que es un balanceador de carga, es una tecnología que permite disponer de un servidor virtual con una IP, este servidor virtual está respaldado por un grupo de servidores reales que proporcionan algún recurso a los clientes. La función del balanceador es distribuir las peticiones de cliente a través del grupo de servidores, esta distribución se puede hacer en base a varios algoritmos tal como:
  • Round Robin: Selecciona servidores secuencialmente. Es el algoritmo predeterminado.
  • Leastconn: Selecciona el servidor con el menor número de conexiones – se recomienda para las sesiones más largas.
  • Source: Selecciona el servidor que se desea utilizar en función de un hash de la IP de origen, es decir, la dirección IP del usuario. Es un método para asegurar que un usuario se conecte siempre al mismo servidor.
  • Sticky Sessions: Algunas aplicaciones requieren que un usuario continúe accediendo al mismo servidor de backend. Esta persistencia se logra a través de las sticky sessions, utilizando el parámetro appsession en el backend que lo requiera.

Otra características de los balanceadores es la detección de fallos en un servidor y su capacidad de eliminar una ruta hacia este, cuando esto sucede los clientes no se enteran del fallo en el servidor real ya que se redirigen a otro servidor operativo.

En resumen, las funciones principales de los balanceadores de carga son atender las solicitudes de los clientes mitigando los problemas de cuellos de botella al repartir la carga entre varios nodos y evitar los fallos cuando un servidor de un pool cae, aportando alta disponibilidad.

 

OpenStack LBaaS

Actualmente en Openstack la implementación de balanceadores de carga corre a cargo del proyecto Neutron el cuál implementa la versión 2 de LBaaS. Este servicio permite configurar un balanceador que se ejecuta fuera de las instancias y dirige el tráfico hacia ellas en función de la configuración realizada.

El servicio OpenStack LBaaS lo presta un conocido software de código abierto como es HAProxy. HAProxy proporciona balanceo de carga TCP/HTTP y es el que utiliza por defecto OpenStack. No obstante, desde la v2 existe la opción de utilizar una implementación alternativa de LBaaS llamada [Octavia] la cuál está totalmente integrada con Neutron y LBaaS v2.

A continuación podemos ver un vídeo demostrativo de LBaaS por gentileza de Rackspace:


Espero que os haya resultado interesante.
Hasta otra!
José Manuel Hernández