AWS Batch
Un servicio de AWS que corre montañas de trabajos y alquila las máquinas solo mientras trabajan.
AWS Batch corre trabajos por lotes: tareas que no tienen que contestarle a un usuario en el momento, pero que necesitan mucho cómputo. Renderizar los cuadros de una animación, correr miles de análisis genómicos, recalcular todos los modelos de riesgo durante la noche, procesar un mes de datos de sensores. Vos mandás los trabajos y Batch resuelve dónde y cuándo correrlos.
Empaquetás cada trabajo como un contenedor y lo mandás a una cola de trabajos (job queue). Batch mira la cola y lo que pide cada trabajo, como CPUs, memoria o GPUs, y levanta la capacidad justa en un entorno de cómputo (compute environment): instancias de EC2, incluidas las Spot que salen más baratas, o Fargate. Cuando la cola se vacía, achica todo para que no pagues máquinas ociosas. Los trabajos pueden tener prioridades y depender unos de otros, así el paso B espera a que termine el paso A.
Antes de servicios como este, un laboratorio o una empresa tenía que comprar y mantener su propio cluster más el software para repartir tareas, y el cluster quedaba parado entre corrida y corrida. Batch en sí no tiene costo extra; pagás el cómputo que lanza.
Para quedarse
- Pensado para trabajos que necesitan mucho cómputo pero no una respuesta inmediata.
- Los trabajos son contenedores que van a colas, con prioridades y dependencias.
- Agranda y achica capacidad de EC2, Spot o Fargate según la cola.
- Batch no se cobra aparte; pagás el cómputo que usa.