Explorando Azure Functions

Azure Functions es un servicio relativamente nuevo de Microsoft Azure (lanzado como Preview a fines de marzo de 2016) que nos permite ejecutar código en base a eventos, sin preocuparnos en absoluto por la infraestructura en donde corre, una corriente llamada arquitectura serverless (sin servidor).

Dos servicios con los que compite son AWS Lambda y Google Cloud Functions.

Características

Lenguajes

Tenemos una amplia variedad de lenguajes para programar una Azure Function: C#, JavaScript, F# (en preview), Python, PHP, Java, e incluso Bash, Batch o PowerShell.

Gran variedad de triggers

El servicio está basado en el SDK de WebJobs, por lo que si ya trabajamos con ellos, veremos muchas cosas en común, como los triggers (desencadenadores) y los bindings (enlaces):

Tipo Servicio Desencadenador Entrada Salida
Scheduler Azure Functions
HTTP (REST o Webhook) Azure Functions ✔*
Almacenamiento de blobs Azure Storage
Eventos Azure Event Hubs
Colas Azure Storage
Tablas Azure Storage
Tablas Azure Mobile Apps
Base de datos no SQL DocumentDB
Notificaciones de inserción Azure Notification Hubs

(*- El enlace de salida HTTP requiere un desencadenador de HTTP)

Fuente: Enlaces

Modelo de ejecución «serverless»

Una de las propuestas de valor de PaaS (Platform-as-a-Service) es la abstracción de la capa de sistema operativo de nuestro código. La plataforma nos provee de imágenes del sistema operativo pre configuradas, que no requieren ningún tipo de mantenimiento y pueden ser escaladas de acuerdo a la carga de nuestro proceso. Azure Functions extiende este concepto PaaS proveyendo a los desarrolladores una abstracción completa de la infraestructura sobre la que corre el código, yendo a un modelo de pago por ejecución que escala automáticamente en base a las invocaciones de los triggers.

Esquema de costos

El servicio nos permite elegir si queremos correr nuestras Functions dentro de un entorno de Azure App Service que ya poseemos, por ejemplo si ya tenemos una Web o Mobile App, o si queremos optar por un esquema totalmente dinámico en el cual nos cobrarán por la cantidad de ejecuciones y por el tiempo y uso de memoria que haga nuestro código durante su ejecución. El precio del servicio puede verse aquí.

Modelo de código abierto que corre en todos lados

El entorno de ejecución, los templates, la UI y el SDK de WebJobs son todos de código abierto y se desarrollan de forma pública. El entorno de ejecución será portable, por lo que permitirá correr Functions en Azure, en nuestro propio datacenter o en otra nube.

@gjbellmann

Anuncio publicitario

1 comentario en “Explorando Azure Functions

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.