Los servicios Serverless se han convertido en servicios de computación que diferencia a proveedores cloud del resto de competidores, pero a pesar de todo no son tan nuevos cómo creemos. Hace más de 3 años qué podemos contratar en el mercado servicios de computación donde no hay asignado conceptos como CPU o RAM, pero ahora esta opción de computación está creciendo de un modo que los Arquitectos ya no podemos obviar en las propuesta de una migración a arquitecturas Cloud.

La definición correcta de Serverless, es en aquel proveedor donde alojamos  una unidad completa de nuestro código o aplicación y unas condiciones o triggers que dispararan la ejecución de este código. Obviamente estaremos sujetos a algunas restricciones como la ausencia de acceso a disco o a recursos físicos o virtuales de hardware,  pero la idea de poder tener un número ilimitado de funciones o procedimientos listos para ser ejecutados y solo pagar por el número de ejecuciones, es muy atractivo.

De hecho, no serían más que otros servicios sin relevancia, si no fuera por grandes organizaciones como Netflix, Dropbox e incluso grandes empresas españolas, que ya usan este servicio para provisionar sus productos en el mercado y como línea principal de ejecución de sus aplicaciones. Saber que no hay más límite que nuestra tarjeta de crédito para que nuestra aplicación absorba demanda sin ningún coste adicional de mantenimiento,  tiene mucho sentido.

En los próximos meses, observaremos cómo Serverless,  será cada vez más,  un claro diferenciador Tecnológico entre los proveedores que lideran el mercado Cloud Público, donde encontramos:  Amazon Lambda, Microsoft Azure Functions y Google Cloud Functions.

Amazon Web Services – Lambda

AWS Lambda es, como en otros servicios de Amazon,  el primero en el mercado que estuvo operativo hace ya 3 años. También como en otros servicios de Amazon, no utilizaron tecnologías propias,  pero sí les posiciona ofrecer el servicio primero. Uno de los mejores puntos de este servicio es que es posible integrarlo con muchos de los servicios de Amazon como RDS, Kinesis, DynamoDB y puede ser monitoreado con Cloudwatch, asi como integrarse con servicios de Amazon Alexa.

Lambda es una de las opciones preferidas en grandes proyectos (Netflix, IE Business School de Madrid…) ya que pueden encontrarse además diversos contribuidores de funciones Lambda listas para incorporar en un proyecto concreto.

Otro punto destacable, es que players como Datadog o New Relic,  pueden monitorizar el estado de las funciones serverless, incorporarlas y comparar los flujos y procedimientos en dashboard dinámicos.

Azure Functions 

Functions fue la respuesta de Microsoft Azure a Amazon. Después de un año y medio en el mercado podemos decir que Microsoft ha puesto mucha ilusión y energía en la construcción de este servicio y lo demuestra por su capacidad de utilizar los principales lenguajes de programación de Microsoft, desde .Net, C# hasta scripts basados en Batch en PowerShell, JavaScript o Python, con lo que grandes clientes como Fujifilm lo ha elegido como base para correr sus aplicaciones públicas en la nube.

Al igual que Amazon es posible integrarlo con muchos de los servicios de Azure y hasta con Cortana, pieza angular de la nueva guerra para llegar a los dispositivos domésticos.

Google Cloud Functions

Google Cloud Functions acaba de llegar a Google Cloud Platform y si bien solamente por ahora sólo sólo admite código en JavaScript,tiene la gran característica de poder integrarse con el resto de servicios de Google, desde Storage hasta Spanner. Y al igual que sus competidores, puede monitorizarse a través de Stackdriver o herramientas de terceros y está llamado durante el 2018 a aumentarrápidamente sus características y lenguajes soportados.

Comparativa de los tres servicios

La capacidad de ahorrar costes hasta una fracción de una instancia clásica y la eliminación de facto de cualquier necesidad de administrar la plataforma que haga correr nuestra aplicación, son dos de las grandes oportunidades que ofrece los servicios Serverless.

En ACKSTORM, se estan incorporando estos servicios para aquellos proyectos con aplicaciones secundarias o procedimientos de almacenamiento o de análisis de datos, siempre que se traten de procesos muy controlados, pero lo que nos depara a futuro es ir usando,  cada vez más este tipo se servicios para autenticos portales de aplicación o proyectos de mayor envergadura.