No hay duda al respecto: la gran cantidad de soluciones y arquitecturas diferentes, disponibles en un entorno de la nube parece ser infinita. La mayoría de las soluciones relacionadas con la nube se centran en evitar una complejidad excesiva y, de hecho, a veces esto se hace de tal manera que rompe los paradigmas que estamos dando por sentados durante mucho tiempo. Un ejemplo es el uso del modelo serverless. En pocas palabras, ¿imagina poder publicar una aplicación en la nube sin tener que preocuparse por los servidores o administrar recursos como el espacio en el disco, la memoria y el uso de la CPU? ¡Y se pone aún mejor! ¿Qué le parece que se le facturen exclusivamente los recursos que realmente ha utilizado y liberarse de una vez por todas de los gastos en recursos improductivos? Bueno, esta es una descripción del modelo sin servidor (serverless), otra opción en que la nube puede hacer que su negocio funcione más rápido, más simple y sea más rentable.
Entonces, ¿qué es el modelo serverless?
Comencemos con lo obvio: por supuesto, hay servidores y otros recursos informáticos en una solución basada en serverless, la diferencia es el hecho de que simplemente ya no son importantes para usted, si es un cliente de un proveedor de servicios en la nube (Cloud Services Provider). Pero esté seguro de que todavía hay un equipo de expertos que aseguran los niveles habituales de disponibilidad y resiliencia a los que estamos acostumbrados.
Para ponerlo en términos más simples, la informática sin servidor es un modelo de ejecución en el que el proveedor de la nube funciona como el propio servidor, administrando y asignando dinámicamente los recursos informáticos según sea necesario. En este modelo, los costes no se basan en unidades adquiridas previamente, sino en los recursos que consume dinámicamente su aplicación.
Ya en 2006, había proveedores en la nube que intentaron implementar el modelo FaaS (Function as a Service), por ejemplo, Google, con su Google App Engine, que permitía un modelo en el que la facturación se basaba en el uso de la aplicación, pero esta solución estaba limitada por un framework Python que no permitía la ejecución arbitraria de código.
El primer proveedor importante de nube en ofrecer un verdadero modelo serverless fue Amazon, que en 2014 introdujo AWS Lambda, donde en lugar de cargar la aplicación en un contenedor o máquina virtual, los clientes simplemente subían el código en Lambda, que se encargaba de todo lo demás. El modelo era, de hecho, muy simple: la aplicación permanece inactiva, hasta que esté activada por el disparador apropiado, entonces Lambda comienza su ejecución. Una vez que la aplicación completa su tarea, se elimina del servicio de Lambda. Tan simple como eso.
Reforzando el hecho obvio de que el modelo de serverless todavía utiliza servidores, se reveló, para sorpresa de nadie, que la fuerza impulsora detrás de AWS Lambda era la tecnología de contenedores. El verdadero cambio en este modelo fue el hecho de que AWS se encargaba de cargar el código en el contenedor y ejecutarlo. Con el éxito de este modelo, otros jugadores importantes de la nube siguieron la tendencia, por lo que Google, Microsoft, IBM y Oracle también han creado ofertas serverless.
Pros:
"En el modelo serverless, los costes no se basan en unidades adquiridas previamente, sino en los recursos que consume dinámicamente su aplicación"
Contras:
Conclusiones
En general, el modelo sin servidor puede ser de inmenso valor y es fácil de adoptar, es solo una cuestión de entender qué aplicaciones se benefician más y tener un proveedor confiable. Dado que muchas empresas ya están adoptando este modelo como su enfoque preferido, con la creación de estándares y la inclusión de más lenguajes de programación, la informática sin servidor será una de las mejores formas de ganar agilidad en el desarrollo/publicación de aplicaciones y al mismo tiempo implementar un enfoque rentable. Este es el verdadero el poder de las tecnologías en la nube.