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

Containerless, una versión Serverless de Contenedores en Azure

 

Azure Container Instances es la versión Serverless para ejecutar contenedores en Azure, lo que nos simplifica la administración o el provisionado de servidores que conformen un cluster. Simplemente instanciamos un contenedor y se ejecuta, sin saber dónde ni cómo.

Azure nos ofrece diversos servicios con arquitectura Serverless, por ejemplo, Azure Functions, que es un servicio en el cual ejecutamos nuestro código ante una petición y,  salvo que cambiemos el modo de ejecución a no-serverless (App Service Plan), nos ofrece como máximo 10 minutos para la ejecución del proceso.

¿Cómo funciona Azure Functions?

En realidad, Azure Functions empaqueta nuestro código (C#, nodejs, …) en un contenedor y  cuando se desencadena la ejecución, instancia el contenedor en alguno de los nodos disponibles para que se ejecute con la variables de contextos adecuadas y los datos necesarios.

En función del número de desencadenadores, Azure Functions instanciará tantos contenedores como sean necesarios y, si los estresamos un poco, podemos ver como aumenta el número de instancias y los nodos o servidores que están atendiendo las peticiones.

¿Cómo funciona Azure Container Instances?

Azure Container Instances (ACI) ejecuta un contenedor en base a una imagen (pública o privada), con la memoria RAM y la CPU que necesitemos. Además de poder añadir una dirección IP pública o montar un volumen de Azure File Share.

Sin ningún tipo de desencadenador implementado en el servicio, nos ofrece una API de administración para crear e instanciar contenedores, además de eliminarlos y conocer su estado.

ACI no ha sido diseñado para ejecutar aplicaciones basadas en Microservicios, ya que no disponemos de ningún tipo de orquestador, como en Azure Container Services o en Kubernetes. Sin embargo, puede ser una buena opción para aumentar la capacidad de nuestro cluster en determinados momentos.

¿Cuándo usar ACI?

ACI encaja perfectamente fuera de los límites que Azure Functions tiene por diseño del servicio. Con ACI podemos ejecutar procesos sin límite de tiempo, instalar artefactos en el contenedor o montar un volumen usando Azure File Shares.

Por ejemplo, un simple proceso que crea una infraestructura de sitios en SharePoint Online. Si lo planteamos usando Azure Functions, sabemos que los tiempos de respuesta pueden ser superiores a 10 minutos, por lo tanto, tenemos que cambiar a un modo no-serverless (App Service Plan) o utilizar el patrón de Workflow de las Durable Functions para dividir en subprocesos todos los pasos que necesitamos ejecutar.

Con ACI, simplemente tendríamos un contenedor, con el código que necesitamos para crear la infraestructura. Este contenedor, se podría instanciar bien desde una Azure Logic App, que tiene unas actividades específicas para crear instancias, ejecutarlas y eliminarlas.

Espero que te haya gustado el artículo y sobretodo, que te haya inspirado 😉

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 y etiquetada como , , . Enlace permanente .
ENCAMINA, piensa en colores