Amazon EKS — EKS vs ECS vs Fargate

3 minute read

EKS vs ECS vs Fargate

AWS offers three main container services, and choosing the wrong one is a common — and expensive — mistake. This page compares all three so you can pick the right tool.


The Three Services

AWS Container Services
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐  │
│  │   Amazon ECS  │  │  Amazon EKS   │  │ AWS Fargate   │  │
│  │               │  │               │  │               │  │
│  │  AWS-native   │  │  Kubernetes   │  │  Serverless   │  │
│  │  container    │  │  on AWS       │  │  compute for  │  │
│  │  orchestrator │  │               │  │  containers   │  │
│  └───────────────┘  └───────────────┘  └───────────────┘  │
│                                                             │
│  Note: Fargate is a COMPUTE ENGINE, not an orchestrator.   │
│  It works WITH both ECS and EKS.                           │
└─────────────────────────────────────────────────────────────┘

Key clarification: Fargate is NOT a competitor to ECS or EKS. It’s a compute engine that works with both. Think of ECS and EKS as the “what to run” and Fargate as the “where to run it” (alongside EC2).


Comparison Table

Aspect ECS EKS Fargate
Type Container orchestrator Container orchestrator Compute engine
Standard AWS-proprietary Kubernetes (CNCF) N/A (works with ECS/EKS)
Learning curve Low High Low (with ECS)
Cluster fee Free $0.10/hr ($73/month) N/A
Compute options EC2 or Fargate EC2, Fargate, or both Serverless only
Portability AWS only Multi-cloud AWS only
Ecosystem AWS tooling only Helm, operators, CRDs, etc. Limited
Ideal team size Small-medium Medium-large Any
DaemonSets No (use sidecars) Yes (EC2 nodes) No
GPU support Yes (EC2) Yes (EC2) No

When to Use Each

Use Amazon ECS When:

  • Your team doesn’t know Kubernetes and doesn’t need to learn it
  • You’re deploying straightforward containerized apps
  • You want the simplest path to running containers on AWS
  • You don’t need multi-cloud portability
  • You have < 20 microservices

Use Amazon EKS When:

  • Your team already knows Kubernetes
  • You need Kubernetes-specific features (CRDs, operators, Helm)
  • Multi-cloud portability matters (same manifests on GKE, AKS)
  • You have complex networking requirements
  • You’re running 20+ microservices
  • You need fine-grained scheduling (affinity, taints, tolerations)

Use Fargate (with either ECS or EKS) When:

  • You don’t want to manage EC2 instances
  • Workloads are bursty or unpredictable
  • You’re running batch jobs or cron tasks
  • Security requires pod-level isolation (each Fargate task gets its own VM)

Decision Flowchart

Do you need containers on AWS?
├── No → Consider Lambda, App Runner, or Lightsail
└── Yes
    ├── Does your team know Kubernetes?
    │   ├── No
    │   │   └── Do you need K8s-specific features?
    │   │       ├── No → Use ECS ✅
    │   │       └── Yes → Invest in learning K8s → Use EKS
    │   └── Yes
    │       └── Do you need multi-cloud?
    │           ├── Yes → Use EKS ✅
    │           └── No → EKS (if > 20 services) or ECS (if simpler)
    └── Do you want serverless containers?
        └── Yes → Fargate with ECS (simpler) or EKS (if you need K8s)

Cost Comparison

For running 10 microservices, each needing 0.5 vCPU and 1 GB memory:

Component ECS + EC2 ECS + Fargate EKS + EC2 EKS + Fargate
Orchestrator fee $0 $0 $73 $73
Compute (10 pods, 24/7) ~$60 ~$180 ~$60 ~$180
NAT Gateway (1 AZ) $32 $32 $32 $32
Monthly total ~$92 ~$212 ~$165 ~$285

Takeaway: ECS is cheaper for simple workloads. EKS pays for itself when you need K8s features that would take months to build on ECS.


Common Mistakes

Mistake Why It’s Wrong
“EKS because everyone uses K8s” If your team doesn’t know K8s, ECS is faster to production
“ECS because it’s cheaper” The $73/month EKS fee is trivial compared to engineering time
“Fargate for everything” Fargate is 2-3x more expensive than EC2 for steady-state workloads
“We’ll migrate from ECS to EKS later” Migration is painful — decide upfront

Quick Reference

Question Answer
Simplest option? ECS + Fargate
Cheapest option? ECS + EC2
Most portable? EKS + EC2
Most serverless? ECS/EKS + Fargate
Best for Kubernetes shops? EKS
Best for small teams? ECS

What’s Next?

Ready to test your understanding? Try the Introduction Exercises to solidify what you’ve learned.