Balanceo de carga en AWS: conozca sus opciones

Introducción

A pesar de la amplia gama de usos, plataformas y tecnologías, la mayoría de las aplicaciones comparten algunas necesidades comunes: deben mantenerse en línea y aisladas de los fallos de hardware, deben escalar para satisfacer la demanda y deben ser defendidas frente a las vulnerabilidades y los ataques.

Desde que las aplicaciones empezaron a migrar de ordenadores centrales a sistemas abiertos, las organizaciones han utilizado equilibradores de carga para gestionar la capacidad de ampliación y la disponibilidad de las aplicaciones. Al enfrentarse a problemas complejos y a amenazas de seguridad más sofisticadas, los equilibradores de carga desarrollaron conjuntos de características más útiles, con capacidades de seguridad y optimización añadidas.

Con el tiempo, el equilibrador de carga común ha evolucionado hasta convertirse en el potente controlador de entrega de aplicaciones (ADC). En todo el mundo, miles de organizaciones confían en los ADC para que las aplicaciones que dirigen nuestras vidas sean seguras, rápidas y estén disponibles. Desde servicios médicos de emergencia y de banca, hasta servicios de juegos y citas, los ADC proporcionan la tecnología que ayuda a las aplicaciones a rendir al máximo.

A medida que las aplicaciones pasan de modelos tradicionales en instalaciones a servicios en la nube, sus necesidades de ampliación, seguridad y disponibilidad no han disminuido. No es de extrañar, por tanto, que todas las plataformas en la nube (tanto públicas como privadas) ofrezcan servicios de equilibrio de carga como parte de sus ofertas principales de infraestructura como servicio (IaaS).

El servicio Elastic Load Balancing (ELB) de Amazon Web Services (AWS) ayuda a las organizaciones a entregar cientos de miles de aplicaciones, incluidas algunas de las más grandes de Internet. Y, al igual que los equilibradores de carga en las instalaciones añadieron capacidades para satisfacer las necesidades de los clientes, los servicios de equilibrio de carga de AWS siguen incorporando nuevas características y funciones.

Mientras que el ELB puede ser una gran opción para muchas organizaciones, otras requieren de más funciones para soportar mejor sus aplicaciones críticas. Además, algunas empresas ya han implementado ADC y equilibradores de carga para escalar y administrar sus aplicaciones en las instalaciones. Para estas organizaciones, adoptar la misma plataforma en AWS que en el centro de datos puede reducir el tiempo, los costes y el riesgo de una migración a la nube. Antes de tomar una decisión sobre qué servicio de equilibrio de carga elegir para su organización, echemos un vistazo a las distintas opciones de equilibrio de carga disponibles en AWS.

Balanceo de carga en AWS

Amazon Web Services ofrece el conjunto de servicios más amplio de los principales proveedores de IaaS, abarcando una enorme gama de funcionalidades y usos, desde la computación simple y el almacenamiento en bloque, hasta bases de datos avanzadas y entornos de aprendizaje automático. Un componente clave de muchas arquitecturas de clientes de AWS es el equilibrador de carga, del que AWS ofrece dos servicios distintos (ambos bajo el nombre de «Elastic Load Balancing») para su uso en entornos de nube privada virtual (VPC).

Application Load Balancer

El Application Load Balancer (ALB) de Amazon proporciona equilibrio de carga, monitorización del estado y enrutamiento de solicitudes basado en URL en la nube de AWS. ALB ofrece equilibrio de carga de los protocolos HTTP y HTTPS con certificados SSL de cliente cargados desde uno de los servicios de gestión de certificados de AWS. Además, admite el equilibrio de carga del tráfico WebSocket. ALB también permite el autoescalado de los recursos del servidor de Elastic Compute Cloud (EC2): cuando la demanda de tráfico aumente, ALB puede activar la implementación de servidores adicionales y luego eliminarlos cuando disminuya.

El servicio ALB también se escala para hacer frente a la carga adicional. A medida que aumenta el tráfico de la red de aplicaciones, se crean instancias ALB adicionales y se registran en el DNS, y el tráfico se distribuye a las instancias ALB utilizando el round robin del DNS. Para obtener el mejor rendimiento bajo cargas de trabajo repentinas, se recomienda el precalentamiento de las instancias ALB, ya que el tiempo de giro de las nuevas instancias puede ser de entre uno y siete minutos.

