Buscar

Español

Español

Iniciar sesión

Iniciar sesión/Registrar

Websites

¿Qué es serverless?

Serverless o informática sin servidor: beneficios y desventajas

Serverless o informática sin servidor se refiere a un modelo de cloud computing en el que los desarrolladores de aplicaciones no tienen que implementar servidores ni gestionar la escalabilidad de sus aplicaciones. En su lugar, el proveedor de nube abstrae esas tareas rutinarias para que los desarrolladores puedan crear códigos para la producción más rápido que en los modelos tradicionales.

En pocas palabras, gracias a serverless, los desarrolladores pueden concentrarse en su código y prácticamente ignorar la arquitectura. De ahí la denominación "sin servidor", ya que las especificaciones de los servidores no afectan a los desarrolladores. Por supuesto que los servidores aún existen, pero ahora el proveedor de nube se encarga de gestionarlos.

Para ser más específicos, un proveedor de nube (como Amazon o Google) ejecuta los servidores físicos y asigna sus recursos de forma dinámica en nombre de un usuario (como usted), que puede implementar el código directamente en la producción. Es muy similar a una oferta de infraestructura como servicio (IaaS) de nube pública, pero la principal diferencia de la informática sin servidor radica en que el proveedor solo le cobra por los recursos informáticos precisos que necesita para ejecutar su código.

¿Cómo funciona serverless?

En un modelo IaaS estándar, los usuarios compran unidades de capacidad por adelantado, lo cual significa que pagan por elementos del servidor que "funcionen permanentemente" para ejecutar sus aplicaciones. En cambio, en un modelo sin servidor, un evento activará la ejecución del código de la aplicación; luego, el proveedor de nube asignará los recursos para ese código de forma dinámica y, finalmente, el usuario dejará de pagar cuando se termine de ejecutar el código. Además de los claros beneficios en cuanto a costos y eficiencia, gracias a la informática sin servidor los desarrolladores ya no se encargan de tareas rutinarias y poco relevantes, que se relacionan con la implementación de servidores y la escalabilidad de las aplicaciones.

Hay dos métodos principales de informática sin servidor. El primero se trata de un modelo de backend como servicio (BaaS), en el que una variedad de aplicaciones y servicios de terceros conforman su aplicación. El segundo es el modelo de funciones como servicio (FaaS), en el que los desarrolladores aún escriben la lógica personalizada del lado del servidor, pero se ejecuta en contenedores que el proveedor de nube gestiona por completo. Cabe destacar que con estos métodos puede diseñar una aplicación completamente sin servidor, o conformar una aplicación de microservicios parcialmente sin servidor y parcialmente tradicionales.

Backend como servicio (BaaS)

El modelo de backend como servicio (BaaS), también conocido como Backend como servicio móvil (MBaaS), es un método de informática sin servidor que se basa, en gran parte, en servicios y aplicaciones de terceros. Por ejemplo, un proveedor de nube puede ofrecer servicios de autenticación, cifrado adicional, bases de datos a las que se puede acceder desde la nube y datos de uso de gran fidelidad. Normalmente se puede acceder a estos servicios backend mediante una llamada a una interfaz de programación de aplicaciones (API) que el proveedor de nube haya configurado. Esto permite una integración más sencilla en sus sistemas, en comparación con el desarrollo de estas características en la empresa.

Funciones como servicio (FaaS)

El modelo de funciones como servicio (FaaS) implica un mayor grado de control que uno BaaS, ya que los desarrolladores se encargan de escribir la lógica del lado del servidor. Sin embargo, una vez escrita, se implementa en contenedores que el proveedor de nube gestiona, lo cual representa el principal beneficio de la informática sin servidor. Específicamente, las características de estos contenedores son las siguientes:

  • Sin estado: simplifican más la integración de datos.
  • Efímeros: pueden ejecutarse por un período muy breve.
  • Activados por eventos: pueden ejecutarse automáticamente cuando sea necesario.
  • Gestionados por completo: el proveedor de nube se encarga de hacerlo para que solo pague por lo que necesita, no por servidores ni aplicaciones que funcionen permanentemente.

Ventajas y desafíos de serverless

En primer lugar, la informática sin servidor aumenta la productividad de los desarrolladores y reduce los costos operativos. Al abstraer las tareas rutinarias de implementación y gestión de los servidores, los desarrolladores tienen más tiempo para concentrarse en sus aplicaciones. Esta ventaja es aún mayor si todos los elementos de las aplicaciones se incorporan desde servicios o aplicaciones de terceros a través del modelo de BaaS, en lugar de escribirse en la empresa. En un modelo sin servidor, los costos operativos se reducen, ya que puede pagar por el tiempo de procesamiento en la nube, según sea necesario, en lugar de ejecutar y gestionar sus propios servidores todo el tiempo.

Sin embargo, el hecho de no ejecutar sus propios servidores o controlar su propia lógica del lado del servidor tiene sus desventajas. Al ceder el control de estos aspectos de su pila de TI, dependerá del proveedor que los gestione. Los proveedores de nube tienen restricciones estrictas en cuanto a la interacción con sus elementos, lo que a su vez determina el grado de flexibilidad y personalización de sus propios sistemas. Probablemente la decisión de cambiar de proveedores también implique un costo de actualización de sus sistemas, para cumplir con las especificaciones del proveedor nuevo.

La base de Kubernetes para la informática sin servidor

Cloud computing

Un contenedor y la plataforma Kubernetes para lograr un desarrollo más rápido de las aplicaciones nativas de la nube.

Cloud computing

Una selección de tiempos de ejecución de aplicaciones y marcos bien adaptados para el desarrollo de las aplicaciones nativas de la nube.

Hay mucho más para hacer con serverless