Anuncio de Azure API Management para arquitecturas sin servidor

Publicado el 4 diciembre, 2018

Principal PM Manager, Microsoft Azure

Azure API Management es un servicio totalmente administrado que permite a los clientes publicar, proteger, transformar, mantener y supervisar API. Con solo algunos clics en Azure Portal, puede crear la fachada de una API que actúe como “puerta principal” a través de la cual aplicaciones externas e internas pueden acceder a lógica de negocios o datos implementados por sus servicios de back-end personalizados, que se ejecuten en Azure (por ejemplo, en App Service o Azure Kubernetes Service) o que estén hospedados fuera de Azure, en un centro de datos privado o en el entorno local. API Management controla todas las tareas que conlleva la mediación de llamadas API, como la autenticación y autorización de solicitudes, la imposición de cuotas y límites de frecuencia, la transformación de solicitudes y respuestas, el registro y el seguimiento, y la administración de versiones de las API.

Desde hoy, los clientes de Azure pueden elegir el nuevo nivel Consumo cuando creen una instancia nueva de API Management. Este nivel Consumo, que es básicamente una variante de API Management diseñada e implementada en torno a los principios de la informática sin servidor, permitirá que más clientes disfruten de las ventajas de API Management y será más adecuada para la nueva ola de aplicaciones creadas con tecnologías sin servidor.

El nivel Consumo de APIM habilita los siguientes casos de uso clave que nos venían comentado nuestros clientes:

  • Puerta de enlace de API para microservicios implementados con tecnologías sin servidor, como Functions y Logic Apps.
  • Puerta de enlace de API que proporciona una fachada simplificada y segura para recursos de Azure sin servidor, como colas y temas de Service Bus, Azure Storage, etc.
  • Puerta de enlace de API para back-ends tradicionales donde el tráfico de las API experimenta picos importantes pero se mantiene bajo la mayor parte del tiempo.

Si alguno de estos casos de uso es el suyo, esperamos que pruebe el nuevo nivel y nos dé su opinión.

Comparación de niveles

Para comprender la esencia del nuevo nivel, vamos a compararlo con niveles actuales.

API Management se lanzó con solo dos niveles: Developer y Estándar. Con el tiempo, hemos agregado el nivel Premium con altas prestaciones para clientes empresariales y el nivel Básico como nivel de producción inicial. Todos estos niveles tienen una arquitectura común, en la que cada instancia del servicio API Management tiene asignado un conjunto de recursos reservados para que solo los utilice ella. Aislamiento de seguridad, capacidad disponible al instante y protección de vecinos ruidosos son algunas de las ventajas principales de esta estrategia. Sin embargo, tenían algunos efectos secundarios: latencias de aprovisionamiento y escalado relativamente altas y precios que no se basan en el consumo, algo que no encaja muy bien con la nueva ola de soluciones basadas en el modelo de aplicaciones sin servidor.

El nivel Consumo utiliza los mismo componentes de servicio subyacentes que los niveles anteriores, pero usa una arquitectura completamente diferente basada en recursos compartidos y asignados de forma dinámica. Por tanto, es perfecto para el modelo de informática sin servidor, es decir, no hay infraestructura que administrar ni capacidad inactiva, y ofrece alta disponibilidad, escalabilidad automática y precios basados en el uso. Por todo ello, es una opción especialmente adecuada para aquellas soluciones que implican la exposición de recursos sin servidor en forma de API. La elección del nivel Consumo conlleva algunas cesiones. Las dos más importantes son un conjunto de características seleccionadas y la imposición de límites de uso. En la tabla siguiente se resumen los puntos clave de la comparación entre los niveles.

Consumo NUEVO Developer | Básico | Estándar| Premium
No hay que aprovisionar ni administrar infraestructura No hay que aprovisionar ni administrar infraestructura
Alta disponibilidad integrada Alta disponibilidad integrada1
Escalabilidad automática integrada (hasta cero) Escalabilidad automática2 externa o manual
Microfacturación basada en el consumo Facturación basada en la capacidad reservada
Sin capacidad reservada Capacidad reservada
Recursos compartidos Recursos dedicados
Activación a petición Siempre disponible
Conjunto de características seleccionadas Conjunto completo de características3
Límites de uso Sin gobierno

