Aunque tanto PaaS como la informática sin servidor no implican la gestión del backend por parte del desarrollador, hay varios factores que separan ambos modelos, entre los que se incluyen la escalabilidad, el precio y la capacidad de implementación en el perímetro de la red.
Después de leer este artículo podrás:
Copiar el enlace del artículo
Ya que las arquitecturas backend de la informática sin servidor y de la Plataforma como servicio (PaaS) mantienen todo el backend invisible para los desarrolladores, tienen similitudes entre ellas. Sin embargo, hay grandes diferencias entre ambos tipos de arquitectura, y la mayoría de los casos de uso funcionarán mejor con una o con otra, pero no con ambas. Las principales divergencias entre PaaS y la informática sin servidor son la escalabilidad, el precio, el tiempo de puesta en marcha, las herramientas y la capacidad de implementación en el perímetro de la red.
Las aplicaciones sin servidor se escalan de forma instantánea, automática y a la carta, sin que el desarrollador ni el proveedor tengan que realizar alguna configuración adicional. Son capaces de escalarse por definición. Por el contrario, aunque los desarrolladores pueden programar las aplicaciones alojadas en PaaS para que se escalen y desescalen en función de la demanda de los usuarios, esta no es una característica intrínseca de PaaS, y los desarrolladores tendrán que realizar previsiones para obtener un escalado adecuado.
La informática sin servidor puede compararse con sacar agua de un grifo, y el agua representa la potencia informática. En una casa moderna, un grifo se puede abrir en cualquier momento y se puede obtener tanta como se necesite. PaaS es más parecido a utilizar un dispensador de agua y un servicio de reparto de botellas de agua. Sigue siendo posible conseguir tanta agua potable como se necesite, pero ya no es tan sencillo como abrir el grifo; el consumidor tiene que solicitar más agua al proveedor si aumenta la demanda. En ambos casos, otra persona se encarga del "backend" (purificar el agua, llevarla al edificio, etc.), pero solo el agua del grifo se puede aumentar con precisión, a la carta y en tiempo real.
Una arquitectura sin servidor es capaz de escalarse rápidamente al poner en marcha nuevas instancias de las funciones de la aplicación a medida que se van solicitando. También se reduce muy rápido al cerrar las funciones cuando ya no se necesitan o una vez que se han ejecutado durante un periodo de tiempo determinado. De hecho, una aplicación web sin servidor es capaz de escalarse hasta dejar de estar activa y volver a ponerse en marcha en respuesta a un evento en cuestión de segundos, o incluso milisegundos. Las aplicaciones desarrolladas sobre PaaS no se pueden escalar o reducir tan rápidamente o a tal nivel.
Sigamos con la metáfora del agua; los consumidores que utilizan el agua del grifo pagan exactamente por la cantidad de agua que utilizan. Del mismo modo, la facturación de la informática sin servidor es extremadamente precisa, y los desarrolladores solo pagan por lo que usan. Algunos proveedores de la informática sin servidor solo cobran a los desarrolladores por la cantidad exacta de tiempo en la que se están ejecutando sus funciones, hasta las fracciones de segundo para cada instancia individual de cada función. Otros proveedores cobran por el número de solicitudes.
Los consumidores que utilizan un dispensador de agua y que compran garrafas de agua también pagan solo por lo que usan, pero pagan por garrafa, no por el volumen de agua. Del mismo modo, algunos proveedores de PaaS cobran a los desarrolladores solo por lo que utiliza su aplicación. Sin embargo, la facturación no es tan precisa como en el caso de las aplicaciones sin servidor. Otros proveedores de PaaS cobran una tarifa plana mensual por sus servicios. Lo habitual es que los desarrolladores puedan personalizar la cantidad de potencia informática que pagan. Sin embargo, esto se decide de antemano, y no se corresponde siempre con los aumentos y disminuciones de uso que se dan en tiempo real.
Esta diferencia no implica necesariamente que la arquitectura sin servidor sea siempre más asequible. Al igual que tener un grifo siempre abierto se puede convertir rápidamente en algo muy caro, las aplicaciones web que tienen un flujo de uso elevado y constante que no fluctúa mucho pueden resultar caras de ejecutar con el uso de la informática sin servidor.
Como se ha descrito anteriormente, las aplicaciones sin servidor se pueden activar casi al instante, tan pronto como un evento desencadena una función de la aplicación. Las aplicaciones creadas con PaaS se pueden poner en funcionamiento muy rápido, pero no son tan ligeras como las aplicaciones sin servidor y tardan más en estar en funcionamiento. Para evitar la latencia desde la perspectiva del usuario, al menos algunas funciones de las aplicaciones PaaS tienen que estar funcionando todo o parte del tiempo.
En términos generales, los proveedores de PaaS proporcionarán a los desarrolladores más herramientas para crear y gestionar sus aplicaciones, incluidas las herramientas de prueba y depuración. Ya que las aplicaciones sin servidor no se ejecutan en máquinas específicas, virtuales o de otro tipo, y que las funciones sin servidor deben ejecutarse de la misma manera, los proveedores de aplicaciones sin servidor pueden proporcionar algunas herramientas, pero no proporcionan un entorno completo para crear y probar la aplicación.
El código sin servidor no se ejecuta en servidores específicos y se puede ejecutar en cualquier parte de Internet, lo que permite implementar aplicaciones sin servidor muy cerca de los usuarios finales en el perímetro de la red, lo cual reduce de forma considerable la latencia. Service Workers y Cloudflare Workers son ejemplos de funciones sin servidor que se ejecutan cerca del usuario (ver ¿Cómo funciona JavaScript sin servidor?).
Desde el punto de vista del desarrollador, no hay servidores en PaaS. Sin embargo, PaaS sigue siendo diferente de la informática sin servidor por lo que respecta a dónde se aloja el código. Los proveedores de PaaS aprovecharán la oferta de IaaS (infraestructura como servicio) de otro proveedor o tendrán sus propios centros de datos físicos. El resultado es que las aplicaciones creadas en una plataforma en la nube probablemente se ejecutarán solo en determinadas máquinas designadas, lo cual impide que los desarrolladores optimicen el rendimiento de sus aplicaciones mediante la ejecución del código en el perímetro.
Primeros pasos
Acerca de la informática sin servidor