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

22 de mayo de 2024

Autores

Chrystal R. China

Writer, automation & ITOps

Michael Goodwin

Editorial lead, Automation & ITOps

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

Un controlador de entrega de aplicaciones (ADC) es un dispositivo de red utilizado 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 firewall 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 empresas a modernizar las aplicaciones de red, acelerar las conexiones entre equipos cliente y servidores web, agilizar el equilibrio de carga global de servidores (GSLB) y aumentar la disponibilidad general de las aplicaciones para los usuarios finales.

Vista aérea de 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 ligada al desarrollo de las aplicaciones web, los 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 empresas necesitaban una forma de garantizar que los sitios web y las aplicaciones pudieran gestionar un gran volumen de tráfico de aplicaciones de manera eficiente. El principal reto era encontrar una forma de distribuir las solicitudes entrantes entre 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. Al principio, eran sencillas y funcionaban en la capa de transporte. Los equilibradores de carga se centraban en distribuir el tráfico entrante entre varios servidores para equilibrar las cargas y evitar que desbordaran a un único servidor.

Sin embargo, a medida que las aplicaciones y los sitios web se volvieron más complejos, los equilibradores de carga heredados cayeron en desgracia por su incapacidad para leer y tomar decisiones basadas en el contenido de las peticiones de los usuarios (no sólo direcciones IP y puertos). Esto llevó a los desarrolladores a pasarse a soluciones de equilibrio de carga de capa 7, que podían inspeccionar el contenido de los mensajes en la capa de aplicación.

Los equilibradores de carga avanzados podrían enrutar el tráfico en función de factores como encabezados HTTP, cookies o incluso solicitudes de página 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 el contenido. Con el tiempo, a medida que los desarrolladores siguieron añadiendo funcionalidades, estos equilibradores de carga se convertirían en los controladores inteligentes que ahora llamamos ADC.

IBM DevOps

¿Qué es DevOps?

Andrea Crawford explica qué es DevOps, su valor y cómo las prácticas y herramientas de DevOps ayudan a desarrollar las aplicaciones a lo largo de todo el proceso de entrega de software, desde la ideación hasta la producción. El plan de estudios, dirigido por los principales líderes de opinión de IBM, 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 vitales de las infraestructuras de TI resilientes y de alta disponibilidad, en particular los centros de datos de red. Gestionan el tráfico de aplicaciones mediante una serie de procesos y características complejos que garantizan un flujo de datos eficiente y seguro entre los dispositivos cliente y los servidores backend. Esas 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) en función de algoritmos como las conexiones mínimas, el round-robin 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 en mal estado se convierta en un cuello de botella, con lo que el rendimiento de la red y la experiencia del usuario no se ven afectados (o lo hacen mínimamente).

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

Con el equilibrio de carga global de servidores (GSLB), a menudo denominado equilibrio de carga para balanceadores de carga, los ADC pueden distribuir las peticiones entre varios servidores situados en distintas ubicaciones geográficas, de modo 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 poner a prueba los recursos de un servidor web. Con la descarga de SSL, los ADC reemplazan a los servidores back-end y funcionan como endpoints SSL o TLS para administrar el cifrado y 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 procesos de multiplexación TCP, que consolidan numerosas conexiones TCP del lado del cliente (agrupándolas o reutilizándolas) 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.

Caché de contenidos

Los ADC pueden almacenar en caché contenidos solicitados con frecuencia (como imágenes, vídeos y sitios web) más cerca del usuario, eliminando la necesidad de generarlos o recuperarlos 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 del contenido, especialmente para los usuarios con conexiones a Internet más lentas.

Seguridad de aplicaciones

Los ADC suelen incluir firewalls de aplicaciones DNS y firewalls 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 de servicio distribuido (DDoS) filtrando el tráfico malicioso antes de que sature la infraestructura de la aplicación. Con controles de acceso específicos de la aplicación, protocolos de limitación de velocidad y características de gestión de bots, los ADC son fundamentales para crear arquitecturas zero trust 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 cruciales obtengan el ancho de banda que necesitan incluso durante las horas punta de tráfico, de modo que los datos sensibles al tiempo 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 local) 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 una mayor seguridad de la red.

Los ADC en entornos nativos de la nube

El cambio hacia las aplicaciones nativas de la nube ha exigido que los controladores de entrega de aplicaciones evolucionen para admitir entornos en contenedores y arquitecturas de microservicios. Aunque los ADC basados en hardware y software siguen siendo eficaces en muchos aspectos, los ADC tradicionales se diseñaron para aplicaciones monolíticas y a menudo tienen dificultades para seguir el ritmo de la naturaleza dinámica de las aplicaciones nativas de la nube actuales.

