Exploración de puertas de enlace de API
Su solución puede contener varios servicios de frontend y backend. En este escenario, ¿cómo sabe un cliente qué puntos de conexión debe llamar? ¿Qué ocurre cuando se introducen nuevos servicios o se refactorizan los servicios existentes? ¿Cómo controlan los servicios la terminación SSL, la autenticación y otros problemas?
El gateway de API Management (también denominado plano de datos o tiempo de ejecución) es el componente de servicio responsable de hacer proxy a las solicitudes de API, aplicar políticas y recopilar telemetría.
Una puerta de enlace de API se encuentra entre clientes y servicios. Funciona como 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 solicitudes directamente a los servicios back-end. Sin embargo, hay algunos posibles problemas al exponer servicios directamente a los clientes:
- Puede dar lugar a código de cliente complejo. El cliente debe realizar un seguimiento de varios puntos de conexión y controlar los errores de forma resistente.
- Crea un acoplamiento entre el cliente y el back-end. El cliente debe saber cómo se descomponan los servicios individuales. Esto dificulta el mantenimiento del cliente y también es más difícil refactorizar los servicios.
- Una sola operación puede requerir llamadas a varios servicios.
- Cada servicio de acceso público debe controlar los problemas como la autenticación, SSL y la limitación de velocidad de cliente.
- Los servicios deben exponer un protocolo accesible para el cliente, como HTTP o WebSocket. Esto limita la elección de protocolos de comunicación.
- Los servicios con puntos de conexión públicos son una posible superficie expuesta a ataques y deben protegerse.
Una puerta de enlace ayuda a solucionar estos problemas desacoplando clientes de servicios.
Administrado y autohospedado
API Management ofrece puertas de enlace administradas y autohospedadas.
Managed: 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.
Autohospedado: la puerta de enlace autohospedada es una versión opcional, basada en contenedores, de la puerta de enlace administrada por defecto. Resulta útil para escenarios híbridos y multinube en los que es necesario ejecutar las puertas de enlace fuera de Azure en los mismos entornos en los que se hospedan los back-end de API. La puerta de enlace autohospedada permite a los clientes con infraestructura de TI híbrida administrar las API hospedadas de forma local y entre nubes desde un único servicio API Management en Azure.