¿Qué es una puerta de enlace de API?

Una puerta de enlace de API acepta solicitudes de API de un cliente, las procesa en función de políticas definidas, las dirige a los servicios adecuados y combina las respuestas para simplificar la experiencia del usuario. Normalmente, gestiona una solicitud invocando varios microservicios y agregando los resultados. También puede traducir entre protocolos en implantaciones heredadas.

Una puerta de enlace de API acepta solicitudes de API de un cliente, las procesa en función de políticas definidas, las dirige a los servicios adecuados y combina las respuestas para simplificar la experiencia del usuario. Normalmente, gestiona una solicitud invocando varios microservicios y agregando los resultados. También puede traducir entre protocolos en implantaciones heredadas.

TEXTO ALTERNATIVO DE LA IMAGEN

Funciones de la puerta de enlace de API

Las puertas de enlace de API suelen implementar funciones que incluyen:

  • Política de seguridad: autenticación, autorización, control de acceso y cifrado
  • Política de enrutamiento: enrutamiento, limitación de velocidad, manipulación de solicitud/respuesta, interruptor, implementaciones de tipo «blue-green» y «canary», pruebas A/B, equilibrio de carga, comprobaciones de estado y gestión personalizada de errores
  • Política de observabilidad: métricas en tiempo real e históricas, registro y rastreo

Para aumentar la seguridad de las aplicaciones y las API, las puertas de enlace de API pueden complementarse con cortafuegos de aplicaciones web (WAF) y protección frente a ataques de denegación de servicio (DoS).

Ventajas de la puerta de enlace de API

La implementación de una puerta de enlace de API para la entrega de aplicaciones puede resultar beneficiosa para lo siguiente:

  • Reducir la complejidad y acelerar el lanzamiento de aplicaciones encapsulando la arquitectura interna de la aplicación y proporcionando API adaptadas a cada tipo de cliente
  • Agilizar y simplificar el procesamiento de solicitudes y la aplicación de políticas al centralizar el punto de control y descargar los requisitos no funcionales a la capa de infraestructura
  • Simplificar la solución de problemas con paneles y métricas pormenorizados con datos históricos y en tiempo real

Puerta de enlace de API y arquitectura de microservicios

Para las aplicaciones basadas en microservicios, una puerta de enlace de API funciona como el punto único de entrada al sistema. Se sitúa frente a los microservicios y simplifica tanto las implementaciones de los clientes como la gestión de los microservicios, desacoplando la complejidad de la aplicación de sus clientes.

En una arquitectura de microservicios, la puerta de enlace de API se encarga del enrutamiento de solicitudes, la composición de respuestas y la aplicación de políticas. Algunas solicitudes las gestiona simplemente enrutándolas al servicio back-end adecuado, mientras que otras las maneja invocando varios servicios back-end y agregando los resultados.

Una puerta de enlace de API puede ofrecer otras funcionalidades esenciales para microservicios, como autenticación, autorización, supervisión, equilibrio de carga y gestión de respuestas. Al delegar la implementación de requisitos no funcionales a la capa de infraestructura, permite a los desarrolladores centrarse en la lógica empresarial principal, lo que acelera el lanzamiento de aplicaciones.

Obtenga más información sobre cómo crear microservicios utilizando una API Gateway en nuestro blog.

Puerta de enlace de API para Kubernetes

Los contenedores son la forma más eficiente de ejecutar microservicios, y Kubernetes es el estándar de facto para implementar y gestionar aplicaciones y cargas de trabajo en contenedores.

Dependiendo de la arquitectura del sistema y los requisitos de entrega de aplicaciones, una puerta de enlace de API puede desplegarse frente al clúster de Kubernetes como equilibrador de carga (nivel multiclúster), en su periferia como controlador Ingress (nivel clúster) o en su interior como malla de servicios (nivel servicio).

TEXTO ALTERNATIVO DE LA IMAGEN

Para las implementaciones de API Gateway en el borde y dentro del clúster de Kubernetes, se recomienda utilizar una herramienta nativa de Kubernetes como API Gateway. Estas herramientas están estrechamente integradas con la API de Kubernetes, admiten YAML y se pueden configurar a través de la CLI estándar de Kubernetes; algunos ejemplos incluyen NGINX Ingress Controller y NGINX Service Mesh .

Obtenga más información sobre API Gateways y Kubernetes en API Gateway vs. Controlador de ingreso vs. Service Mesh en nuestro blog.

Puerta de enlace de API y puerta de enlace Ingress o Ingress Controller

Las puertas de enlace de ingreso y los controladores de ingreso son herramientas que implementan el objeto de ingreso , una parte de la API de ingreso de Kubernetes, para exponer aplicações que se ejecutan en Kubernetes a clientes externos. Gestionan las comunicaciones entre usuarios y aplicações (conectividad usuario-servicio o norte-sur). Sin embargo, el objeto Ingress por sí mismo es muy limitado en sus capacidades. Por ejemplo, no admite la definición de las políticas de seguridad asociadas al mismo. Como resultado, muchos proveedores crean definiciones de recursos personalizadas (CRD) para ampliar las capacidades de su controlador de Ingress y satisfacer las necesidades y requisitos cambiantes de los clientes, incluido el uso del controlador de Ingress como puerta de enlace de API.

Por ejemplo, NGINX Ingress Controller se puede utilizar como una puerta de enlace de API con todas las funciones en el borde de un clúster de Kubernetes con sus recursos personalizados VirtualServer y VirtualServerRoute , TransportServer y Policy .

La puerta de enlace de API no es lo mismo que Gateway API

