La tecnología Serverless es un nuevo concepto que se está expandiendo con fuerza por las ventajas que ofrece. Si todavía te estás acostumbrando a trabajar en la nube (y muchas empresas todavía no se han decidido a realizar el salto del servidor físico al cloud server) llega esta nueva posibilidad que aunque se traduzca «sin servidor» no es del todo cierta.

Qué es el Serverless

Aunque significa «sin servidor» esto no es así, lo que ocurre es que dejas de usar un servidor físico o uno en la nube claramente identificados por unos contenedores temporales y sin estado donde se ejecutan los códigos de las aplicaciones. Estos contenedores se crean en el momento que ejecutas la aplicación y luego desaparecen, por lo que el servidor pasa a ser una parte menos visible del sistema.

Esta tecnología se asocia con FaaS que significa Function as a Service, que fue creada en 2014 por hook.io y que luego se ha ido desarrollando mediante proyectos tan importantes como Microsoft Azure Functions, IBM/Apache OpenWhisk, Google Cloud Functions o AWS Lambda.

Cuál es el servicio Serverless más conocido

Entre las posibles opciones nombradas que puedes elegir tienes:

AWS Lambda

Es el más conocido y usado del mercado. Entre las aplicaciones que puede usar están Python, Go, Java, C# o Node.js. Además, está perfectamente integrado con todos los servicios de Amazon como son DynamoDB, SNS, RDS… lo puedes virtualizar con CloudWatch y lo usan empresas tan conocidas como Netflix.

Azure Functions

Está desarrollado por Microsoft desde hace dos años y puedes utilizar con él aplicaciones como Bash, Powershell, Java, Python, C#, F#, PHP o Batch. Muchos de los servicios de Microsoft de su sistema Azure se pueden usar como por ejemplo Cortana.

Google Cloud Functions

Lo puedes encontrar en la plataforma de Google y solo se puede usar con el código Javascript para ejecutarse en un entorno Node.js. Se integra con el resto de servicios de la compañía como son Firebase, Pub/Sub, Storage o Spanner. Lo puedes monitorizar con Stackdriver.

Ventajas de la virtualizacion con Serverless

Como todos los sistemas tiene sus beneficios e inconvenientes, pero podemos destacar:

1. Ya no tienes que hacer mantenimiento de los servidores donde tienes instalados todos los programas y aplicaciones. El código se ejecuta en un contenedor temporal, ya no vas a necesitar instalar software, gestionar puertos de acceso o estar pendiente de las actualizaciones.

2. El sistema lo puedes escalar de manera horizontal todo lo que lo necesites. Puedes añadir todos los clusters, balanceo de cargas… conforme lo vayas necesitando.

3. Solamente vas a pagar por el tiempo que estés usando el proceso.

4. Las funciones que utilizas las puedes integrar con el resto de servicios que ofrece la plataforma, como son logging, virtualización o crear endpoints.

La tecnología Serverless te permite acceder a una nueva dimensión en la forma de trabajar, ya que trabajas con un servidor temporal con los servicios adaptados a lo que necesitas durante el proceso. ¿Has oído hablar de esta tecnología? ¿La ves útil para tu negocio?