Para abordar esto, los proveedores de servicios como Citrix, VMWare, Amazon Web Services (AWS), Microsoft Azure e IBM, entre otros, han desarrollado 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 de manera fluida con las API de los proveedores de servicios en la nube y las herramientas de orquestación de contenedores (como Kubernetes) para ofrecer capacidades superiores de detección de servicios, escalado automático y gestió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 han adaptado 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 (CDN) compleja o distribuida a gran escala puede utilizar ADC para garantizar que las aplicaciones de red estén siempre disponibles y funcionen bien.

Los ADC pueden ayudar a las empresas con:

Equilibrio global de la carga del servidor

Los ADC pueden redirigir el tráfico de red a clústeres de servidores en centros de datos en toda la red. En concreto, pueden colaborar con otros ADC para optimizar la ruta que sigue el tráfico a través de Internet, lo que permite a cada ADC encaminar las peticiones al centro de datos más cercano al cliente y minimizar la latencia y el tiempo de ida y vuelta.

Gestión de conexiones

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

Monitorización de comprobación de estado

Los ADC monitorizan continuamente el estado en tiempo real de los servidores de aplicaciones para garantizar que el tráfico sólo se enruta a los servidores que responden y están disponibles. Pueden hacer ping a servidores web, intentar establecer conexiones TCP y realizar peticiones a nivel de aplicación para verificar que un servidor funciona de forma óptima.

Si un servidor falla o empieza a funcionar de forma subóptima, el ADC puede redirigir el tráfico a otros servidores e incluso iniciar el reinicio del servidor y otras acciones de recuperación (suponiendo que esté configurado 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 servicio de atención al cliente, inventario y pagos) compartan la misma infraestructura de aplicaciones. Consolidar más servicios en menos dispositivos, ya sean virtuales o físicos, ayuda a las organizaciones a aumentar la agilidad de la red y a reducir los costes relacionados con la administración, la adquisición y el soporte continuo.

El ADC en el edge computing

El edge computing implica procesar datos cerca de la fuente (en el edge de la red), en lugar de depender únicamente de un centro de datos central. Los ADC implementados en el perímetro de la red pueden optimizar el tráfico local, gestionar las políticas locales de seguridad y cumplimiento y garantizar que las aplicaciones funcionen de manera eficiente, incluso en entornos distribuidos. Esto resulta especialmente ú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 han evolucionado para ser más programables y más fácilmente integrables con las 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 pueden configurarse y gestionarse dinámicamente mediante controladores de software, lo que permite responder con mayor agilidad a las fluctuaciones del tráfico de red y a las demandas de las aplicaciones.

Capacidades de machine learning (ML) e IA

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

Beneficios de los ADC

Los controladores de entrega de aplicaciones ayudan a las empresas a optimizar el enrutamiento del tráfico y maximizar la disponibilidad de la red, especialmente para las empresas 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 empresas:

Análisis en tiempo real

Los ADC recopilan datos sobre una amplia gama de métricas (como volumen de tráfico, estado de los servidores y eventos de seguridad), que pueden ayudar a las empresas a obtener información sobre el funcionamiento de la red.

Aceleración de aplicaciones

Los ADC utilizan una gran variedad de técnicas, como el cambio de contenido, para comprimir, reciclar y almacenar en caché los datos para acelerar las aplicaciones de red y los sitios web.

Mejora del rendimiento de la aplicación

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

Recuperación ante desastres automatizada

Los ADC ofrecen capacidades de conmutación por error para garantizar que una empresa pueda seguir funcionando y que los usuarios experimenten retrasos mínimos cuando falla un servidor. Los ADC duplican y sincronizan las sesiones de usuario entre servidores, de modo que si un servidor se desconecta, las responsabilidades de ejecución pueden pasar a un duplicado de la 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 características de detección y prevención de intrusiones para proteger los datos de la red.

Soluciones relacionadas
IBM DevOps Accelerate

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

Explore DevOps Accelerate
Soluciones DevOps

Utilice el software y las herramientas de DevOps para crear, implementar y gestionar aplicaciones nativas de la nube en varios dispositivos y entornos.

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

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de consultoría de nube de IBM. Descubra cómo cocrear soluciones, acelerar la transformación digital y optimizar el rendimiento mediante estrategias de nube híbrida y colaboraciones con expertos.

Servicio en la nube
Dé el siguiente paso

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

Explore las soluciones DevOps Descubra DevOps en acción