¿Qué es un controlador de entrega de aplicaciones (ADC)?

Un hombre recibe besos de su perro mientras trabaja en una computadora portátil y una tableta digital desde su casa

Autores

Chrystal R. China

Staff Writer, Automation & ITOps

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

¿Qué es un controlador de entrega de aplicaciones (ADC)?

Un controlador de entrega de aplicaciones (ADC) es un dispositivo de red que se emplea para optimizar la entrega de aplicaciones a través de Internet, normalmente como parte de una red de entrega de aplicaciones (ADN).

Un ADC puede ser un dispositivo de hardware o un programa de software y generalmente se coloca en la zona desmilitarizada (DMZ) de una red empresarial , entre el cortafuegos y uno o más servidores de aplicaciones. Los ADC sirven como proxies inversos que reciben, descifran, validan y enrutan las solicitudes de los clientes antes de enviar respuestas cifradas al usuario.

Los ADC ayudan a las compañías a modernizar las aplicaciones de red, acelerar las conexiones entre las máquinas del cliente y los servidores web, optimizar el equilibrio global de carga del servidor (GSLB) y aumentar la disponibilidad general de las aplicaciones para los usuarios finales.

Vista aérea de una autopista

Mantenga su cabeza en la nube


Reciba el boletín semanal Think para obtener orientación de expertos sobre cómo optimizar la configuración multinube en la era de la IA.

ADC y equilibradores de carga

La evolución de los controladores de entrega de aplicaciones está estrechamente relacionada con el desarrollo de aplicaciones web, centros de datos y el campo más amplio de la gestión de redes.

A finales de la década de 1990 y principios de la de 2000, a medida que Internet se comercializaba y el tráfico web aumentaba, las compañías necesitaban una forma de garantizar que los sitios web y las aplicaciones pudieran manejar un gran volumen de tráfico de aplicaciones de manera eficiente. El principal desafío fue encontrar una manera de distribuir las solicitudes entrantes en varios servidores para garantizar una alta disponibilidad y resiliencia de la red.

La primera generación de dispositivos para abordar el desafío se denominó equilibradores de carga. Inicialmente, eran simples y operaban en el nivel de transporte. Equilibradores de carga centrados en distribuir el tráfico entrante entre varios servidores para equilibrar las cargas y evitar que abrumen a un solo servidor.

Sin embargo, a medida que las aplicaciones y los sitios web se volvieron más complejos, los balanceadores de carga tradicionales cayeron en desuso por su incapacidad de leer y tomar decisiones basadas en el contenido de las solicitudes de los usuarios (no solo direcciones IP y puertos). Esto llevó a los desarrolladores a actualizarse a soluciones de equilibrio de carga de nivel 7, que podían inspeccionar el contenido de los mensajes en el nivel de aplicación.

Los balanceadores de carga avanzados podrían enrutar el tráfico en función de factores como encabezados HTTP, cookies o incluso solicitudes de páginas específicas, lo que facilita estrategias de gestión de tráfico más sofisticadas, como la persistencia de la sesión (o “adherencia”) y el enrutamiento basado en contenido. Con el tiempo, a medida que los desarrolladores continuaban agregando funcionalidades, estos balanceadores de carga se convertirían en los controladores inteligentes que ahora llamamos ADC.

IBM DevOps

¿Qué es DevOps?

Andrea Crawford explica qué es DevOps, el valor de DevOps y cómo las prácticas y herramientas de DevOps le ayudan a mover sus aplicaciones a través de todo el delivery pipeline, desde la ideación hasta la producción. Dirigido por los principales líderes de pensamiento de IBM, el programa de estudio está diseñado para ayudar a los líderes empresariales a adquirir los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

¿Qué hace un controlador de entrega de aplicaciones?

Los controladores de entrega de aplicaciones modernos son componentes fundamentales de las infraestructuras de TI resilientes y de alta disponibilidad, en particular los centros de datos de red. Gestionan el tráfico de las aplicaciones mediante una serie de procesos y funciones complejos que garantizan un flujo de datos eficaz y seguro entre los dispositivos de los clientes y los servidores backend. Estas características incluyen:

