Kubernetes vs ECS vs Cloud Run: Container Orchestration Compared
Most teams reach for Kubernetes because of community gravity. Half of them would be better served by something simpler.
Kubernetes: full power, full complexity
Kubernetes: every container abstraction; Cloud-Native Computing Foundation ecosystem; massive community.
Cost: 1-3 platform engineers ongoing; complexity tax even with managed K8s.
ECS: AWS-native simplicity
- ECS: AWS-native; simpler than K8s; deep AWS integration. Strong if you are AWS-only.
- Limits: AWS-only; smaller ecosystem; less industry mindshare.
Cloud Run / Fargate: serverless containers
Cloud Run / Fargate: serverless containers; orchestration disappears. Pay per request.
Limits: cold starts; less control; constraints on long-running connections.
Picking the right tier
Picking criteria: team size, multi-cloud need, workload type. Most teams should start at the highest abstraction (Cloud Run / Fargate) and graduate down only when forced.
Most teams that started on K8s in 2020 would, today, start on Cloud Run.
Antipatterns
- Kubernetes for 5 services. Massive overkill; pay platform tax for nothing.
- ECS with multi-cloud aspirations. Locks you in to AWS.
- Cloud Run for stateful or long-running workloads. Wrong tool.
What to do this week
Three moves. (1) Run a 30-day trial of the candidate against your real workload. (2) Compare TCO + workflow fit, not just feature checklists. (3) Decide and commit; running both in parallel is the most expensive option.