Creación de una nueva API en API Management a partir de una aplicación de función

Completado

El servicio Azure API Management le permite construir una API a partir de un conjunto de microservicios dispares.

En la tienda en línea, cada parte de la aplicación se implementa como un microservicio: uno para los detalles del producto, otro para los detalles del pedido, etc. Un equipo independiente administra cada microservicio y cada equipo utiliza el desarrollo y la entrega continuos para actualizar e implementar su código de forma periódica. Desea encontrar una manera de ensamblar estos microservicios en un solo producto y luego administrar ese producto de forma centralizada.

En esta unidad aprenderá cómo Azure API Management es útil en una arquitectura sin servidor, mediante la creación de API individuales a partir de microservicios individuales.

Arquitectura sin servidor y microservicios

Los microservicios son un enfoque popular para la arquitectura de las aplicaciones distribuidas. Cuando crea una aplicación como una colección de microservicios, crea muchos servicios pequeños diferentes. Cada servicio tiene un dominio de responsabilidad definido, y se desarrolla, implementa y escala de forma independiente. Esta arquitectura modular da como resultado una aplicación que es más fácil de entender, mejorar y probar. También facilita la entrega continua porque se cambia solo una pequeña parte de toda la aplicación al implementar un microservicio.

Otra tendencia complementaria en el desarrollo de software distribuido es la arquitectura sin servidor. En este enfoque, una organización anfitriona publica un conjunto de servicios que los desarrolladores pueden usar para ejecutar su código. Los desarrolladores no tienen que preocuparse por el hardware de soporte, los sistemas operativos, el software subyacente y otras infraestructuras. En su lugar, el código se ejecuta en recursos informáticos sin estado desencadenados por solicitudes. Solo se incurre en costos cuando se ejecutan los servicios, por lo que no paga mucho por los servicios que rara vez se usan.

Azure Functions

Azure Functions es un servicio que permite arquitecturas sin servidor en Azure. Puede escribir funciones, sin preocuparse por la infraestructura de soporte, en muchos lenguajes diferentes, incluidos C#, Java, JavaScript, PowerShell y Python. También puede usar bibliotecas de NuGet y Node Package Manager (npm), y autenticar a los usuarios con el estándar OAuth de proveedores como Active Directory, Facebook, Google y Microsoft Account.

Cuando escribe una función, elige una plantilla para usar, según cómo desee activar su código. Por ejemplo, si desea ejecutar la función en respuesta a una solicitud HTTP, use la plantilla HTTPTrigger. Puede usar otras plantillas para ejecutar cuando hay nuevos mensajes en una cola, en un contenedor de Blob Storage o en una programación predefinida.

Cuando usa Azure Functions en un plan de consumo, solo se le cobra por el tiempo que se ejecuta su código.

Azure API Management

Azure API Management es un servicio en la nube totalmente administrado que puede usar para publicar, proteger, transformar, mantener y supervisar API. Ayuda a las organizaciones a publicar API para desarrolladores externos, asociados e internos para desbloquear el potencial de sus datos y servicios. API Management controla todas las tareas implicadas en la mediación de llamadas API, lo que incluye la autenticación y autorización de solicitudes, el límite de velocidad y la aplicación de cuotas, la transformación de solicitudes y respuestas, el registro y el seguimiento, y la administración de versiones de API. API Management le permite crear y administrar puertas de enlace de API modernas para servicios de back-end existentes sin importar dónde estén hospedados.

Como puede publicar Azure Functions a través de API Management, puede usarlas para implementar una arquitectura de microservicios; cada función implementa un microservicio. Al agregar varias funciones a un solo producto de API Management, puede incorporar esos microservicios en una aplicación distribuida integrada. Una vez que se crea la aplicación, puede usar directivas de administración API Management para implementar el almacenamiento en caché o garantizar los requisitos de seguridad.

Nivel de consumo de API Management

Al elegir un plan de uso para API Management, puede elegir el nivel de consumo. El nivel de consumo es especialmente adecuado para arquitecturas basadas en microservicios y sistemas controlados por eventos. Por ejemplo, sería una gran opción para nuestra API web de tienda en línea.

El nivel de consumo utiliza los mismos componentes de servicio subyacentes que los niveles anteriores, pero emplea una arquitectura completamente diferente basada en recursos compartidos asignados dinámicamente. El nivel de consumo se alinea perfectamente con los modelos informáticos sin servidor. No hay ninguna infraestructura que administrar ni ninguna capacidad inactiva. Proporciona alta disponibilidad, escalado automático y precios basados en el uso. Todos estos hacen que el nivel de consumo sea una opción especialmente buena para las soluciones que implican exponer recursos sin servidor como API.

En la siguiente unidad, crearemos una instancia de API Management y le agregaremos una función.