Equilibrio de carga

Una de las funciones principales de un ADC es distribuir el tráfico entrante a través de múltiples servidores (equilibrio de carga) con base en algoritmos como el mínimo de conexiones, el circuito cíclico y el tiempo de respuesta del servidor. Si un servidor está sobrecargado o se desconecta, el ADC redirige el tráfico a otros servidores para evitar que el servidor no saludable se convierta en un cuello de botella, dejando el rendimiento de la red y la experiencia del usuario no afectados (o mínimamente afectados).

Los equilibradores de carga también mantienen la persistencia de la sesión, lo que garantiza que los datos de un usuario se almacenen en caché y permanezcan en el mismo servidor durante toda su interacción.

Con el equilibrio de carga del servidor global (GSLB), a menudo llamado equilibrio de carga para balanceadores de carga, los ADC pueden distribuir solicitudes entre múltiples servidores ubicados en diferentes ubicaciones geográficas para que los usuarios sean dirigidos automáticamente al centro de datos más cercano o con mejor rendimiento.

Descarga de TLS y SSL

La seguridad de la capa de transporte (TLS) y el procesamiento de la capa de sockets seguros (SSL) a veces pueden sobrecargar los recursos de un servidor web. Con la descarga SSL, los ADC sustituyen a los servidores backend y funcionan como puntos finales SSL o TLS para gestionar el cifrado y el descifrado, liberando recursos de la CPU para el procesamiento de datos de la aplicación y mejorando el rendimiento del servidor.

Multiplexación TCP

Los ADC optimizan las conexiones de red mediante el uso de procesos de multiplexación TCP, que consolidan numerosas conexiones TCP del lado del cliente (agrupando o reutilizando) en un número menor de conexiones del lado del servidor. Mediante un conjunto de conexiones de servidor persistentes, el ADC puede multiplexar dinámicamente las solicitudes de los clientes a través de estas conexiones para reducir la sobrecarga del servidor.

Almacenamiento en caché de contenido

Los ADC pueden almacenar en caché el contenido solicitado con frecuencia (como imágenes, videos y sitios web) más cerca del usuario, eliminando la necesidad de generarlo o recuperarlo repetidamente de los servidores web. Estas políticas de almacenamiento en caché pueden reducir significativamente la carga de procesamiento en los servidores de origen y mejorar los tiempos de respuesta del servidor para los usuarios finales.

Compresión de contenido

Los ADC comprimen el contenido web (HTML, CSS y JavaScript, por ejemplo) antes de enviarlo al cliente, lo que reduce la demanda de ancho de banda y acelera la entrega de contenido, especialmente para los usuarios con conexiones a Internet más lentas.

Seguridad de las aplicaciones

Los ADC a menudo incluyen cortafuegos de aplicaciones DNS y cortafuegos de aplicaciones web (WAF) que protegen contra vulnerabilidades de seguridad comunes, como inyección SQL, envenenamiento de cookies, secuencias de comandos entre sitios (XSS) y otros ataques a la capa de aplicación al inspeccionar el tráfico entrante en busca de patrones maliciosos y bloquear solicitudes potencialmente dañinas.

Los ADC también pueden ayudar a proteger las aplicaciones contra los ataques de denegación distribuida del servicio (DDoS) filtrando el tráfico malicioso antes de superar la infraestructura de la aplicación. Con controles de acceso específicos de la aplicación, protocolos de limitación de velocidad y funciones de gestión de bots, los ADC son fundamentales para crear arquitecturas de confianza cero y prevenir el abuso y los ataques a la red.

Conformación del tráfico

Los ADC priorizan el tráfico para garantizar que las aplicaciones críticas obtengan el ancho de banda que necesitan incluso durante las horas pico de tráfico para que los datos urgentes y de misión crítica pasen por la red más rápido. Mediante políticas de calidad de servicio (QoS), los ADC también pueden ayudar a gestionar el ancho de banda y evitar la congestión de la red.

