Plataforma sin servidor

Es una categoría de servicio de computación en la nube que encapsula dos de los principales puntos de venta del modelo como un servicio: ofrece computación que es casi totalmente manual y donde solo paga por lo que usa.

¿De qué se trata?

Se trata de un modelo de desarrollo directamente en la nube que posibilita el diseño y la ejecución de aplicaciones sin que sea necesario gestionar servidores.

Si bien se utilizan servidores, se encuentran aislados de la etapa de desarrollo de las aplicaciones. El proveedor de nube se encarga de las tareas rutinarias de preparación, mantenimiento y adaptación de la infraestructura de los servidores. Los desarrolladores solo deben empaquetar el código en contenedores para implementarlo.

Una vez que se instalan las aplicaciones sin servidor, responden a la demanda y se amplían o reducen automáticamente en función de las necesidades. Por lo general, los proveedores de nube pública ofrecen estas tecnologías a un costo que se mide a través de un modelo de ejecución basado en eventos, según se soliciten. Por eso cuando una función permanece inactiva, no se genera ningún cargo.

 

¿Qué es?

La informática sin servidor permite a los desarrolladores crear aplicaciones más rápido, ya que no es necesario que administren la infraestructura. Con las aplicaciones sin servidor, el proveedor de servicios en la nube aprovisiona, escala y administra automáticamente la infraestructura necesaria para ejecutar el código.

Para entender la definición de la informática sin servidor, es importante tener en cuenta que los servidores siguen ejecutando el código. El término sin servidor significa que las tareas asociadas con el aprovisionamiento y la administración de la infraestructura son invisibles para el desarrollador. Este enfoque permite a los desarrolladores centrarse más en la lógica de negocios y en aportar más valor al núcleo principal del negocio.

La informática sin servidor ayuda a los equipos a aumentar su productividad y a comercializar los productos más rápido, además de permitir a las organizaciones optimizar mejor los recursos y seguir centrándose en la innovación.

 

¿Cómo es la estructura interna?

Lo que distingue a la informática sin servidor de los demás modelos de cloud computing es que el proveedor de nube se encarga de gestionar tanto la infraestructura de nube como la expansión de las aplicaciones. Aquellas sin servidor se implementan en contenedores que se inician automáticamente cuando se solicitan.

En el caso de los modelos estándar de cloud computing de infraestructura como servicio (IaaS), los usuarios adquieren cierta capacidad por adelantado, lo cual significa que pagan a un proveedor de nube pública por ciertos elementos del servidor que funcionan de forma permanente para ejecutar sus aplicaciones. El usuario debe encargarse de ampliar la capacidad durante los períodos de mayor demanda y reducirla cuando ya no haga falta. La infraestructura de nube requerida para ejecutar las aplicaciones permanece activa incluso cuando no se utilizan.

En cambio, con la arquitectura sin servidor, deben iniciarse solo cuando es necesario. Cuando un evento activa el funcionamiento del código de las aplicaciones, el proveedor de nube pública le asigna los recursos correspondientes de forma dinámica, y el usuario deja de pagar cuando termina de ejecutarse. La informática sin servidor no solo ofrece beneficios en cuanto a los costos y la eficiencia, sino que también permite que los desarrolladores ya no deban encargarse de las tareas rutinarias y poco relevantes, que se relacionan con la implementación de los servidores y la escalabilidad de las aplicaciones.

El proveedor de servicios de nube es quien se ocupará de gestionar el sistema operativo y de archivos, ejecutar los parches de seguridad, equilibrar la carga, administrar la capacidad, adaptar los recursos, llevar los registros y supervisar el sistema.

Es una categoría de servicio de computación en la nube que encapsula dos de los principales puntos de venta del modelo como un servicio: ofrece computación que es casi totalmente manual y donde solo paga por lo que usa.

 

¿Cómo funciona?

Con la informática sin servidor no hay una infraestructura virtual para que el usuario la administre y solo se le factura al usuario cuando su código se está ejecutando, hasta los 100 milisegundos más cercanos. Se cuida todo, desde la escala hasta la tolerancia a fallos y la redundancia de la infraestructura subyacente. Hay servidores involucrados, por supuesto, es solo que el usuario no tiene que preocuparse por ningún aspecto de su cuidado, todo eso es manejado por el proveedor de servicios en la nube.

Los servicios de computación sin servidor están diseñados para ejecutar fragmentos de código que realizan una sola tarea de corta duración. Estos pequeños bloques de código autocontenidos, conocidos como funciones, no tienen dependencias de ningún otro código y, como tal, pueden implementarse y ejecutarse donde sea y cuando sea necesario.

A diferencia de una aplicación en la nube donde el código de fondo está estructurado de una manera más monolítica y puede manejar varias tareas, el código que se ejecuta en servicios sin servidor como Lambda es más típico de lo que se encuentra en una arquitectura de software de microservicios. Bajo este modelo, las aplicaciones se dividen en sus funciones principales, que se escriben para ejecutarse de forma independiente y comunicarse a través de la API.

Estas pequeñas funciones ejecutadas por servicios sin servidor son activadas por lo que se llaman eventos. La función se ejecuta cada vez que se activa uno de estos eventos relevantes. Una vez que la función se haya ejecutado, el servicio en la nube reducirá la infraestructura subyacente. Este enfoque hace que los usuarios sean facturados solo por el tiempo que se está ejecutando el código.

En algunos aspectos, mientras que la tecnología que sustenta la computación sin servidor es relativamente nueva, la idea no lo es. De hecho, ha existido desde el comienzo de la era de la información.

 

¿Qué función desempeña el proveedor de nube en la informática sin servidor?

En los modelos de informática sin servidor, los proveedores de nube ejecutan los servidores físicos y asignan los recursos de forma dinámica para los usuarios que implementan el código directamente en la producción.

Normalmente, las ofertas de informática sin servidor se clasifican en dos grupos: Backend como servicio (BaaS) y Función como servicio (FaaS).

El primero otorga a los desarrolladores acceso a diferentes aplicaciones y servicios externos. 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 e información muy confiable sobre el uso. Las funciones sin servidor se suelen solicitar mediante llamadas a las interfaces de programación de aplicaciones (API).

Sin embargo, cuando los desarrolladores hablan de la informática sin servidor, generalmente se refieren al modelo de FaaS, en el cual ellos escriben la lógica personalizada del lado del servidor, pero esta se ejecuta en los contenedores que el proveedor de servicios de nube gestiona por completo.

Todos los proveedores principales de nube pública cuentan con una o varias ofertas de FaaS. Entre ellos, se incluyen Amazon Web Services, con AWS Lambda; Microsoft Azure, con Azure Functions; Google Cloud con varias ofertas; IBM Cloud, que cuenta con IBM Cloud Functions; entre otros.

Algunas empresas deciden gestionar sus propios entornos de FaaS utilizando plataformas open source sin servidor, como Red Hat® OpenShift® Serverless, que se basa en el proyecto Knative para Kubernetes.