1Con la excepción del nivel Developer.

2Escalabilidad automática de Azure Monitor está disponible en los niveles Estándar y Premium.

3La disponibilidad de algunas características varía entre niveles.

Nuevas características

Las dos nuevas características siguientes, que ahora solo están disponibles en el nivel Consumo, pronto estarán disponibles en los demás niveles de API Management.

Bring Your Own Cache (BYOC): el almacenamiento en caché de las respuestas es una técnica eficaz y muy utilizada para mejorar la latencia de las API y reducir la carga de los back-ends de las API. Esta característica permite a los clientes configurar el servicio API Management para usar una memoria caché compatible con Redis aprovisionada externamente. Control total sobre la configuración de la memoria caché, capacidad de precargar y purgar el contenido de caché y capacidad para escalar el tamaño de la memoria caché independientemente de la instancia del servicio API Management que la utiliza son las ventajas clave de BYOC. También es la única opción de habilitar el almacenamiento en caché de las respuestas en el nivel Consumo, porque, a diferencia de los demás niveles, no viene con memoria caché integrada. Hemos modificado las directivas de almacenamiento en caché actuales para poder trabajar sin problemas con configuraciones de memoria caché integrada y externa.

Bring your own cache en el nivel Consumo

Suscripciones más flexibles: una suscripción es básicamente un contenedor con nombre para un conjunto de claves de API (dos, para ser exactos: principal y secundaria). Antes las suscripciones debían tener un usuario propietario y admitían un único ámbito de producto de API. Con el fin de optimizar la administración de claves, hemos realizado algunos cambios. Ahora se permiten suscripciones "independientes", no asociadas a ningún usuario. También hemos agregado dos ámbitos de suscripción más: todas las API y una sola API. Por tanto, ahora es posible, por ejemplo, crear claves que garanticen el acceso a una API (o a todas las API de una instancia de API Management), sin necesidad de crear un producto y agregarle la API (o llamar a todas las API) primero. Además, cada instancia de API Management viene ahora con una suscripción de todas las API inmutable, que facilita aún más las pruebas y la depuración de API en la consola de pruebas.

Opciones de suscripción

Trabajo restante

Hemos estado trabajando en el nivel Consumo desde la pasada primavera y estamos encantados de poder anunciarlo finalmente. No obstante, aún queda trabajo por hacer antes de darlo por terminado. Estas son algunas características y mejoras importantes que podrá ver en los próximos meses.

  • Nombre de host y certificado personificados.
  • Actualización "con un solo clic" a un nivel superior de API Management.
  • Aprovisionamiento más rápido (ya es superrápido en comparación con los niveles anteriores, pero esperamos mejorarlo más aún).
  • Latencia de “arranque en frío” reducida (aún no hemos hecho gran cosa en este sentido y la latencia está lejos de ser lo que debería).
  • Mayor disponibilidad en las regiones públicas de Azure (nuestra intención es que el nivel Consumo al completo esté disponible en todas las regiones donde se ofrece API Management).
  • Experiencias de tipo “Agregar API” para obtener más recursos sin servidor y PaaS (seguramente, verá iconos nuevos en la página Agregar API).

Disponibilidad

Estamos encantados de anunciar la disponibilidad inmediata del nivel Consumo en versión preliminar en las regiones Centro-norte de EE. UU., Oeste de EE. UU., Europa Occidental, Europa del Norte, Sudeste Asiático y Este de Australia.

No deje de probarlo: cree un nuevo servicio y vea lo fácil que es publicar una API importando una función o una aplicación lógica.

¿Desea saber más sobre la creación de API sin servidor? Eche un vistazo al seminario web “Build Serverless APIs with Node.js on Azure Functions” (Creación de API sin servidor con Node.js en Azure Functions).

Díganos lo que piensa.