Funcionamiento de Azure API Management

Completado

En esta unidad analizaremos cómo funciona Azure API Management desde tres puntos de vista. De este modo, podrá seguir evaluando si Azure API Management es una buena solución para administrar las API de su organización.

En esta unidad aprenderá cómo funciona Azure API Management para los siguientes tipos de usuarios:

  • Consumidores de API
  • Proveedores de API
  • Desarrolladores de aplicaciones

Funcionamiento de Azure API Management para los consumidores de API

Un consumidor de API es una entidad que realiza una solicitud a la API para obtener datos. Por ejemplo, cualquiera de estas entidades podría ser un consumidor de API:

  • Aplicación móvil
  • Aplicación web
  • Dispositivo IoT

El componente clave de Azure API Management para los consumidores es la puerta de enlace. Todas las llamadas API de consumidor se enrutan primero al punto de conexión de la puerta de enlace. Los consumidores de API solo interactúan directamente con la puerta de enlace y nunca con la instancia de implementación de API real.

La puerta de enlace realiza muchas tareas desde el punto de vista del consumidor, pero las siguientes son las más importantes:

  • Autenticación. La puerta de enlace supervisa el acceso a la API comprobando las claves de suscripción del consumidor, los tokens JWT y otras credenciales.
  • Seguridad. La puerta de enlace evita el uso incorrecto de la API mediante la aplicación de límites de frecuencia y cuotas de uso del consumidor predefinidos o la validación de solicitudes y respuestas en el esquema de la API.
  • Transformación. La puerta de enlace transforma la solicitud o respuesta de la API según sea necesario. Por ejemplo, si el servicio back-end responde con datos XML, puede modernizar la API transformando el archivo XML en JSON automáticamente, como se muestra en la siguiente imagen.
  • Enrutamiento. Una vez autenticada, validada y transformada una solicitud de API, la puerta de enlace enruta la llamada al servicio back-end donde se implementa la API.
  • Rendimiento. La puerta de enlace puede almacenar la respuesta de la API de back-end en la caché. En situaciones en las que la respuesta de back-end es estática con el tiempo, el servicio de respuestas posteriores desde la memoria caché proporciona a los consumidores tiempos de respuesta más rápidos y reduce la carga en el servidor back-end.

A mobile app requests a weather forecast using an API. The Azure API Management gateway routes the call to the backend server and then converts the server's XML response to JSON before returning it to the mobile app.

Funcionamiento de Azure API Management para los proveedores de API

Si es un proveedor de API, todavía tiene mucho trabajo que hacer una vez publicadas las API. Este trabajo incluye lo siguiente:

  • Establecimiento de directivas de API
  • Administración de consumidores de API
  • Administración de revisiones y versiones de API
  • Supervisión y análisis de las API

Puede realizar todas estas tareas y mucho más mediante la interfaz de administración de Azure API Management de Azure Portal. O bien, mediante herramientas como la CLI de Azure o Azure PowerShell. Además de permitirle establecer directivas de API (como ha aprendido en la unidad anterior), la interfaz de administración permite realizar las siguientes tareas:

  • Definición e importación de especificaciones de API. Importe una especificación OpenAPI, una API de REST, una API de protocolo simple de acceso a objetos (SOAP) (que puede convertir opcionalmente en REST), una API WebSocket o una API GraphQL. También puede crear una API importando instancias de los siguientes servicios de Azure: Web App, Container App, Function App, Logic App y Service Fabric. También puede crear una API en blanco y definirla manualmente.
  • Administrar usuarios y grupos.
    • Un usuario es una cuenta de desarrollador. Es una cuenta para un consumidor de API. Puede agregar usuarios manualmente o invitar a los usuarios a crear una cuenta, pero la mayoría crean sus propias cuentas mediante el portal para desarrolladores.
    • Un grupo es una colección de usuarios relacionados. Puede asociar un grupo a un producto de API determinado y así cada usuario de ese grupo tendrá acceso al producto en el portal para desarrolladores.
  • Empaquetar las API en productos. En Azure API Management, un producto es un grupo de API relacionadas. Al empaquetar varias API como un único producto, puede configurar solo el producto en lugar de configurar todas las API por separado. Por ejemplo, establezca límites de frecuencia y otras directivas, defina términos de uso, y agregue grupos, entre otras cosas. Esta configuración se aplica a todas las API del producto. Después de publicar el producto, los consumidores pueden suscribirse a él y usar sus API con una única clave de suscripción.
  • Administre revisiones y versiones de API. Cuando su equipo de desarrolladores de API necesite realizar cambios en una API, exponga el cambio de una manera segura y controlada que no afecte negativamente a los consumidores mediante el uso de revisiones y versiones:
    • Una revisión es un cambio relativamente menor o no disruptivo en una API. El equipo de desarrollo puede codificar y probar la revisión de forma independiente a la API de producción, como en la siguiente imagen. Después, cuando la revisión esté lista para los consumidores, use la interfaz de administración de Azure API Management para establecer la API actualizada como la revisión actual.
    • Una versión es un cambio relativamente importante en una API. Azure API Management permite ofrecer a los desarrolladores varias versiones de la API simultáneamente. También ofrece varios esquemas de control de versiones, incluido el control de versiones basado en rutas, encabezados y consulta de cadenas.
  • Supervise y analice las API. La interfaz de administración incluye herramientas de supervisión integradas para rastrear y revisar el tráfico de la API en tiempo real, y análisis para conocer cómo los consumidores utilizan sus API publicadas. Azure API Management también admite varias herramientas de Azure para supervisar las API y ejecutar cargas de trabajo de análisis. Los servicios de Azure compatibles con Azure API Management incluyen Azure Monitor Logs, Application Insights y Event Hubs.

Depiction of how revisions work in Azure API Management. API requests from consumers are routed to the current revision of the API, whereas API requests from the in-house development team are routed to the API revision.

Funcionamiento de Azure API Management para los desarrolladores de aplicaciones

Excepto el nivel Consumo, todas las instancias de Azure API Management incluyen un portal para desarrolladores en el que las API se pueden usar para consumidores de API potenciales y actuales. El portal para desarrolladores incluye una interfaz predeterminada que se puede personalizar para que coincida con la personalización de marca y los requisitos de su organización.

Los desarrolladores de aplicaciones con cuentas de desarrollador inician sesión en el portal para desarrolladores (que también acepta usuarios invitados que aún no tienen una cuenta). A continuación, se presenta a los desarrolladores una interfaz web que les permite interactuar con las API de las maneras siguientes:

  • Acceder a la documentación de la API. Los desarrolladores pueden revisar la documentación que ha proporcionado para cada API.
  • Probar una API. El portal para desarrolladores ofrece una consola interactiva que permite a los desarrolladores probar una API de forma rápida y segura. El desarrollador puede elegir una operación de API, agregar valores de parámetro y, a continuación, enviar la llamada para determinar qué respuesta devuelve la API.
  • Revisar ejemplos de código de API. El portal para desarrolladores ofrece ejemplos de llamadas API en varios lenguajes de programación, como C#, Java, JavaScript, PHP y Python.
  • Suscribirse a una API. Cuando un consumidor decide usar la API, el portal para desarrolladores permite al usuario crear una suscripción a la API y obtener una clave de suscripción para usarla al llamar a la API.
  • Ejecutando análisis. El portal para desarrolladores ofrece análisis sobre el uso que hace el desarrollador de una API.