Compartir a través de


Opciones de equilibrio de carga

Azure API Management
Equilibrador de carga de Azure
Azure Front Door
Azure Application Gateway
Administrador de tráfico de Azure

El término equilibrio de carga hace referencia a la distribución del procesamiento en varios recursos informáticos. Equilibrio de carga para optimizar el uso de recursos, maximizar el rendimiento, minimizar el tiempo de respuesta y evitar sobrecargar cualquier recurso único. El equilibrio de carga también puede mejorar la disponibilidad compartiendo una carga de trabajo entre recursos informáticos redundantes.

Azure proporciona varios servicios de equilibrio de carga que puede usar para distribuir sus cargas de trabajo entre varios recursos de equipo. Estos servicios incluyen Azure API Management, Azure Application Gateway, Azure Front Door, Azure Load Balancer y Azure Traffic Manager.

En este artículo se describen las consideraciones que le ayudarán a determinar una solución de equilibrio de carga adecuada para las necesidades de la carga de trabajo.

Categorizaciones del servicio

Los servicios de equilibrio de carga de Azure se pueden clasificar en dos dimensiones: global frente a regional y HTTP(S) frente a no HTTP(S).

Global frente a regional

  • Global: Estos servicios de equilibrio de carga distribuyen el tráfico entre servidores back-end regionales, nubes o servicios locales híbridos. Estos servicios proporcionan un único plano de control que enruta el tráfico del usuario final a los back-ends disponibles globalmente. Reaccionan a los cambios en la confiabilidad o el rendimiento del servicio para maximizar la disponibilidad y el rendimiento. Puede considerarlos como sistemas que equilibran la carga entre marcas de aplicación, puntos de conexión o unidades de escalado hospedadas en diferentes regiones o zonas geográficas.
  • Regional: Estos servicios de equilibrio de carga distribuyen el tráfico dentro de las redes virtuales entre máquinas virtuales (VM) o puntos de conexión de servicio zonales y con redundancia de zona dentro de una región. Puede pensarlos como sistemas que equilibran la carga entre máquinas virtuales, contenedores o clústeres dentro de una región en una red virtual.

HTTP(S) frente a no HTTP(S)

  • HTTP(S): Estos servicios de equilibrio de carga son equilibradores de carga de nivel 7 que solo aceptan tráfico HTTP(S). Están diseñados para aplicaciones web u otros puntos de conexión HTTP(S). Incluyen características, como la descarga de SSL, el firewall de aplicaciones web, el equilibrio de carga basado en rutas de acceso y la afinidad de sesión.
  • No HTTP(S): Estos servicios de equilibrio de carga son los servicios TCP de nivel 4 o UDP, o el equilibrio de carga basado en DNS.

En la tabla siguiente se resumen los servicios de equilibrio de carga de Azure.

Servicio Global/regional Tráfico recomendado
Azure API Management Regional o global API HTTP(S)
Puerta de enlace de aplicaciones Azure Regional HTTP(S)
Azure Front Door (portal de entrada de Azure) Global HTTP(S)
Equilibrador de carga de Azure Regional o global No HTTP(S)
Administrador de tráfico de Azure Global No HTTP(S)

Nota:

Azure Traffic Manager y Azure Load Balancer pueden distribuir cualquier tipo de tráfico, incluidos HTTP(S). Sin embargo, estos servicios no proporcionan funcionalidades de nivel 7. A diferencia de Azure Load Balancer, Azure Traffic Manager no controla el tráfico directamente. Traffic Manager usa DNS para dirigir a los clientes a los puntos de conexión adecuados.

Servicios de equilibrio de carga de Azure

Estos son los servicios de equilibrio de carga principales actualmente disponibles en Azure:

  • API Management es un servicio administrado que permite publicar, proteger, transformar, mantener y supervisar las API HTTP(S). Proporciona una puerta de enlace para las API y puede equilibrar la carga del tráfico entre los nodos de un grupo de back-end designado con equilibrio de carga. Puede elegir entre tres métodos de equilibrio de carga diferentes: round robin, ponderado y basado en prioridad.

  • Application Gateway proporciona un controlador de entrega de aplicaciones como servicio, que proporciona varias funcionalidades de equilibrio de carga de nivel 7 y firewall de aplicaciones web. Use Application Gateway para realizar la transición del tráfico desde el espacio de red pública a los servidores web hospedados en un espacio de red privado dentro de una región.

  • Front Door es una red de entrega de aplicaciones que proporciona equilibrio de carga global y aceleración de sitios para aplicaciones web. Ofrece funcionalidades de nivel 7 para la aplicación, como la descarga SSL, el enrutamiento basado en rutas de acceso, la conmutación por error rápida y el almacenamiento en caché para mejorar el rendimiento y la alta disponibilidad.

  • Load Balancer proporciona un servicio de equilibrio de carga de capa 4 con latencia muy baja y alto rendimiento (entrante y saliente) para todos los protocolos UDP y TCP. Se diseñó para administrar millones de solicitudes por segundo, a la vez que garantiza que la solución tiene una alta disponibilidad. Load Balancer tiene redundancia de zona, lo que asegura una alta disponibilidad en todas las zonas de disponibilidad. Admite una topología de implementación regional y una topología entre regiones.

  • Traffic Manager es un equilibrador de carga de tráfico basado en DNS que le permite distribuir el tráfico de forma óptima a servicios de regiones de Azure globales, al tiempo que proporciona una alta disponibilidad y capacidad de respuesta. Dado que Traffic Manager es un servicio de equilibrio de carga basado en DNS, solo equilibra la carga en el nivel del dominio. Por ese motivo, no se puede conmutar por error tan rápido como Azure Front Door, debido a desafíos comunes relacionados con el almacenamiento en caché de DNS y los sistemas que no respetan los valores de período de vida (TTL) de DNS.

