Amazon ECS y Fargate
AWS corre tus contenedores; con Fargate ni siquiera ves los servidores.
Amazon ECS (Elastic Container Service) es el servicio de AWS que corre contenedores por vos. Escribís una task definition: qué imagen de contenedor usar, cuánta CPU y memoria necesita, qué puertos abre, qué variables de entorno recibe. Después creás un service: 'mantené tres copias de esta tarea corriendo detrás de este balanceador', y ECS se encarga de que siempre haya tres vivas, reemplazando las que se caen.
¿Dónde corren físicamente esos contenedores? Dos opciones. Con el tipo de lanzamiento EC2 mantenés una flota de instancias Amazon EC2 y ECS ubica las tareas ahí; vos parcheás y dimensionás las máquinas. Con Fargate no hay máquina que administrar: decís 'esta tarea necesita 1 vCPU y 2 GB', AWS consigue la capacidad, arranca el contenedor y te cobra por segundo mientras corre.
Ejemplo: una API en Python empaquetada como imagen Docker y subida a Amazon ECR, el registro de imágenes de AWS. Un service de ECS sobre Fargate corre dos copias en subredes privadas de una VPC con un balanceador de carga adelante; el autoscaling agrega copias cuando la CPU se mantiene arriba del 70%. Sacar una versión nueva es subir un tag de imagen nuevo y dejar que ECS lo despliegue copia por copia.
ECS es la forma más simple y más nativa de AWS para correr contenedores. Amazon EKS es la opción cuando un equipo ya trabaja con Kubernetes y quiere conservar esas herramientas.
Para quedarse
- La task definition es la receta; el service mantiene N copias corriendo y sanas.
- Fargate elimina los servidores: pagás por vCPU y GB durante los segundos que corre una tarea.
- Las imágenes suelen vivir en Amazon ECR, el registro de contenedores de AWS.
- ECS se conecta con IAM, balanceadores y CloudWatch sin configuración extra.