Computación sin servidor


La computación sin servidor es un modelo de ejecución de computación en la nube en el que el proveedor de la nube asigna los recursos de la máquina a pedido y se ocupa de los servidores en nombre de sus clientes. "Sin servidor" es un nombre inapropiado en el sentido de que los proveedores de servicios en la nube todavía utilizan servidores para ejecutar código para los desarrolladores. Sin embargo, los desarrolladores de aplicaciones sin servidor no se preocupan por la planificación de la capacidad , la configuración, la administración, el mantenimiento, la tolerancia a fallas o el escalado de contenedores, VMo servidores físicos. La computación sin servidor no retiene recursos en la memoria volátil; la computación se realiza más bien en ráfagas cortas y los resultados se conservan en el almacenamiento. Cuando una aplicación no está en uso, no hay recursos informáticos asignados a la aplicación. El precio se basa en la cantidad real de recursos consumidos por una aplicación. [1] Puede ser una forma de informática de utilidad .

La informática sin servidor puede simplificar el proceso de implementación de código en producción. El código sin servidor se puede usar junto con el código implementado en estilos tradicionales, como microservicios o monolitos . Alternativamente, las aplicaciones se pueden escribir para que no tengan servidor y no utilicen servidores aprovisionados en absoluto. [2] Esto no debe confundirse con modelos informáticos o de redes que no requieren un servidor real para funcionar, como peer-to-peer (P2P).

Los proveedores sin servidor ofrecen tiempos de ejecución de cómputo, también conocidos como plataformas de función como servicio (FaaS), que ejecutan la lógica de la aplicación pero no almacenan datos. Los lenguajes comunes admitidos por los tiempos de ejecución sin servidor son Java , Python y PHP . Generalmente, las funciones se ejecutan bajo límites de aislamiento, como contenedores de Linux .

La primera plataforma de ejecución de código de "pago por uso" fue Zimki, lanzada en 2006, pero no tuvo éxito comercial. [3] En 2008, Google lanzó Google App Engine , que incluía facturación medida para aplicaciones que usaban un marco Python personalizado, pero no podían ejecutar código arbitrario. [4] PiCloud, lanzado en 2010, ofreció soporte FaaS para Python. [5]

Google App Engine, introducido en 2008, fue la primera oferta informática abstracta sin servidor. [6] App Engine incluía funciones HTTP con un tiempo de espera de 60 segundos y un almacén de blobs y un almacén de datos con sus propios tiempos de espera. No se permitió la persistencia en memoria. Todas las operaciones tenían que ejecutarse dentro de estos límites, pero esto permitió que las aplicaciones integradas en App Engine escalasen casi infinitamente y se utilizó para ayudar a los primeros clientes, incluido Snapchat , así como muchas aplicaciones externas e internas de Google. El soporte de lenguaje se limitó a Python usando módulos nativos de Python, así como una selección limitada de módulos de Python en C que fueron elegidos por Google. Al igual que las plataformas sin servidor posteriores, App Engine también utilizó la facturación de pago por lo que usa. [7]

AWS Lambda , introducido por Amazon en 2014, [8] popularizó el modelo de computación sin servidor abstracto. Es compatible con una serie de herramientas sin servidor de AWS adicionales, como AWS Serverless Application Model (AWS SAM), Amazon CloudWatch , y otras.