La informática sin servidor es un método para proporcionar servicios de back-end según se usa. Aún se usan servidores, pero una empresa que obtiene servicios de back-end de un proveedor sin servidor se le cobra en función del uso, no una cantidad fija de ancho de banda o número de servidores.
Después de leer este artículo podrás:
Copiar el 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.
Cuando la web comenzó, cualquiera que quisiera crear una aplicación web tenía que tener el hardware físico requerido para ejecutar un servidor, lo cual es una tarea engorrosa y costosa.
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 que los desarrolladores compren servicios de back-end sobre una base flexible de "pago por uso", lo que significa que los desarrolladores solo tienen que pagar por los servicios que utilizan. Es como cambiar un plan de datos de un teléfono celular con un límite fijo mensual a uno que solo cobra por cada byte de datos que realmente se usa.
El término "sin servidor" es algo engañoso, ya que aún hay servidores que brindan estos servicios de back-end, pero el proveedor se encarga de todas las preocupaciones relacionadas con espacio e infraestructura del servidor. "Sin servidor" significa que los desarrolladores pueden hacer su trabajo sin tener que preocuparse por los servidores.
El desarrollo de aplicaciones por lo general se divide en dos ámbitos: el front-end y el back-end. La interfaz es la parte de la aplicación que los usuarios ven y con la que interactúan, como el diseño visual. El back-end es la parte que el usuario no ve; esto incluye el servidor donde se alojan los archivos de la aplicación y la base de datos donde persisten los datos del usuario y la lógica empresarial.
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.
Primeros pasos
Acerca de la informática sin servidor