Nota:

La tecnología de agrupación en clústeres, como Azure Container Apps o Azure Kubernetes Service, contiene construcciones de equilibrio de carga que funcionan principalmente dentro del ámbito de su propio límite de clúster. Estas funcionalidades enrutan el tráfico a las instancias de aplicación disponibles en función de los sondeos de estado y preparación. En este artículo no se tratan esas opciones de equilibrio de carga.

Árbol de decisión para el equilibrio de carga en Azure

Tenga en cuenta factores como estos al seleccionar una solución de equilibrio de carga:

  • Tipo de tráfico: ¿Es una aplicación HTTP(S) web? ¿Se trata de una aplicación pública o privada?
  • Global frente a regional: ¿Necesita equilibrar la carga de máquinas virtuales o contenedores dentro de una sola red virtual, o equilibrar la carga de unidades o implementaciones de escalado entre regiones, o ambas?
  • Disponibilidad: ¿Cuál es el acuerdo de nivel de servicio?
  • Costar: Para más información, consulte Precios de Azure. Además del costo del propio servicio, tenga en cuenta el costo operativo para administrar una solución basada en ese servicio.
  • Características y límites: ¿Qué funcionalidades admite cada servicio y cuáles son los límites de servicio de cada servicio?

El siguiente diagrama de flujo le ayuda a elegir una solución de equilibrio de carga para la aplicación. El diagrama de flujo le guía a través de un conjunto de criterios de decisión clave para alcanzar una recomendación.

Propina

Puede usar Azure Copilot en Azure Portal para guiarle a través de esta decisión similar al diagrama de flujo. En Azure Copilot, escriba Ayuda para elegir un equilibrador de carga. Al responder a las preguntas de Copilot, puede reducir las opciones de equilibrio de carga.

Cada aplicación tiene requisitos únicos que no se capturan en árboles de decisión simples. Trate este diagrama de flujo o la recomendación de Azure Copilot como punto de partida. A continuación, realice una evaluación más detallada.

Diagrama que muestra un árbol de decisión para el equilibrio de carga en Azure.

Cuando la carga de trabajo implica varios servicios que requieren equilibrio de carga, evalúe cada servicio individualmente. Una configuración eficaz suele usar más de un tipo de solución de equilibrio de carga. Puede incorporar estas soluciones en diferentes lugares de la arquitectura de la carga de trabajo, cada una de las cuales sirve una función única o un rol.