ALB puede desplegarse a través de la consola web, CLI, API, plantillas de formación en la nube (CFT) y muchas herramientas de automatización como Ansible.

Network Load Balancer

La última incorporación a la familia de equilibrio de carga elástico de AWS es el Network Load Balancer (NLB). Al igual que el equilibrador de carga «clásico», funciona en la capa 4 y ofrece un equilibrio de carga basado en la conexión y comprobaciones de estado de la capa de red y de la aplicación. El NLB está diseñado para hacer frente a los picos de tráfico y a los grandes volúmenes de conexiones. Además, NLB permite que los destinos sean direcciones IP privadas RFC 1918, así como instancias EC2. Las opciones de autoescalado, escalado propio e implementación son similares a las de ALB.

Balanceo de carga clásico

AWS también ofrece su Elastic Load Balancer «clásico», que admite el equilibrio de carga básico de la capa 4 para el tráfico TCP, pero no el equilibrio de tráfico de la capa 7 ni el direccionamiento. Las opciones de autoescalado, escalado propio e implementación son similares a las de ALB.

F5 BIG-IP Virtual ADC

La plataforma F5® BIG-IP® ADC representa el otro extremo del espectro del equilibrio de carga desde el equilibrador de carga clásico y ligero de AWS. Con un conjunto de funciones que abordan una enorme gama de retos de seguridad, optimización de aplicaciones y disponibilidad, BIG-IP puede resolver problemas y gestionar el tráfico de aplicaciones que otras soluciones más sencillas no pueden.

BIG-IP ofrece una gestión integral del tráfico de aplicaciones, que incluye la inspección, el control y la manipulación del tráfico completo. Esto se extiende tanto a la solicitud de la capa de aplicación como a la respuesta, lo que permite la prevención de la pérdida de datos y la manipulación del contenido de la respuesta del servidor. Esta capacidad ha demostrado ser una herramienta rápida, fiable e inestimable para la resolución de problemas en miles de organizaciones. Además, la inspección y manipulación programática completa del tráfico de la aplicación ofrece a los desarrolladores una capa arquitectónica adicional para mejorar el comportamiento de la aplicación en un punto estratégico crítico de control.

BIG-IP vs. ELB: diferencias en la gestión

Toda esta capacidad programable y de resolución de problemas trae consigo una carga que hay que reconocer. En primer lugar, BIG-IP opera a un nivel de infraestructura diferente del equilibrador de carga clásico de AWS y del ALB. BIG-IP se despliega como una instancia EC2 dentro del VPC, lo que tiene ventajas y desventajas. Formar parte del VPC permite al ADC gestionar el tráfico de forma eficaz entre todos los componentes de una zona de disponibilidad, y le ofrece un control significativo sobre la comunicación entre los componentes del VPC.

Al mismo tiempo, crea instancias EC2 adicionales que hay que gestionar y mantener. La alta disponibilidad de lo que será un componente de misión crítica (aunque fácil de configurar) será ahora su responsabilidad. La gestión de la plataforma subyacente, en términos de actualizaciones de software y gestión general, no la realiza AWS, sino el cliente, mientras que las nuevas características se ofrecen en las versiones publicadas en AWS Marketplace, a diferencia de las actualizaciones del servicio fáciles de implementar.

Por último, BIG-IP puede escalarse bajo demanda y puede autoescalar las instancias del servidor de aplicaciones, pero es prácticamente inevitable que los esfuerzos de configuración recaigan en el cliente, en comparación con el uso de un servicio principal de AWS.

Balanceo de carga en AWS
¿Qué blanceador de carga me conviene?

La elección de la solución adecuada para su organización depende esencialmente de las necesidades de su aplicación y plataforma. Algunas aplicaciones y casos de uso se adaptan bien a AWS ELB, mientras que otras requieren las capacidades avanzadas de BIG-IP.

AWS Elastic Load Balancing

El ALB está diseñado para aplicaciones que requieren un equilibrio de carga simple con algunas reglas básicas de asignación de URI (a destino). ALB cumplirá con los servicios básicos de distribución de tráfico y escalado para muchas aplicaciones nativas de AWS. Si los desarrolladores o los proveedores de aplicaciones pueden solucionar los problemas de seguridad o funcionalidad de manera oportuna (o si el riesgo general de que la seguridad se vea comprometida es menor) ALB es la opción obvia.

