Conceptly
← All Concepts
🐳

Amazon ECS

ComputeContainer Orchestration

ECS is the orchestration layer that decides how many copies of a container run, where they run, and how they are replaced. It standardizes deployment and service operations around task definitions and services.

Architecture Diagram

🔄 Process

Dashed line animations indicate the flow direction of data or requests

Why do you need it?

You may have the container images ready, but once the team has to decide where each container runs, how many copies stay alive, and who restarts failures, deployment rules get complicated fast. As services increase, container operations become more work than running the application itself.

Why did this approach emerge?

Early approaches to running containers relied on manual deployment scripts and custom rules per server, making failure recovery and scaling harder as complexity grew. This is why a service-level layer like ECS — managing container definitions, desired count, and rolling updates — became necessary.

How does it work inside?

ECS uses task definitions to specify how containers run and maintains the desired number of tasks within a cluster. Images are typically pulled from ECR, the launch type is either EC2 or Fargate, and an ALB distributes traffic in front of the service.

When should you use it?

Well-suited for microservices, batch workers, and container-based APIs where you operate multiple services in the same pattern. Not a good fit when working without containers or when only request-level function execution is needed.

MicroservicesBatch processingCI/CD pipelinesApp migration