# AWS Batch

> Un servicio de AWS que corre montañas de trabajos y alquila las máquinas solo mientras trabajan.

- Nivel: Intermedio
- Temas: AWS, Cloud
- URL: https://tidbit.legios.com.ar/es/aws-batch/
- En inglés: [AWS Batch](https://tidbit.legios.com.ar/aws-batch/)

**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.

## Una analogía

El encargado de una imprenta que junta todos los pedidos en una bandeja, llama a tantos ayudantes temporales como pida la pila y los manda a casa cuando la bandeja queda vacía.

## 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.

## Para seguir leyendo

- [¿Qué es AWS Batch? (documentación oficial)](https://docs.aws.amazon.com/es_es/batch/latest/userguide/what-is-batch.html)
- [Página de AWS Batch](https://aws.amazon.com/es/batch/)

## Términos relacionados

- [Sensor](https://tidbit.legios.com.ar/es/sensor/): Un componente que mide algo del mundo físico y lo convierte en una señal.
- [Contenedor](https://tidbit.legios.com.ar/es/container/): Una caja cerrada con un programa y todo lo que necesita para correr en cualquier lado.
- [CPU](https://tidbit.legios.com.ar/es/cpu/): El chip que ejecuta tus programas, una instrucción tras otra, muy rápido.
- [GPU](https://tidbit.legios.com.ar/es/gpu/): El chip que hace miles de cálculos simples al mismo tiempo.
- [Amazon EC2](https://tidbit.legios.com.ar/es/amazon-ec2/): Computadoras virtuales que alquilás por hora, del tamaño que quieras, y después apagás.
- [Amazon ECS y Fargate](https://tidbit.legios.com.ar/es/amazon-ecs-and-fargate/): AWS corre tus contenedores; con Fargate ni siquiera ves los servidores.
