Azure Function: cómo crearlo, sus características y ventajas

¿Qué es Azure Function?

Azure Function es una solución para ejecutar fácilmente pequeños fragmentos de código o «funciones» en la nube. Toma los conceptos básicos de los ya conocidos WebJobs y los amplía de forma interesante.

Azure Function nos presenta una multitud de nuevos triggers para poder ejecutarlo. Entre todos estos triggers podemos encontrar: Cosmos DB, Event Hub y WebHooks.

Ventajas del uso de Azure Function.

  • Podemos codificar todo el código que necesitemos para el problema / acción que se quiere ejecutar sin preocuparnos de la aplicación o la infraestructura para ejecutarlo.
  • Hace que el desarrollo sea más productivo.
  • Cambio en el modelo de pago frente a los WebJobs. Azure Function dispone de dos modelos de pago y, además, se puede incluir en un modelo de pago ya existente como un App Service. También se puede pagar solo por el tiempo que este en ejecución esa función.
  • Podemos codificar en diferentes lenguajes de programación, como C#, F#, Node.js, Java o PHP.
  • Nos permite desarrollar aplicaciones sin servidor en Microsoft Azure. https://portal.azure.com/

Características de Azure Function

Entre las características más importantes que podemos encontrar en Azure Function se encuentran:

  • Codificar en distintos lenguajes de programación: C#, F#, JavaScript…
  • Pagar solo el tiempo en el que el Azure Function este en ejecución.
  • Admite tanto Nuget como NPM.
  • Permite codificar tanto en el portal de Azure como en nuestra aplicación y luego integrarla configurando la integración continua en Azure.

Triggers de ejecución de un Azure Function

Estos son los triggers de los que dispone actualmente un Azure Function para su ejecución:

  • HTTPTrigger: Ejecutamos el código del Azure Function mediante una solicitud HHTP. Ejemplo
  • TimerTrigger: Ejecutamos el código del Azure Function mediante un temporizador. Ejemplo
  • CosmosDBTrigger: Ejecutamos el código del Azure Function cuando agregamos o actualizamos las colecciones en una base de datos. Ejemplo
  • BlobTrigger: Ejecutamos la función cuando agregamos nuevos blobs a los contenedores de Azure Storage. Ejemplo
  • QueueTrigger: Ejecuta el código de una función conforme llegan a una cola de Azure Storage. Ejemplo
  • EventHubTrigger: Responde a eventos proporcionados a un Azure Event Hub. Ejemplo

Creación de un Azure Function

Pasos a seguir para la creación de un nuevo Azure Function:

  • Entramos al portal de Azure https://portal.azure.com/ y nos logeamos. Este es el Dashboard del portal de Azure una vez hemos realizado el login:

  • Pulsamos sobre la opción “Create a resource” y nos aparecerá un buscador en el que pondremos “Function App”, donde seleccionaremos la opción que aparece remarcada en la imagen.

  • Nos aparecerá el siguiente menú:

  1. App name: Nombre del Function App.
  2. Subscription: Suscripción a la que está asociada nuestra cuenta de Azure.
  3. Resource group: grupos de recursos de Azure, podemos crear uno nuevo o usar uno ya existente.
  4. OS: Sistema operativo Windows/Linux.
  5. Hosting Plan: Podemos seleccionar el modelo de pago de cuando el Azure Function este en ejecución, o bien utilizar algún plan de pago que ya exista en algún App Service ya creado.
  6. Location: Localización del Function App.
  7. Runtime Stack: Podemos seleccionar .NET, JavaScript o Java.
  8. Storage: Contenedor que utilizara el Azure Function. Podemos crear uno nuevo o usar uno ya existente.
  • Una vez creado nuestro Function App, procedemos a crear nuestros Azure Function con cualquiera de los Triggers de los que dispone para su ejecución:

1. Nombre del Function App que hemos creado anteriormente.

2. Botón para crear un nuevo Azure Function.

3. Todos los triggers de los que disponemos para crear nuestro Azure Function.

4. Azure Function ya creadas.

  • Este sería el aspecto de nuestro Azure Function ya creado. En el ejemplo, vemos que es un Azure Function con un TimerTrigger configurado con expresión CRON, ejemplo: 0 */1 * * * *

Esto ejecutará el código de nuestra función cada minuto, en este caso nos mostrara en el log de la función Dia y la hora en el momento que se ha ejecutado la función.

En conclusión, Azure Function proporciona una solución para manejar operaciones a gran escala a un coste muy bajo, por lo que estoy completamente convencido de que sustituirá los modelos de alojamiento tradicionales, ya que el enfoque de administración sin intervención reduce las demandas de las operaciones, a la par que mantiene los costos bajos.

Webinar Azure