La informática sin servidor es un método de proporcionar servicios de backend que se cobrán según su uso. Se siguen utilizando servidores, pero una empresa que obtenga servicios de backend de un proveedor sin servidor solo pagará por lo que use, y no por una cantidad fija de ancho de banda o por el número de servidores.
Después de leer este artículo podrás:
Copiar enlace del artículo
La informática sin servidor es un método para proporcionar servicios de backend a los usuarios. Un proveedor de arquitectura sin servidor permite a los usuarios escribir e implementar código sin que tengan que preocuparse por la infraestructura subyacente. Una empresa que contrate servicios de backend a un proveedor de arquitectura sin servidor tendrá que pagar en función de los servicios informáticos, y no tendrá que reservar y pagar por una cantidad fija de ancho de banda ni por el número de servidores, ya que el servicio escala de forma automática. Conviene tener en cuenta que, a pesar del nombre "sin servidor", se siguen utilizando servidores físicos, pero los desarrolladores no tienen que estar pendientes de ellos.
En los inicios de Internet, el que tuviera la intención de desarrollar una aplicación web, tenía que contar además con un complejo y caro hardware físico necesario para ejecutar un servidor.
Después nació la informática en la nube, en la que se podían alquilar en remoto números fijos de servidores o cantidades de espacio en servidores. Los desarrolladores y empresas que alquilan esas unidades fijas de espacio en servidores suelen acabar comprando más espacio del necesario para evitar que un pico de tráfico o actividad supere sus límites mensuales e interrumpa el funcionamiento de sus aplicaciones. El resultado es que gran parte del espacio en el servidor que se factura se desaprovecha. Los proveedores de soluciones en la nube han introducido modelos de ajuste de escala automática para abordar este problema, pero incluso así, un aumento no deseado en la actividad, como un ataque DDoS, podría salir muy caro.
La informática sin servidor permite a los desarrolladores comprar servicios de backend con un modelo de "pago por uso", por lo que los desarrolladores solo tienen que pagar por los servicios que utilizan. Esto es como cambiarse de un plan de datos de teléfono móvil con tarifa plana mensual a uno en el que solo tienes que pagar los datos que utilizas.
El término 'sin servidor' puede ser engañoso, ya que sigue habiendo servidores que brindan estos servicios de backend, pero en este caso es el proveedor el que se encarga de los problemas de espacio e infraestructura del servidor. Sin servidor quiere decir que los desarrolladores pueden hacer su trabajo sin necesidad de preocuparse por los servidores.
El desarrollo de aplicaciones se suele dividir en dos áreas: frontend y backend. El frontend es la parte de la aplicación que ven los usuarios y con la interactúan, como el diseño visual. El backend es la parte que el usuario no ve; esto incluye el servidor donde están los archivos de la aplicación y la base de datos donde permanecen la lógica de negocio y los datos del usuario.
Por ejemplo, imaginemos un sitio web que se dedica a vender entradas para conciertos. Cuando un usuario escribe la dirección de un sitio web en la ventana del navegador, este envía una solicitud al servidor backend, que responde con los datos del sitio web. El usuario verá entonces el frontend del sitio web, que puede incluir contenido como texto, imágenes y campos de formulario para que el usuario rellene. El usuario puede interactuar con uno de los campos de formulario en el frontend para buscar su espectáculo musical favorito. Cuando el usuario haga clic en "enviar", se activará otra solicitud para el backend. El código del backend comprueba su base de datos para ver si hay un artista con este nombre y, si es así, cuándo será su próxima actuación y el número de entradas disponibles. A continuación, el backend devolverá estos datos al frontend, que a su vez mostrará los resultados de manera que el usuario los entienda. De forma similar, cuando el usuario crea una cuenta e introduce sus datos bancarios para comprar las entradas, se producirá otra comunicación recíproca entre el frontend y el backend.
La mayoría de proveedores de informática sin servidor ofrecen servicios de base de datos y almacenamiento a sus clientes, y muchos también cuentan con plataformas de función como servicio (FaaS), como Cloudflare Workers. FaaS permite a los desarrolladores ejecutar pequeños elementos de código en el perímetro de la red. Con FaaS, los desarrolladores pueden desarrollar una arquitectura modular consiguiendo una base de código más escalable sin tener que gastar recursos en el mantenimiento del backend subyacente. Más información sobre FaaS >>
Más información sobre las ventajas de la informática sin servidor.
Un par de tecnologías que a menudo se confunden con la informática sin servidor son backend como servicio y plataforma como servicio. Aunque comparten similitudes, estos modelos no cumplen necesariamente los requisitos de la informática sin servidor.
Backend como servicio (BaaS) es un modelo de servicio en el que un proveedor de soluciones en la nube ofrece servicios de backend, como el almacenamiento de datos, para que los desarrolladores puedan centrarse en escribir código de frontend. Sin embargo, mientras que las aplicaciones sin servidor se basan en eventos y se ejecutan en el perímetro, pueden que las aplicaciones BaaS no cumplan ninguno de estos requisitos. Más información sobre BaaS >>
La plataforma como servicio (PaaS) es un modelo en el que los desarrolladores alquilan básicamente todas las herramientas necesarias para desarrollar e implementar aplicaciones de un proveedor de la nube, incluidos, por ejemplo, sistemas operativos y middleware. Sin embargo, las aplicaciones PaaS no escalan tan fácilmente como las aplicaciones sin servidor. Las PaaS tampoco se ejecutan necesariamente en el perímetro y a menudo presentan un retardo de inicio notable que no se da en las aplicaciones sin servidor. Más información sobre PaaS >>
La infraestructura como servicio (IaaS) es un término que engloba a los proveedores de soluciones en la nube que alojan infraestructura en nombre de sus clientes. Los proveedores de IaaS pueden ofrecer funcionalidad sin servidor, pero los términos no son sinónimos. Más información sobre IaaS >>
La informática sin servidor sigue evolucionando a medida que los proveedores de este tipo de informática ofrecen soluciones para contrarrestar algunas desventajas. Una de ellas es el arranque en frío.
Normalmente, cuando no se ha usado una determinada función sin servidor durante un tiempo, el proveedor detiene la función para ahorrar energía y evitar el aprovisionamiento excesivo de recursos. La próxima vez que un usuario ejecute una aplicación que acceda a esa función, el proveedor sin servidor tendrá que arrancar de nuevo y comenzar a alojar esa función. Este tiempo de arranque añade una latencia significativa, lo que se conoce como "arranque en frío".
Una vez que la función esté en marcha, se ejecutará mucho más rápido en las siguientes solicitudes (arranques en caliente), pero si la función no se vuelve a solicitar durante un tiempo, volverá a quedar inactiva. Esto significa que el siguiente usuario que solicite esa función experimentará un arranque en frío. Hasta hace poco, los arranques en frío se consideraban una contrapartida necesaria del uso de funciones sin servidor.
Cloudflare Workers ha abordado este problema programando las funciones sin servidor por anticipado, durante el protocolo de enlace TLS. Dado que las funciones de Workers se activan en el perímetro en un tiempo muy corto, incluso inferior al tiempo necesario para completar el protocolo de enlace, el resultado es una plataforma FaaS sin arranques en frío. Para empezar a utilizar Cloudflare Workers, consulta nuestra documentación para desarrolladores.
A medida que se solucionan más desventajas de la informática sin servidor y aumenta la popularidad del proceso perimetral, cabe esperar un uso cada vez más generalizado de la arquitectura sin servidor.