Aunque sus nombres son similares, una API Gateway no es lo mismo que la API de Kubernetes Gateway . La API de Kubernetes Gateway es un proyecto de código abierto gestionado por la comunidad de Kubernetes para mejorar y estandarizar las redes de servicios en Kubernetes. La especificación de la API de Gateway evolucionó a partir de la API de Ingress de Kubernetes para resolver diversos desafíos en torno a la implementación de recursos de Ingress para exponer aplicaciones de Kubernetes en producción, incluida la capacidad de definir políticas detalladas para el procesamiento de solicitudes y delegar el control sobre la configuración en múltiples equipos y roles.

Las herramientas creadas sobre la especificación Gateway API, como NGINX Kubernetes Gateway , se pueden usar como puertas de enlace de API para casos de uso que incluyen el enrutamiento de solicitudes a microservicios específicos, la implementación de políticas de tráfico y la habilitación de implementaciones canarias y azul-verde.

Mire este video rápido donde Jenn Gile de NGINX explica la diferencia entre una API Gateway y la API de Kubernetes Gateway .

Comparación entre malla de servicios y puerta de enlace de API

Una malla de servicios es una capa de infraestructura que controla las comunicaciones entre los servicios en un clúster de Kubernetes (conectividad de servicio a servicio o de este a oeste). La malla de servicios proporciona capacidades básicas para los servicios que se ejecutan en Kubernetes, incluidos equilibrio de carga, autenticación, autorización, control de acceso, cifrado, observabilidad y patrones avanzados para gestionar la conectividad (interruptor de circuito, pruebas A/B e implementaciones azul-verde y canario), para garantizar que la comunicación sea rápida, confiable y segura.

Desplegada más cerca de las aplicaciones y los servicios, una malla de servicios puede actuar como una puerta de enlace de API distribuida, ligera pero completa, para gestionar las comunicaciones de servicio a servicio en Kubernetes.

Obtenga más información sobre la malla de servicios en Cómo elegir una malla de servicios en nuestro blog.

Puerta de enlace de API y gestión de API

Los términos API gateway y API management se utilizan a menudo (aunque de manera incorrecta) para describir la misma funcionalidad.

Una puerta de enlace API es un punto de entrada al plano de datos para llamadas API que representan solicitudes de clientes a aplicações y servicios de destino. Normalmente, realiza el procesamiento de solicitudes según políticas definidas, que incluyen autenticación, autorización, control de acceso, descarga de SSL/TLS, enrutamiento y equilibrio de carga.

La gestión de API es el proceso de implementar, documentar, operar y monitorear API individuales. Generalmente, esto se logra con un software de nivel de gestión (por ejemplo, un administrador de API) que define y aplica políticas a puertas de enlace de API y portales para desarrolladores.

Dependiendo de los requisitos comerciales y funcionales, una puerta de enlace API se puede implementar como un componente independiente en el plano de datos o como parte de una solución de gestión de API integrada, como F5 NGINX Management Suite API Connectivity Manager .

Consideraciones para elegir una puerta de enlace de API

Hay varios factores clave que deben tenerse en cuenta a la hora de decidir los requisitos de su puerta de enlace de API:

  • Arquitectura: El lugar de implementación de la puerta de enlace de API puede influir en la elección de las herramientas, al igual que la decisión de utilizar las opciones integradas de su proveedor de nube. ¿Requiere la flexibilidad de una puerta de enlace de API independiente en cuanto a plataforma y tiempo de ejecución?
  • Rendimiento: El rendimiento es fundamental para los sitios web y las aplicaciones con mucho tráfico. ¿Su puerta de enlace de API ofrece el alto rendimiento y la baja latencia que necesita?
  • Escalabilidad: Su puerta de enlace de API debe escalarse fácilmente para satisfacer la creciente demanda de tráfico. ¿La puerta de enlace de API admite escalado vertical (alto rendimiento) y horizontal (alta disponibilidad) para garantizar que sus API sean siempre rápidas y estén disponibles?
  • Seguridad: Las puertas de enlace de API son un componente clave en una arquitectura de confianza cero. ¿Su puerta de enlace de API ofrece control de acceso (AuthN/AuthZ), mTLS y otras funciones de seguridad avanzadas, como un WAF integrado y validación de esquemas OpenAPI para garantizar una seguridad proactiva?
  • Coste: Comprenda el coste total de propiedad (TCO) de la puerta de enlace de API. ¿Cuáles son los costes y beneficios de crear y mantener una solución personalizada en comparación con la adquisición de una puerta de enlace de API de nivel empresarial?

Cómo puede ayudar NGINX

NGINX ofrece varias opciones para implementar y operar una puerta de enlace API según sus casos de uso y patrones de implementación.
Herramientas nativas de Kubernetes:

  • Controlador de ingreso NGINX : administra la conectividad de las aplicaciones en el borde de un clúster de Kubernetes con funciones de API gateway, identidad y observabilidad.
  • NGINX Service Mesh : una solución fácil de usar para desarrolladores que ofrece conectividad entre servicios, seguridad, orquestación y observabilidad.

Comience solicitando su prueba gratuita de 30 días de NGINX Ingress Controller con NGINX App Protect WAF y DoS, y descargue NGINX Service Mesh siempre gratis.

Herramientas universales:

  • NGINX Plus como puerta de enlace de API: puerta de enlace de API liviana y de alto rendimiento que se puede implementar en entornos de nube, locales y de borde.
  • F5 NGINX Management Suite API Connectivity Manager : implemente y opere puertas de enlace de API con herramientas fáciles de usar para desarrolladores para la administración, gobernanza y seguridad de API

Para obtener más información sobre el uso de NGINX Plus como puerta de enlace de API, solicite su prueba gratuita de 30 días y consulte Cómo implementar NGINX como puerta de enlace de API en nuestro blog. Para probar NGINX Management Suite, solicita tu prueba gratuita de 30 días .