Esta es una demostración donde aprenderás como defininir funciones bajo laarquitectura “ServerLess” con el servicio de Azure Functionsde Microsoft Azure.
2. ¿Qué voy a aprender?
Esta es una demostración donde aprenderás como defininir
funciones bajo la arquitectura “ServerLess” con el servicio de Azure
Functions de Microsoft Azure.
3. Objetivos
• Crear una función en Azure Functions desde el portal de Microsoft
Azure así como ver su funcionamiento y maneras de configuración.
5. Azure Fuctions
Azure Functions es el servicio de la nube de Microsoft Azure que
ofrece ejecución de cómputo sobre demanda por fragmentos de
código. Se basa en el concepto de ServerLess que implica pensar
menos en servidores "Think less on servers" y ponerle más foco en la
lógica del negocio.
Para mayor información acerca de Azure Functions, puedes visitar:
Funciones sobre demanda, eso es Azure Functions
7. Dirijámonos al portal de Microsoft Azure: http://portal.azure.com
Y busquemos el servicio de “Function App”.
8.
9.
10. Una vez creado nuestro Azure Function Service, se nos mostrará un
panel donde administraremos todas las funciones asociadas a el,
desde crearlas, configurarlas y programar su ejecución.
11.
12. Para crear nuevas funciones, basta con presionar la opción de
“Funciones” y “Nueva función” desde el menú de la izquierda.
13.
14. 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 y
Bindings.
En este ejemplo nos iremos por una “HTTPTrigger Function” con C#
que responde ante solicitudes mediante el protocolo HTTP.
15.
16. Al escoger el tipo de función “HTTPTrigguer” se nos generará un
código en automático listo para ser invocado, basta con tomar la
URL proporcionada y colocarla en la barra de direcciones del
navegador.
En este ejemplo se solicita un parámetro llamado “name” el cual lo
agregaremos al final de la URL.
17.
18.
19. 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 de
acuerdo a los bindings y triggers. Es editable y lo podemos cambiar a
conveniencia.
20.
21. Las claves de la función nos permiten encriptar su invocación y estas
pueden existir en mas de una ocasión.
https://myazurefunction2017.azurewebsites.net/api/MyFunction_HttpTriggerCSharp?code=bNzGZRArBaBXzI
6fAIRmE2xhZYueHgRJBoV3up9Fz0Ob/guqnuMloQ==
https://myazurefunction2017.azurewebsites.net/api/MyFunction_HttpTriggerCSharp?code=kPlRPRWjJaFFmM
amFrtqyUYCnDbt/EcigGpe3pRHzdE5jZPdObb2Tg==
Todas ellas se definen desde la “Administración” de la función.
22.
23. ¿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, tanto
exitosas como no.
Si quisiéramos ver la información de manera mas grafica y con mas
detalles podemos hacer uso de “Application Insights” otro de los
servicios de Microsoft Azure y que esta ligado con Azure Functions.
24.
25. Algunas conclusiones finales
• Con Azure Functions nuestro principal foco es el código, no en
donde se ejecuta.
• El costo de las funciones esta asociado al tiempo de ejecución.
• Una función se puede escribir en múltiples lenguajes de
programación.
• Las funciones puede administrarse desde el portal de Azure o
también desde Visual Studio y repositorios de GitHub.
• Las funciones responden tanto a eventos internos de Azure como
de sistemas o nubes externas.