Definiciones

  • Aplicación web (HTTP/HTTPS): Esta designación hace referencia a la necesidad de tomar una decisión de enrutamiento para los datos de nivel 7, como la ruta de acceso de dirección URL, admitir la inspección de la carga de comunicación (como un cuerpo de solicitud HTTP) o controlar la funcionalidad tls.

  • Aplicación orientada a Internet: aplicaciones que son de acceso público desde Internet. Como procedimiento recomendado, los propietarios de las aplicaciones deben aplicar directivas de acceso restrictivas o proteger la aplicación mediante la configuración de ofertas como el firewall de aplicaciones web y la protección contra DDoS.

  • Global o implementado en varias regiones: Si este equilibrador de carga debe tener un único plano de control de alta disponibilidad que enruta el tráfico a puntos de conexión públicos en la aplicación distribuida globalmente. Esto puede admitir topologías activas-activas o activas-pasivas entre regiones.

    Nota:

    Puede usar un servicio regional, como Application Gateway o API Management, para equilibrar la carga entre servidores back-end que abarcan varias regiones y controlar el enrutamiento a través de un único plano de control. Esa arquitectura es posible mediante Private Link entre regiones, emparejamiento de red virtual global o incluso direcciones IP públicas de servicios en otras regiones.

    Este escenario no es el punto principal de esta decisión.

    El uso de un recurso regional como enrutador para back-ends distribuidos globalmente introduce un único punto de error regional y incurre en latencia adicional, ya que el tráfico se fuerza a través de una región antes de ir a otra y volver a volver a hacerlo.

  • La plataforma como servicio (PaaS) proporciona un entorno de hospedaje administrado, donde puede implementar la aplicación sin necesidad de administrar máquinas virtuales o recursos de red. En este caso, PaaS hace referencia a los servicios que proporcionan equilibrio de carga integrado dentro de una región. Para más información, consulte Elección de un servicio de proceso: escalabilidad.

  • Azure Kubernetes Service (AKS) le permite implementar y administrar aplicaciones en contenedores. AKS proporciona Kubernetes sin servidor, una experiencia integrada de integración continua y entrega continua, así como seguridad y gobernanza de nivel empresarial. Para más información sobre nuestros recursos arquitectónicos de AKS, consulte Diseño de arquitectura de Azure Kubernetes Service.

  • La infraestructura como servicio (IaaS) es una opción informática en la que se aprovisionan las máquinas virtuales que necesita, junto con los componentes de red y almacenamiento asociados. Las aplicaciones IaaS requieren de equilibrio de carga interno dentro de la red virtual mediante Load Balancer.

  • El procesamiento de capa de aplicación hace referencia al enrutamiento especial dentro de una red virtual. Entre los ejemplos se incluyen el enrutamiento basado en rutas de acceso entre máquinas virtuales o conjuntos de escalado de máquinas virtuales. Para más información, consulte ¿Cuándo debo implementar una instancia de Application Gateway detrás de Azure Front Door?

  • Solo las API hacen referencia a la necesidad de equilibrar la carga de las API HTTP(S) que no son aplicaciones web. En este caso, debe considerar Azure API Management para equilibrar la carga del tráfico entre back-end de API que aún no se equilibra la carga a través de otro mecanismo.

  • La aceleración del rendimiento hace referencia a características que aceleran el acceso web. La aceleración del rendimiento se puede lograr mediante redes de entrega de contenido (CDN) o una entrada optimizada de punto de presencia para la incorporación acelerada de clientes a la red de destino. Azure Front Door admite la aceleración del tráfico Anycast y de CDN. Puede obtener las ventajas de ambas características con o sin Application Gateway en la arquitectura.

Consideraciones adicionales

Cada servicio de equilibrio de carga también tiene detalles de compatibilidad o implementación de funcionalidades que debe tener en cuenta. Estos son algunos ejemplos que podrían ser relevantes para el escenario de equilibrio de carga:

  • Compatibilidad con WebSockets
  • Compatibilidad con eventos enviados por el servidor
  • Compatibilidad con HTTP/2 (tanto la recepción como la continuación de los nodos back-end)
  • Compatibilidad con sesiones permanentes
  • Mecanismo de supervisión del estado del nodo back-end
  • Experiencia del cliente o retraso entre la detección de nodos incorrectos y la eliminación de la lógica de enrutamiento.

Descarga de funcionalidades en el equilibrador de carga

Algunas opciones de equilibrio de carga en Azure permiten descargar funcionalidades de los nodos back-end al equilibrador de carga, ya que algunas implementan el patrón de diseño de la nube de descarga de puerta de enlace. Por ejemplo, Application Gateway puede descargar TLS, por lo que el certificado de acceso público de la carga de trabajo se administra en una ubicación en lugar de en los nodos back-end. API Management se puede configurar para descargar algunos problemas de autorización básicos, como validar notificaciones en tokens de acceso JWT. La descarga de problemas transversales puede ayudar a reducir la complejidad de la lógica en los back-ends y mejorar su rendimiento.

Ejemplos

En la tabla siguiente se enumeran varios artículos basados en los servicios de equilibrio de carga usados en la solución.

Servicios Artículo Descripción
Equilibrador de carga Equilibrio de carga de máquinas virtuales (VM) entre zonas de disponibilidad Equilibrar la carga de VM entre zonas de disponibilidad contribuye a proteger los datos y aplicaciones de la improbable pérdida o error de todo un centro de datos. Con la redundancia de zona, aunque se produzcan errores en una o varias zonas disponibilidad, la ruta de los datos puede mantenerse a salvo siempre que una zona de la región permanezca en buen estado.
Administrador de Tráfico Aplicación web de varios niveles creada para lograr alta disponibilidad y recuperación ante desastres Implemente aplicaciones resistentes de varios niveles diseñadas para una alta disponibilidad y recuperación ante desastres. Si la región principal no está disponible, Traffic Manager conmuta por error en la región secundaria.
Application Gateway + API Management Arquitectura de zona de aterrizaje de Azure API Management Use Application Gateway para descargar WAF y TLS. Use API Management para equilibrar la carga entre back-end de API.
Traffic Manager y Application Gateway Equilibrio de carga de varias regiones con Traffic Manager y Application Gateway Obtenga información sobre cómo servir cargas de trabajo web e implementar aplicaciones de varios niveles resistentes en varias regiones de Azure, con el fin de lograr una alta disponibilidad y una sólida infraestructura de recuperación ante desastres.

Pasos siguientes