Una introducción rápida a los proxies de funciones de Azure

En este artículo, analizaremos los proxies de funciones de Azure. Proporcionan "funcionalidad de proxy inverso" para Azure Functions. Los proxies de funciones de Azure son bastante similares a la administración de API de Azure.  

Esta publicación está inspirada en gran medida por Matthew Henderson, del equipo de funciones de Microsoft Azure. En su publicación de blog, Vista previa pública de Azure Functions Proxies, Matthew explica la razón por la que Microsoft ideó la ideología de Azure Function Proxies.

¿Qué son los proxies de funciones de Azure?

La idea básica detrás de Azure Function Proxies es que nos permiten definir una única superficie de API para múltiples aplicaciones de función. Ahora, cualquier aplicación de función puede definir un punto final que sirva como proxy inverso para otra API. El punto final puede ser una aplicación de función o cualquier otra cosa.

¿Está buscando una herramienta lista para usar para administrar y monitorear sus Azure Functions? Prueba este aquí gratis.

Razón para implementar Proxies de funciones de Azure

Para algunos usuarios, es difícil administrar grandes soluciones con una aplicación de función única. Hay un montón de organizaciones que utilizan la función de Azure en su arquitectura de microservicio con implementación entre componentes individuales. En este caso, cada aplicación de función tiene su propio alojamiento, por lo que hay muchas aplicaciones de función diferentes para realizar un seguimiento.

También podríamos tener alguna aplicación de función combinada con otra API, pero podrían estar en varias regiones diferentes. Así que terminamos pasando gran parte de esa complejidad a nuestro cliente o sistema consumidor.

Los proxies de funciones de Azure vienen al rescate al proporcionar un URI (identificador uniforme de recursos) unificado que el cliente puede consumir. Mientras tanto, podemos abstraer todas las diferentes aplicaciones de funciones u otras API y también nos permitiría construir nuestra API a un ritmo más rápido.

Explicación

Proxies de funciones de Azure

En el diagrama de arquitectura de la solución anterior, tenemos un proxy de función de Azure seguido de una cola de bus de servicio y función de Azure en el back-end para almacenar información. En el otro extremo del diagrama, tenemos Data Publishers. Para los propósitos de esta discusión, digamos que Power Equipment genera el evento de etiqueta y lo reenvía a Azure Functions a través de Proxy.

Inicialmente, creamos una aplicación de función seleccionando la opción de función en Azure Portal. Aquí digamos que creamos un disparador HTTP para C # donde la función del disparador HTTP es invocar una función con una solicitud HTTP.

Ahora creamos dos funciones: una es la PostTag que representa nuestra publicación si queremos crear una etiqueta. El código para la función PostTag es el siguiente:

Publicar etiqueta

Luego, creamos otra función llamada GetTag con el código especificado de la siguiente manera:

Obtener etiqueta

Usamos GetTag para extraer el mensaje de la cola y el último valor de etiqueta regresa al cliente.

Podemos seleccionar el enlace especificado a continuación para obtener la URL de ambas funciones. Este enlace nos proporcionará un token de seguridad para su autorización.

Para obtener la URL de la función

En este punto, pasamos a la Configuración de la aplicación de función y habilitamos los Proxies de función de Azure que tienen la última versión de tiempo de ejecución de proxy de 0.2. En consecuencia, seleccionamos la opción "New Proxy" de Function App Development que nos permite crear dos proxies. Son Proxy GetTag y Proxy PostTag. Las opciones disponibles en proxy son:

  • URL de proxy
  • Plantilla de ruta
  • URL de backend

La URL especificada en la URL del proxy y la plantilla de ruta son las mismas con respecto al evento GetTag y PostTag. La URL de backend del Proxy GetTag estará relacionada con el evento GetTag, pero para el Proxy PostTag estará relacionada con el evento PostTag.

Envolver

Los servidores proxy de funciones de Azure son una excelente manera de simular y probar su punto de conexión de Azure Functions incluso antes de que comience el desarrollo de back-end real. Además, incluso se pueden usar en producción cuando necesite enrutar un URI a otro.

Me gustaría concluir que los servidores proxy de funciones de Azure son una de las características más atractivas y de lanzamiento al mercado que ha proporcionado el equipo de Azure Functions.

Este blog se publicó originalmente en Serverless360.