Autenticación central

Los ADC pueden interactuar con servicios de directorio (como un directorio activo on premises) para controlar el acceso de los usuarios a las aplicaciones y proporcionar puntos de autenticación centrales para la verificación de la autenticación y autorización de los clientes. También admiten protocolos más recientes, como la autenticación multifactor (MFA) y el inicio de sesión único (SSO) para mejorar la seguridad de la red.

ADC en entornos nativos de la nube

El cambio hacia aplicaciones nativas de la nube exigió que los controladores de entrega de aplicaciones evolucionen para soportar entornos en contenedores y arquitecturas de microservicios. Si bien los ADC basados en hardware y software aún son efectivos en muchos sentidos, los ADC tradicionales fueron diseñados para aplicaciones monolíticas y a menudo tienen dificultades para mantenerse al día con la naturaleza dinámica de las aplicaciones nativas de la nube actuales.

Para abordar esto, los proveedores de servicios como Citrix, VMWare, Amazon Sitio web Services (AWS), Microsoft Azure e IBM, entre otros, desarrollaron ADC nativos de la nube (en forma de IaaS, PaaS y SaaS) que ofrecen agilidad avanzada, escalabilidad y capacidades de automatización. Los ADC modernos están diseñados para integrarse perfectamente con las API de los proveedores de nube y las herramientas de orquestación de contenedores (como Kubernetes) para ofrecer capacidades superiores de descubrimiento de servicios, escalado automático y administración del tráfico.

Casos de uso de ADC

A pesar de su origen como equilibradores de carga básicos, los controladores de entrega de aplicaciones se adaptaron constantemente para satisfacer las necesidades dinámicas de las infraestructuras de TI y las soluciones de entrega de aplicaciones. Los ADC actuales son plataformas de entrega de aplicaciones multifacéticas que ofrecen rendimiento de aplicaciones, seguridad y optimización de la entrega en entornos complejos y multinube.

Cualquier empresa que opere una red de entrega de contenido a gran escala, compleja o distribuida puede usar ADC para garantizar que las aplicaciones de red estén disponibles de manera consistente y funcionen bien.

Los ADC pueden ayudar a las compañías con:

Equilibrio de carga global del servidor

Los ADC pueden redirigir el tráfico de red a los clústeres de servidores en los centros de datos de toda la red. Específicamente, pueden colaborar con otros ADC para optimizar la ruta que toma el tráfico a través de Internet, lo que permite que cada ADC enrute las solicitudes al centro de datos más cercano al cliente y minimice la latencia y el tiempo de ida y vuelta.

Gestión de conexiones

Los ADC manejan clientes rápidos y lentos ajustando los tiempos de espera y los tamaños de búfer en consecuencia. Los controladores también pueden terminar las conexiones para liberar recursos innecesarios y multiplexar conexiones para una mayor eficiencia de la red.

Monitoreo de salud

Los ADC monitorean continuamente el estado en tiempo real de los servidores de aplicaciones para garantizar que el tráfico solo se enrute a servidores receptivos y disponibles. Pueden comprobar la disponibilidad de recursos de los servidores web, intentar establecer conexiones TCP y realizar solicitudes a nivel de aplicación para verificar que un servidor esté funcionando de manera óptima.

Si un servidor falla o comienza a funcionar de manera subóptima, el ADC puede redirigir el tráfico a otros servidores e incluso iniciar reinicios del servidor y otras acciones de recuperación (suponiendo que estén configurados para hacerlo).

Soporte multiusuario

Los diseños multiusuario permiten que diferentes grupos dentro de una organización (DevOps, marketing y ventas o equipos de aplicaciones específicas como atención al cliente, inventario y pagos) compartan la misma infraestructura de aplicaciones. La consolidación de más servicios en menos dispositivos, ya sean virtuales o físicos, ayuda a las organizaciones a aumentar la agilidad de la red y reducir los costos relacionados con la administración, adquisición y soporte continuo.