Para aplicaciones similares que utilicen otros protocolos TCP y necesiten servicios de equilibrio de carga robustos pero sencillos, el equilibrador de carga clásico suele ser suficiente.

Balanceo de carga de BIG-IP

Hay otros casos de uso en los que una organización puede preferir aprovechar la potencia de un ADC completo en AWS. Algunas de las ventajas de utilizar BIG-IP en AWS son las siguientes:

  • Mejora de la seguridad
  • Mayor control del tráfico
  • Optimización del tráfico
  • Plena capacidad de programación de la capa de aplicación

La arquitectura de plataforma de BIG-IP le ofrece una visibilidad y un control completos del tráfico de las aplicaciones. Con una enorme gama de funciones, una instancia de BIG-IP en su entorno de AWS le ofrece un potente conjunto de herramientas para abordar los problemas de rendimiento, seguridad o disponibilidad de las aplicaciones. BIG-IP puede dirigir las solicitudes individuales de la capa de aplicación a cualquier recurso enrutable, desde una instancia local EC2 o una instancia de servidor en otra nube, hasta un servicio basado en API o un dispositivo en las instalaciones.

Por ejemplo, ALB puede dirigir el tráfico a los recursos de back-end en función de la URL solicitada, pero si necesita dirigir el tráfico en función de características más complejas (como el tipo de dispositivo, la velocidad de conexión o la ubicación del cliente), BIG-IP está mejor equipado para la tarea.

Esta capacidad avanzada de resolución de problemas adquiere una mayor relevancia al migrar a la nube las aplicaciones empresariales o si los desarrolladores no suelen estar disponibles para mitigar las vulnerabilidades o los problemas de comportamiento de las aplicaciones. Si su aplicación necesita protección urgente, tiene un mal comportamiento con un nuevo tipo de cliente (o incluso con un cambio de sistema operativo de cliente) o se bloquea en determinadas solicitudes, BIG-IP suele ofrecer una solución rápida, sencilla y fiable.

Otro factor importante es la necesidad de coherencia entre el centro de datos y la nube. Miles de organizaciones confían en los dispositivos BIG-IP para ofrecer aplicaciones críticas en sus centros de datos. BIG-IP Virtual Edition de AWS ofrece los mismos servicios de capa de aplicación en AWS que en un BIG-IP físico en un centro de datos. Utilizando BIG-IP VE, las organizaciones pueden migrar aplicaciones de forma más rápida y barata y con mayor confianza, mientras que el personal puede centrar sus esfuerzos de cualificación en otro lugar, y se mantiene el conocimiento de la organización y la inversión en BIG-IP.

Opciones de implementación

Como servicio nativo, la implementación de AWS ELB es tan sencilla como marcar una casilla. La puesta en marcha de BIG-IP VE en AWS implica el despliegue de la instancia desde Amazon Marketplace utilizando un modelo de facturación de servicios o de «traiga su propia licencia». El despliegue de la imagen de BIG-IP puede gestionarse manualmente o utilizando opciones de automatización como los CFT de AWS, de los cuales F5 ofrece una serie de plantillas totalmente compatibles (así como algunas «experimentales»). Éstas están disponibles en el repositorio GitHub de F5, que también contiene un SDK de Python y otras herramientas. En el repositorio DevCentralde F5 hay disponibles más herramientas de despliegue, manuales estratégicos y documentación de la comunidad.

Conclusión

Tanto AWS ELB como F5 BIG-IP ofrecen un valor convincente a las organizaciones que despliegan aplicaciones en AWS. Saber cuándo y dónde puede necesitar más control, seguridad o programabilidad puede ayudarle a elegir la solución adecuada para respaldar sus aplicaciones (y su negocio) en la nube.

Published November 03, 2017
  • Share to Facebook
  • Share to X
  • Share to Linkedin
  • Share to email
  • Share via AddThis

Connect with F5

F5 Labs

The latest in application threat intelligence.

DevCentral

The F5 community for discussion forums and expert articles.

F5 Newsroom

News, F5 blogs, and more.