Balancear tráfico desde un Cloud

Para proyectos de elevado tráfico o donde la disponibilidad es fundamental, es preciso contar con un sistema de balanceo que distribuya el tráfico entre varios servidores. Os contamos cómo funciona esta característica en un entorno Cloud.

El balanceo de carga es un clásico de los entornos de hosting. Técnicamente es complejo, pero a sobre el papel es tan simple como que contamos con un sistema balanceador de carga (puede ser un servidor con un software específico un hardware dedicado) con una IP pública que se encarga de recibir las peticiones, y redirigirlas hacia a alguna de las máquinas que tiene detrás para que las atienda (denominados nodos). Además, el balanceador actúa a la vez de cortafuegos, monitor de fallos en cada uno de los nodos, y de gestor inteligente a la hora de repartir tráfico.

Esta clase de montajes son necesarios cuando nos enfrentamos a entornos de hosting donde necesitemos atender una elevada cantidad de tráfico, o en aquellos entornos donde por seguridad se opta por contar con dos o más máquinas funcionando en espejo para evitar cualquier corte del servicio por la caída de una de ellas no afecte a los usuarios.

En el caso de los sistemas físicos montar una infraestructura de esta clase requiere de una fuerte inversión en servidores, y sobre todo de tiempo de puesta en marcha, configuración y mantenimiento. No olvidemos que se trata de añadir diferentes máquinas que han de ser puestas en producción y coordinadas entre sí vía software/hardware.

En el caso de un entorno Cloud el esquema de funcionamiento es el mismo, pero en realidad todo ocurre de manera virtualizada desde el propio entorno, y se configura de manera relativamente fácil desde una interfaz Web. Como en ocasiones anteriores, os mostraremos cómo se resuelve esto desde Cloudbuilder, la plataforma Cloud de Arsys (http://www.arsys.es/cloud/cloudbuilder), una de las más potentes en capacidad y funcionalidades de nuestro país.

foto1 Cloud

Lo primero, los servidores

Antes de mostraros cómo creamos y activamos el balanceador de carga, es importante haber activado y configurado los servidores que van estar detrás del balanceador. Si se trata de servidores Web, deberán estar correctamente configurados, con las conexiones a los sistemas de BBDD realizadas, etc.

Dado que estamos en un Cloud, ya vimos en artículos anteriores cómo crear servidores virtuales a partir de alguna de las plantillas disponibles en el entorno. Nuestra recomendación en este punto es contar con máquinas exactamente iguales que pueda tomar los datos de un repositorio y un sistema de BBDD común. Sobre la configuración, tendremos que valorar qué nos interesa. Si se trata de aportar fiabilidad al sistema, quizá nos interese contar con un par de servidores sencillos, sobre los que podemos crear reglas de ampliación en caso de que los recursos se vean saturados (no olvidemos que estamos en un Cloud).

En cambio, si se trata de dar soporte a una elevada cantidad de tráfico, quizá nos interese comenzar por varios servidores de una configuración mediana, siempre con vistas a crecer según evolucionen las necesidades.

foto2 cloud

Crear el balanceador

Una vez tenemos las máquinas disponibles, iremos a Red / Balanceadores y pincharemos sobre Crear. Eso abrirá una nueva ventana con un sencillo asistente donde podremos ajustar las características del que será nuestro balanceador de red.

En el Paso 1, además de indicar un nombre, tendremos que indicar qué puertos escuchará y su equivalencia en los servidores. Además, podremos indicar si sólo nos interesa que funcione para IPs concretas, o para cualquiera que intente realizar una conexión. Una vez que pinchemos en Siguiente, llegaremos al Paso 2, donde tendremos las opciones más importantes de la configuración, pues una mala elección afectará a su rendimiento y funcionamiento.

Lo primero es el apartado Health Check, donde podremos indicar que verifique el funcionamiento del puerto asignado nada ciertos segundos. De esta forma, el balanceador controlará que todas las máquinas (nodos) que tiene asignados están operativas y que, por tanto, puede enviarles tráfico. El segundo apartado, en el de Persistencia, se refiere a cómo se comportará el balanceador con las conexiones que le entren desde un mismo cliente remoto. Así, podemos indicar los segundos durante los cuales mantendrá abierta una sesión para un mismo cliente, conectándole siempre al mismo nodo del balanceador. Por último, tenemos que elegir el tipo de balanceo que se aplicará: Round Robin (las peticiones se alternan según van llegando), o Least Connections (donde las nuevas conexiones son enviadas a los nodos con una menor carga).

foto3 cloud

Tras pinchar Siguiente otra vez llegaremos al Paso 3, donde sólo nos quedará indicar los servidores que actuarán de nodos del balanceador de carga. Por último, tras confirmar toda la configuración elegida, comenzará el proceso de creación del balanceador, que puede demorarse hasta 40-60 minutos según el nivel de complejidad solicitado.

Cuando el proceso termine, en el mismo apartado de Red / Balanceadores tendremos el listado de los balanceadores creados y, lo más importante, la IP pública que se le ha asignado a cada uno, y a la que podemos comenzar a lanzar tráfico para comprobar si funciona correctamente.

foto4 cloud