ADCs en edge computing

La computación edge implica procesar datos cerca de la fuente (en el borde de la red), en lugar de depender únicamente de un centro de datos principal. Los ADC desplegados en el borde de la red pueden optimizar el tráfico local, gestionar las políticas de seguridad y cumplimiento locales y garantizar que las aplicaciones funcionen de manera eficiente, incluso en entornos distribuidos. Esto es particularmente útil para aplicaciones y servicios de IoT que requieren capacidades de procesamiento en tiempo real.

Integración con redes definidas por software (SDN)

Los ADC evolucionaron para ser más programables y más fáciles de integrar con arquitecturas SDN, que separan la capa de control de la red de la capa de datos para una gestión de recursos más centralizada y flexible. Ahora, los ADC se pueden configurar y gestionar dinámicamente con controladores de software, lo que permite respuestas más ágiles a las fluctuaciones del tráfico de red y las demandas de las aplicaciones.

Capacidades de machine learning (ML) e IA

Las tecnologías de inteligencia artificial (IA) y machine learning (ML) pueden ayudar a los ADC a predecir patrones de tráfico, detectar posibles amenazas de seguridad y automatizar las tareas de gestión de la red, mejorando la eficiencia y reduciendo la necesidad de interacción humana con la red.

Beneficios de los ADC

Los controladores de entrega de aplicaciones ayudan a las compañías a optimizar el enrutamiento del tráfico y maximizar la disponibilidad de la red, especialmente para las compañías que manejan un gran volumen de tráfico web, alojan aplicaciones de misión crítica o requieren altos niveles de seguridad de datos.

Los ADC ofrecen a las compañías:

Analytics en tiempo real

Los ADC recopilan datos sobre una amplia gama de métricas (como el volumen de tráfico, el estado del servidor y los eventos de seguridad), que pueden ayudar a las compañías a obtener información sobre la funcionalidad de la red.

Aceleración de aplicaciones

Los ADC emplean un sinfín de técnicas, como la conmutación de contenidos, para comprimir, reciclar y almacenar en caché los datos con el fin de acelerar las aplicaciones de red y los sitios web.

Mayor rendimiento de la aplicación

Los ADC pueden ampliar automáticamente los servicios de aplicación disponibles para garantizar un enrutamiento del tráfico de alto rendimiento, especialmente en redes de alta latencia y redes móviles.

Recuperación ante desastres automatizada

Los ADC proporcionan capacidades de conmutación por error para garantizar que una compañía pueda seguir operando y los usuarios experimenten retrasos mínimos cuando falla un servidor. Los ADC duplican y sincronizan las sesiones de usuario entre servidores para que, si un servidor se desconecta, las responsabilidades de ejecución puedan pasar a un duplicado de sesión.

Mayor seguridad de la red

Los ADC proporcionan la primera línea de defensa contra ataques maliciosos mediante el uso de WAF y detección de intrusiones y características de prevención para proteger los datos de la red.

Soluciones relacionadas
IBM DevOps Accelerate

Automatice la entrega de software para cualquier aplicación on premises, en la nube o en el mainframe.

Explorar DevOps Accelerate
Soluciones de DevOps

Utilice el software y las herramientas de DevOps para crear, desplegar y gestionar aplicaciones nativas de la nube en múltiples dispositivos y entornos.

Explorar las soluciones DevOps
Servicios de consultoría en la nube 

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de IBM de asesoramiento sobre la nube. Descubra cómo crear conjuntamente soluciones, acelerar la transformación digital y optimizar el rendimiento a través de estrategias de nube híbrida y asociaciones de expertos.

Servicios en la nube
Dé el siguiente paso

Desbloquee el potencial de DevOps para crear, probar y desplegar aplicaciones nativas de la nube seguras con integración y entrega continuas.

Conozca las soluciones de DevOps Descubra las DevOps en acción