Azure

FaaS o Arquitectura Serverless

Con todo esto del Cloud la arquitectura de las aplicaciones se adaptan y evolucionan a nuevos modelos o patrones de ejecución como, por ejemplo, la arquitectura Serverless o Function as a Services.

Cuando hablamos de arquitectura Serverless nos referimos a elementos de nuestras aplicaciones que se ejecutan en algún tipo de contenedor sin estado a petición, programados o por algún tipo de evento, y que no necesitamos administrar los recursos de hardware para su ejecución.

Este modelo se basa en ejecutar código de backend sin administrar los servidores o las aplicaciones, el escalado horizontal es completamente automática y gestionado por el proveedor donde hemos alojado nuestro código.

Serverless implica ciertas restricciones sobre el estado de ejecución, no podemos asumir que se mantiene en estado de la memoria RAM o de lo que escribamos en el disco local, por lo tanto, las ejecuciones no deberían depender de estos recursos para gestionar los estados de los datos.

Azure Functions

Azure Functions es un servicio de Azure, la cloud pública de Microsoft, que atiende a este modelo de arquitectura.

Como bien define este patrón, con Azure Functions podemos ejecutar piezas o funciones de nuestro código sin preocuparnos de la infraestructura de ejecución ni de los recursos que se necesitan. Además, podemos implementar esas funciones con C#, Node.js, Python, PHP, Bash, Batch o PowerShell.

Por su puesto, sólo pagamos por el tiempo que nuestras funciones se están ejecutando o, lo que es lo mismo, por los recursos de Azure que necesita para su ejecución.

Por último, identifiquemos los puntos de entrada o ejecución de las funciones que son los siguientes:

  • Trigger desde un Blob de Azure Storage
  • Trigger desde un Event Hub
  • Webhook
  • Petición HTTP
  • Trigger desde una Queue de Azure Storage
  • Trigger desde una Queue de Azure Service Bus
  • Trigger desde un Topic de Azure Service Bus
  • Ejecución programada por tiempo

Similar a los servicios de Windows en una arquitectura OnPremises, Azure Functions nos cubre ciertos casos de uso de back-end de nuestras aplicaciones. Si nos ponemos manos a la obra para definir una arquitectura Cloud, tarde o temprano encontraremos un punto donde este patrón de arquitectura resolverá vuestros problemas.

Compartir
Publicado por
Alberto Diaz Martin

Este sitio web utiliza cookies para que tengas la mejor experiencia de usuario. Si continuas navegando, estás dando tu consentimiento para aceptar las cookies y también nuestra política de cookies (esperemos que no te empaches con tanta cookie 😊)