Escribiendo funciones con Azure Functions

26
Escribiendo Funciones con Azure Functions Víctor Moreno Microsoft MVP @vmorenoz

Transcript of Escribiendo funciones con Azure Functions

Escribiendo Funcionescon

Azure Functions

Víctor MorenoMicrosoft MVP@vmorenoz

¿Qué voy a aprender?

Esta es una demostración donde aprenderás como defininirfunciones bajo la arquitectura “ServerLess” con el servicio de Azure Functions de Microsoft Azure.

Objetivos

• Crear una función en Azure Functions desde el portal de MicrosoftAzure así como ver su funcionamiento y maneras de configuración.

Requerimientos

• Una cuenta de Microsoft Azure.

Azure Fuctions

Azure Functions es el servicio de la nube de Microsoft Azure queofrece ejecución de cómputo sobre demanda por fragmentos decódigo. Se basa en el concepto de ServerLess que implica pensarmenos en servidores "Think less on servers" y ponerle más foco en lalógica del negocio.

Para mayor información acerca de Azure Functions, puedes visitar:Funciones sobre demanda, eso es Azure Functions

Demostración

Crear una función en Azure Functions desde el portal de MicrosoftAzure…

Dirijámonos al portal de Microsoft Azure: http://portal.azure.com

Y busquemos el servicio de “Function App”.

Una vez creado nuestro Azure Function Service, se nos mostrará unpanel donde administraremos todas las funciones asociadas a el,desde crearlas, configurarlas y programar su ejecución.

Para crear nuevas funciones, basta con presionar la opción de“Funciones” y “Nueva función” desde el menú de la izquierda.

Las funciones se clasifican en diferentes categorías, sus factores son:

• El lenguaje en el que actualmente están soportadas.

• Por su finalidad (cíclicas, procesamiento de datos, etc.).

• De acuerdo a la manera en que se iniciarán por sus Triggers yBindings.

En este ejemplo nos iremos por una “HTTPTrigger Function” con C#que responde ante solicitudes mediante el protocolo HTTP.

Al escoger el tipo de función “HTTPTrigguer” se nos generará uncódigo en automático listo para ser invocado, basta con tomar laURL proporcionada y colocarla en la barra de direcciones delnavegador.

En este ejemplo se solicita un parámetro llamado “name” el cual loagregaremos al final de la URL.

El archivo run.csx es el que contiene el código de nuestra función.

El archivo function.json define el comportamiento de la función deacuerdo a los bindings y triggers. Es editable y lo podemos cambiar aconveniencia.

Las claves de la función nos permiten encriptar su invocación y estaspueden existir en mas de una ocasión.

https://myazurefunction2017.azurewebsites.net/api/MyFunction_HttpTriggerCSharp?code=bNzGZRArBaBXzI6fAIRmE2xhZYueHgRJBoV3up9Fz0Ob/guqnuMloQ==

https://myazurefunction2017.azurewebsites.net/api/MyFunction_HttpTriggerCSharp?code=kPlRPRWjJaFFmMamFrtqyUYCnDbt/EcigGpe3pRHzdE5jZPdObb2Tg==

Todas ellas se definen desde la “Administración” de la función.

¿Se pueden cuantificar las ejecuciones?

La respuesta es si, si se puede. Basta con dirigirnos a la opción“Supervisar” y veremos el total de invocaciones a la función, tantoexitosas como no.

Si quisiéramos ver la información de manera mas grafica y con masdetalles podemos hacer uso de “Application Insights” otro de losservicios de Microsoft Azure y que esta ligado con Azure Functions.

Algunas conclusiones finales

• Con Azure Functions nuestro principal foco es el código, no endonde se ejecuta.

• El costo de las funciones esta asociado al tiempo de ejecución.

• Una función se puede escribir en múltiples lenguajes deprogramación.

• Las funciones puede administrarse desde el portal de Azure otambién desde Visual Studio y repositorios de GitHub.

• Las funciones responden tanto a eventos internos de Azure comode sistemas o nubes externas.

Víctor MorenoMicrosoft MVP@vmorenoz