Cómo no romper los límites, cómo crear una buena arquitectura y cómo hacer un buen mantenimiento

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.

serverless-pattern

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

AzureFunctions

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.

mm

Sobre Alberto Diaz Martin

Alberto Diaz cuenta con más de 15 años de experiencia en la Industria IT, todos ellos trabajando con tecnologías Microsoft. Actualmente, es Chief Technology Innovation Officer en ENCAMINA, liderando el desarrollo de software con tecnología Microsoft, y miembro del equipo de Dirección. Para la comunidad, trabaja como organizador y speaker de las conferencias más relevantes del mundo Microsoft en España, en las cuales es uno de los referentes en SharePoint, Office 365 y Azure. Autor de diversos libros y artículos en revistas profesionales y blogs, en 2013 empezó a formar parte del equipo de Dirección de CompartiMOSS, una revista digital sobre tecnologías Microsoft. Desde 2011 ha sido nombrado Microsoft MVP, reconocimiento que ha renovado por séptimo año consecutivo. Se define como un geek, amante de los smartphones y desarrollador. Fundador de TenerifeDev (www.tenerifedev.com), un grupo de usuarios de .NET en Tenerife, y coordinador de SUGES (Grupo de Usuarios de SharePoint de España, www.suges.es)
Esta entrada ha sido publicada en Azure, Cloud y etiquetada como , . Enlace permanente .
ENCAMINA, piensa en colores