Exploración de las puertas de enlace de API

Completado

La solución puede contener varios servicios front-end y back-end. En este escenario, ¿cómo sabe un cliente a qué puntos de conexión llamar? ¿Qué ocurre cuando se introducen nuevos servicios o los servicios existentes se refactorizan? ¿Cómo abordan los servicios la terminación SSL, la autenticación y otros problemas?

La puerta de enlace de API Management (también denominada plano de datos o tiempo de ejecución) es el componente de servicio responsable de las solicitudes de API de proxy, la aplicación de directivas y la recopilación de telemetría.

Una puerta de enlace de API se ubica entre los clientes y los servicios. Actúa como un proxy inverso, enrutando las solicitudes de los clientes a los servicios. También puede realizar diversas tareas transversales como la autenticación, la terminación SSL y la limitación de velocidad. Si no implementa una puerta de enlace, los clientes deben enviar las solicitudes directamente a los servicios back-end. Sin embargo, hay algunos posibles problemas al exponer los servicios directamente a los clientes:

  • Puede dar como resultado un código de cliente complejo. El cliente debe realizar un seguimiento de varios puntos de conexión y controlar los errores de una manera flexible.
  • Crea acoplamiento entre el cliente y el back-end. El cliente debe saber cómo se descomponen los servicios individuales. Eso dificulta mantener al cliente y también refactorizar los servicios.
  • Una única operación podría requerir llamadas a varios servicios.
  • Cada servicio expuesto al público debe controlar aspectos complejos, como la autenticación, SSL y la limitación de velocidad del cliente.
  • Los servicios deben exponer un protocolo conocido para el cliente, como HTTP o WebSocket. Esto limita la elección de los protocolos de comunicación.
  • Los servicios con puntos de conexión públicos constituyen una posible superficie de ataque y deben ser protegidos.

Una puerta de enlace ayuda a solucionar estos problemas al desacoplar los clientes de los servicios.

Administradas y autohospedadas

API Management ofrece puertas de enlace autohospedadas y administradas:

  • Administrada: la puerta de enlace administrada es el componente de puerta de enlace predeterminado que se implementa en Azure para cada instancia de API Management en cada nivel de servicio. Con la puerta de enlace administrada, todo el tráfico de API fluye a través de Azure, independientemente de dónde se hospeden los back-end que implementan las API.

  • Autohospedada: la puerta de enlace autohospedada es una versión opcional y en contenedores de la puerta de enlace administrada predeterminada. Resulta útil para escenarios híbridos y de varias nubes en los que es necesario ejecutar las puertas de enlace fuera de Azure en los mismos entornos donde se hospedan los back-end de API. La puerta de enlace autohospedada permite a los clientes con infraestructura de TI híbrida administrar API hospedadas en el entorno local y entre nubes desde un único servicio API Management en Azure.