La tecnología Serverless es un concepto que se ha venido expandiendo con fuerza por las ventajas que ofrece, sobre todo en aquellos que todavía se están acostumbrando a trabajar en la nube.
Aunque muchas empresas no se terminan de decidir a realizar el salto del servidor físico al servidor en la nube (cloud server), también tienen esta posibilidad de transformación digital.
Pese a que se traduzca “sin servidor”, esto no es del todo cierto. De hecho, en una entrada de blog de Nubersia se ha explicado que la tecnología Serverless se trata de dejar de usar un servidor físico o uno en la nube, claramente identificado, por 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”.
También se ha explicado que esta tecnología se asocia con FaaS (Function as a Service), creada en 2014 por hook.io y que se ha ido desarrollando mediante proyectos como Microsoft Azure Functions, IBM/Apache OpenWhisk, Google Cloud Functions o AWS Lambda.
Ventajas de la tecnología Serverless
Sobre la tecnología Serverless se han destacado algunas ventajas, aunque también tiene sus inconvenientes como todos los sistemas. La primera es que el usuario ya no tiene que hacer mantenimiento de los servidores donde tiene instalados todos los programas y aplicaciones.
En este caso, “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”.
Además, se ha detallado que el sistema se puede escalar de manera horizontal y en todo lo que se necesite. Se pueden añadir todos los clusters, balanceo de cargas, entre otros, conforme se vaya necesitando.
“Solamente vas a pagar por el tiempo que estés usando el proceso. Las funciones que utilizas las puedes integrar con el resto de servicios que ofrece la plataforma, como son logging, virtualización o crear endpoints”.
En la publicación se ha insistido en que la tecnología Serverless permite acceder a una nueva dimensión en la forma de trabajar, ya que se opera con un servidor temporal con los servicios adaptados a lo que se necesita durante el proceso.
Servicios Serverless conocidos
El más conocido y usado del mercado, entre las posibles opciones que se pueden elegir, está AWS Lambda. Python, Go, Java, C# o Node.js son las aplicaciones que se pueden usar.
Además, se ha señalado que está perfectamente integrado con todos los servicios de Amazon como DynamoDB, SNS, RDS; se puede virtualizar con CloudWatch y lo usan empresas tan conocidas como Netflix.
Azure Functions, por su parte, ha sido desarrollado por Microsoft desde hace dos años y se puede utilizar con 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”.
Entre tanto, Google Cloud Functions se puede encontrar en la plataforma de Google y solo se puede usar con el código Javascript para ejecutarse en un entorno Node.js.
De acuerdo a lo planteado, se integra con el resto de servicios de la compañía como Firebase, Pub/Sub, Storage o Spanner. “Lo puedes monitorizar con Stackdriver”.