¿Qué es la Azure API Management?
Empecemos con una introducción rápida de Azure API Management y sus características principales. Esta información general debería ayudarle a decidir si Azure API Management podría ser una solución adecuada para reducir la complejidad de las API de su empresa.
¿Qué es la administración del ciclo de vida de API?
La administración del ciclo de vida de las API es el proceso de administrar una API durante toda su vida útil, desde su diseño y creación hasta su obsolescencia y retirada. Para los fines de este módulo, retomaremos esto una vez que las API ya se hayan diseñado, codificado e implementado. Nos centraremos en el resto de las tareas de administración del ciclo de vida de las API, por ejemplo:
- Proporcionar documentación, pruebas y ejemplos de código de las API.
- Incorporación y baja de usuarios.
- Administración de suscripciones de API y distribución de claves de suscripción.
- Implementación de revisiones de API de forma controlada y segura.
- Administración de varias versiones de una API.
- Implementación de controles de acceso de API, como la autenticación y los límites de frecuencia de llamadas.
- Proporcionar informes de API sobre uso, errores, etc.
- Administración de análisis para su empresa y para los desarrolladores que usan las API.
Definición de Azure API Management
Azure API Management es un servicio en la nube que proporciona una plataforma para publicar, proteger, mantener y analizar todas las API de su empresa. Azure API Management realiza todas estas tareas gracias a sus tres componentes principales:
- Puerta de enlace
- Interfaz de administración
- Portal para desarrolladores
Importante
Azure API Management no hospeda las API reales; las API permanecen donde se implementaron originalmente. En su lugar, Azure API Management actúa como un tipo de fachada o "puerta principal" para las API. De esta manera, Azure API Management desacopla las API al permitirle establecer directivas de API y otras opciones de administración en Azure, al tiempo que deja intactas las API de back-end implementadas.
Puerta de enlace
La puerta de enlace de Azure API Management es un punto de conexión de Azure que acepta todas las llamadas de todas las API. La puerta de enlace:
- Comprueba las claves de suscripción API y otras credenciales.
- Aplica cuotas de uso y límites de frecuencia.
- Transforma la API según sea necesario para agregar compatibilidad de back-end.
- Enruta cada llamada a su servidor back-end adecuado.
- Almacena en caché las respuestas de back-end.
- Recopila metadatos de llamadas para cargas de trabajo de análisis.
Interfaz de administración
La interfaz de administración Azure API Management es un conjunto de páginas y herramientas del portal de Azure que le permiten administrar su servicio y sus API. Además del aprovisionamiento, el escalado y la supervisión del servicio, se usa la interfaz administrativa para:
- Definición o importación de especificaciones de API
- Implementación de directivas de uso como cuotas y límites de frecuencia
- Habilitación de directivas de seguridad
- Administración de usuarios
- Empaquetado de las API en productos
- Definición de transformaciones de API
- Administración de revisiones y versiones de API
- Ejecución de análisis en los metadatos de API
Portal para desarrolladores
El portal para desarrolladores de Azure API Management es un sitio web totalmente personalizable que permite a los desarrolladores interactuar con sus API a través de:
- Revisando la documentación de cada API.
- Probando una API mediante la consola interactiva.
- Revisando ejemplos de código en distintos lenguajes de programación.
- Suscribiéndose a una API y obteniendo la clave de suscripción de la API.
- Ejecutando análisis sobre el uso del desarrollador.
Niveles de Azure API Management
Azure API Management proporciona varios niveles de servicio, cada uno de los cuales ofrece un conjunto distinto de características, funcionalidades y precios. En la tabla siguiente se enumeran los niveles en orden del precio más bajo al más alto y se comparan algunas funcionalidades clave.
Criterios | Consumo | Developer | Basic | Estándar | Premium |
---|---|---|---|---|---|
Diseñada para | Uso ligero | Evaluación, pruebas y otros usos que no son de producción | Uso en producción de nivel de entrada | Casos de uso de producción de volumen medio | Casos de uso de producción de gran volumen o empresarial |
Memoria caché | Solo externo | 10 megabytes (MB) | 50 MB | 1 gigabyte (GB) | 5 GB |
Acuerdo de Nivel de Servicio (SLA) | 99,95 % | Ninguno | 99,95 % | 99,95 % | 99,99% |
Portal para desarrolladores | No | Sí | Sí | Sí | Sí |
Análisis integrado | No | Sí | Sí | Sí | Sí |
Rendimiento (solicitudes estimadas/s) | N/D | 500 | 1,000 | 2,500 | 4\.000 |
Nota:
El precio del nivel consumo es por llamada API, donde el primer millón de llamadas son gratuitas y el resto se facturan a una tarifa fija por 10 000 llamadas. El precio de todos los demás niveles es por hora.
Aplicación de directivas a solicitudes y respuestas de API
Uno de los mayores problemas con tener varias API publicadas es que cada API requiere un conjunto independiente de directivas. En este caso, una directiva es una configuración o acción que controla el comportamiento de la API. Por ejemplo, si desea aplicar un límite de frecuencia (el número máximo de llamadas API permitidas desde un único origen en un período de tiempo determinado), incluiría ese límite como parte de las directivas de una API. Una directiva de límite de frecuencia es solo un ejemplo, pero hay otras muchas directivas que se pueden aplicar. Si multiplique esto por varias API diferentes, tendrá un problema de administración.
Azure API Management soluciona el problema de las directivas de API, ya que permite establecer directivas para todas las API en un único lugar, que es la interfaz de administración de Azure API Management. Con Azure API Management, puede establecer directivas en muchas categorías: Una lista parcial incluye:
- Restricción de acceso. Estas directivas determinan cuándo se permite una solicitud de API a través de la puerta de enlace. Por ejemplo, aplican límites de frecuencia y cuotas de uso, filtran las IP del autor de la llamada y comprueban si hay un solo método JSON Web Token (JWT) válido.
- Autenticación. Autentican las llamadas a la API, por ejemplo, utilizando la autenticación básica, un certificado de cliente o una identidad administrada.
- Almacenamiento en caché. Mejoran el rendimiento de la API almacenando y recuperando respuestas en la memoria caché.
- Validación. Validan las llamadas API comparando determinados parámetros con lo que se encuentra en la especificación de la API. Por ejemplo, validan el cuerpo de la solicitud o respuesta, los parámetros del encabezado de solicitud y los encabezados de respuesta.
Combine con flexibilidad sus directivas en definiciones de directivas, que son documentos XML que consisten en una serie de declaraciones, cada una de las cuales representa una directiva y sus parámetros. Las definiciones de directiva permiten configurar directivas independientes en distintas fases de la canalización de solicitud-respuesta de API: