Serverless
La computación serverless es un modelo de ejecución en la nube donde el proveedor gestiona la infraestructura de servidores, asignando recursos y escalando automáticamente según la demanda, lo que permite a los desarrolladores enfocarse en el código en lugar de la gestión de la infraestructura.
Comprendiendo Serverless
En las arquitecturas serverless, los desarrolladores implementan funciones individuales en lugar de servidores. El proveedor en la nube se encarga de todo lo demás: aprovisionamiento del hardware, escalado durante picos de tráfico, reducción a cero en períodos de inactividad y gestión de la disponibilidad. Este modelo de pago por invocación significa que solo pagas por el cómputo real utilizado, sin coste durante la inactividad. Plataformas de Funciones como Servicio (FaaS) como AWS Lambda, Google Cloud Functions y Azure Functions implementan este modelo. Serverless funciona bien para cargas de trabajo orientadas a eventos, tareas programadas y patrones de tráfico impredecibles, pero presenta desafíos con los "arranques en frío", tareas de larga duración y operaciones con estado.
Cómo GAIA usa Serverless
El procesamiento de tareas en segundo plano de GAIA con los trabajadores ARQ sigue principios similares a serverless: los trabajadores se inician para procesar eventos de la cola y se escalan según la carga de trabajo. La implementación autogestionada ejecuta servicios en contenedores, mientras que los despliegues en la nube pueden aprovechar funciones serverless para los controladores de eventos y el procesamiento de webhooks. Los principios serverless orientan cómo GAIA maneja picos de eventos provenientes de más de 50 integraciones de herramientas.
Conceptos relacionados
Arquitectura orientada a eventos
La arquitectura orientada a eventos (EDA, por sus siglas en inglés) es un patrón de diseño de software donde los componentes del sistema se comunican a través de eventos — notificaciones discretas de que algo ha sucedido — permitiendo un acoplamiento flexible, capacidad de respuesta en tiempo real y sistemas reactivos escalables.
Microservicios
Los microservicios son un patrón arquitectónico que estructura una aplicación como un conjunto de servicios pequeños, desplegables de manera independiente, cada uno responsable de una función empresarial específica y que se comunica mediante APIs bien definidas.
API Gateway
Un API Gateway es un servidor que actúa como punto de entrada único para las solicitudes de los clientes, enruta esas solicitudes a los servicios backend apropiados y se encarga de la autenticación, el control de velocidad, el registro y otras preocupaciones transversales en un sistema distribuido.
Trabajo cron
Un trabajo cron es una tarea programada que se configura para ejecutarse automáticamente en intervalos de tiempo especificados o en fechas concretas, utilizando la sintaxis de programación cron. Esto permite procesos automatizados recurrentes sin intervención manual.


