Funcionamiento de Azure Functions

Completado

En esta unidad, obtendrá información sobre cómo usar Azure Functions para desarrollar arquitecturas sin servidor y usar las distintas implementaciones de características que proporciona Functions.

También obtendrá más información sobre el funcionamiento de Azure Functions. Esto le ayudará a determinar cómo puede usar mejor Azure Functions para satisfacer los requisitos de la organización.

Azure Functions es una solución de proceso sin servidor que permite escribir menos código. Es una oferta de plataforma como servicio, por lo que no tiene que preocuparse por hospedar la aplicación, y esto le permite ahorrar costos.

Azure Functions es una excelente solución para procesar datos e integrar sistemas, trabajar con Internet de las cosas (IoT) y generar API simples y microservicios.

Escalado de aplicaciones de funciones

El contexto en el que se ejecutan las funciones se denomina aplicación de funciones. Una aplicación de funciones es una unidad de implementación, administración y escalado de las funciones. Todas las funciones de una aplicación de funciones comparten la misma configuración y las mismas conexiones.

En los planes Consumo y Premium, Azure Functions escala los recursos de CPU y memoria mediante la agregación de instancias de aplicaciones de funciones. El número de instancias se determina según el número de eventos que desencadenan una función. Todas las funciones de una aplicación de funciones comparten recursos al mismo tiempo en una instancia y escala determinadas.

Supervisión de Azure Functions

Azure Functions ofrece integración incorporada con Azure Application Insights para supervisar las funciones. Application Insights recopila información del registro, el rendimiento y los errores. Ayuda a detectar anomalías de rendimiento, diagnosticar problemas y comprender mejor cómo se usan las funciones.

La instrumentación de Application Insights que necesita está integrada en Azure Functions. Con la integración de Application Insights, los datos de telemetría se envían a la instancia de Application Insights conectada. Estos datos incluyen los registros generados por el host de Functions, los seguimientos que se escriben desde el código de Functions y los datos de rendimiento.

Nota

Además de los datos de las funciones y del host de Functions, también puede recopilar datos del controlador de escala de Functions.

En la imagen siguiente se muestra un ejemplo de visualización de datos en Application Insights para una aplicación de funciones.

Screenshot showing Monitoring telemetry data for Azure Functions

Componentes de Azure Functions

En la tabla siguiente se describen los componentes principales de Azure Functions:

Componente Descripción
Desencadenadores de función Los desencadenadores son lo que provocan que una función se ejecute. Un desencadenador define cómo se invoca una función y cada función debe tener exactamente un desencadenador.
Enlaces de funciones El enlace a una función es una manera de conectar otro recurso a la función mediante declaración. Los enlaces pueden estar conectados como enlaces de entrada, enlaces de salida o ambos. Los datos de los enlaces se proporcionan a la función como parámetros. Si no desea o no puede usar enlaces, puede seguir usando un SDK de cliente en las funciones como lo haría normalmente al conectarse a los servicios.
Tiempo de ejecución de la función Actualmente, Azure Functions admite varias versiones del host del entorno de ejecución. Functions también admite muchos entornos de ejecución diferentes, como .NET Core, Node.js, Java, PowerShell y Python. Durante la fase de desarrollo, puede instalar el entorno de ejecución de Functions en el equipo local y ejecutar funciones localmente mediante Azure Functions Core Tools.
API Management APIM proporciona seguridad y enrutamiento para los puntos de conexión de funciones desencadenadas mediante HTTP, a fin de exponerlos como si se tratara de una API de REST real.
Ranuras de implementación Las ranuras de implementación de Azure Functions permiten que la aplicación de funciones ejecute instancias diferentes conocidas como "ranuras". Las ranuras son entornos diferentes que se exponen a través de un punto de conexión disponible públicamente. Las ranuras proporcionan una manera de probar una nueva versión de las funciones en Azure en un entorno seguro y, a continuación, intercambiar sin problemas la nueva versión en el entorno de producción.
Configuración de la aplicación de funciones Las cadenas de conexión, las variables de entorno y otras opciones de configuración de la aplicación se definen por separado para cada aplicación de funciones. Esta configuración de la aplicación de funciones se puede leer en el código como variables de entorno.

Estos componentes funcionan conjuntamente para proporcionar a los ingenieros de aplicaciones y DevOps una plataforma integral para desarrollar arquitecturas sin servidor mediante Azure Functions.

Comprobar los conocimientos

1.

¿Cuántos desencadenadores tiene una función de Azure?