Había una era donde usabas un servidor entero para hospedar un sitio o servicio web.
Después hubo una era donde creabas una máquina virtual y hospedabas ahí lo que querías optimizando así recursos.
Mucho más cercano existió la era Platform as a Service donde en tu nube podrías crear un servicio diseñado específicamente para una aplicación web.
Todo eso es cosa del pasado, ahora, es momento de correr microservicios, pequeñas mini aplicaciones diseñadas para cumplir con un solo objetivo, una sola tarea.
Azure Functions
Para comenzar veamos la explicación que el canal de Azure Functions en Youtube tiene para mostrar.
¿Fácil de entender no? Bueno, puedes seguir leyendo si crees que no fue suficiente.
Una función de Azure básicamente se trata de la máxima fragmentación de cualquier tipo de servicio que puedes pensar. Mira la siguiente imagen, ahí podrás ver como se van recortando los diferentes servicios en la nube.
Hablar de Serverless no es referirte a qué no se necesita de un servidor, velo como una analogía de Wireless en donde no se trata exactamente de una red sin cables, solo se trata de decir que el punto final si es inalámbrico, en el caso de las funciones no te preocuparás por nada más que la funcionalidad que estás buscando lograr.
¿Cómo funcionan?
Las funciones de Azure tienen un ciclo de vida sumamente breve. En este diagrama lo puedes ver en modo general.
El lanzador es quien invocará a la función, un punto muy destacable de esta herramienta de Azure es que no cobra por almacenamiento, memoria, cpu ni nada de eso, solo cobra por ejecución así que solo al desencadenarla con este lanzador es que funcionará.
La operación es simplemente el proceso que la función realizará una vez que haya sido invocada.
El resultado deberá regresar el valor esperado, casi siempre se trata de un resultado de los típicos de HTTP o algún formato JSON.
Su estructura
Puedes crear una función desde tu portal de Azure simplemente yendo a la sección: Compute > Function App.
Es relativamente fácil crearla, en la siguiente imagen podrás ver las opciones solicitadas para poder crear una aplicación de este tipo.
El punto que más me gusta es que puedes escoger el sistema operativo. Por ahora será Windows, ya tendremos muchos artículos para hablar acerca de Linux aquí. Una vez creadas, el resultado es el siguiente.
Si pasas tu cursor sobre la sección de la izquierda, en la categoría de Functions, verás un signo de «+», ahí podrás ver las tres opciones que hay para escoger por ahora.
Solo selecciona Crear, con eso basta por ahora, ya con la función creada podrás comenzar a jugar.
Todo comienza con el método (como podrás ver, se trata de un solo método y debes procurar que permanezca así), que recibe un parámetro de tipo HttpRequestMessage y es quien lleva la información ingresada.
La variable name obtiene el valor que tiene el mismo nombre y lo almacena. Si este valor no tiene los datos vacíos entonces se regresa una respuesta, en caso de datos vacíos igualmente se regresará pero otra respuesta. Expande la pestaña lateral derecha y selecciona la opción de Test.Como verás, la opción de Test está ya lista para solo presionar el botón y quedar listo. Verás el resultado en la misma pestaña de pruebas.
¡Listo! Has creado tu primera función en Azure, ahora hay mucho que hacer y explorar en esto, solo es el principio, ya vendrán los demás artículos con muchas opciones por explorar aquí.