⚔️ AWS EKS vs ECS: Memilih Orchestrator Container yang Tepat
Di AWS, ada dua layanan utama untuk menjalankan container di skala produksi: Amazon EKS (Elastic Kubernetes Service) dan Amazon ECS (Elastic Container Service).
Keduanya sama-sama powerful, managed, dan battle-tested. Tapi filosofi, kompleksitas, dan use case-nya sangat berbeda. Banyak tim salah memilih, bukan karena teknologinya buruk — tapi karena tidak cocok dengan konteks problem.
Agar perbedaannya langsung terasa, mari mulai dari gambaran arsitektur tingkat tinggi.

Intuisi singkatnya:
- EKS = Kubernetes full experience di AWS
- ECS = Container orchestrator versi AWS, lebih simpel dan terintegrasi
Apa itu Amazon EKS?
Amazon EKS adalah layanan managed Kubernetes dari AWS. Artinya:
- Kamu menjalankan Kubernetes seutuhnya
- Control plane dikelola AWS
- Worker node bisa EC2 atau Fargate
Karakteristik utama EKS
- Standar Kubernetes (upstream-compatible)
- Mendukung seluruh ekosistem CNCF
- Portabel lintas cloud & on‑prem
- Kompleks, tapi sangat fleksibel
Komponen utama
- Kubernetes API Server
- etcd (dikelola AWS)
- Scheduler & Controller
- Worker Node (EC2 / Fargate)
Cocok untuk
- Platform engineering
- Multi-cloud / hybrid
- Workload kompleks (operator, CRD, service mesh)
- Tim yang sudah paham Kubernetes
Apa itu Amazon ECS?
Amazon ECS adalah container orchestrator buatan AWS sendiri, bukan Kubernetes.
Di ECS:
- Tidak ada pod, deployment, service versi K8s
- Semua dikontrol via Task Definition dan Service
- Integrasi AWS sangat dalam
Karakteristik utama ECS
- Simpel dan opinionated
- Tidak portable (AWS-only)
- Minim overhead operasional
- Learning curve rendah
Komponen utama
- ECS Control Plane
- Cluster
- Task Definition
- Service
- EC2 atau Fargate sebagai compute
Cocok untuk
- Backend API
- Microservice sederhana
- Startup / small team
- Tim yang ingin fokus ke bisnis
Perbedaan Filosofi Dasar
| Aspek | EKS | ECS |
|---|---|---|
| Filosofi | Platform | Produk AWS |
| Standar | Kubernetes (CNCF) | Proprietary |
| Fleksibilitas | Sangat tinggi | Terbatas |
| Kompleksitas | Tinggi | Rendah |
| Portabilitas | Tinggi | Rendah |
Rule of thumb:
- Mau control & extensibility → EKS
- Mau simplicity & speed → ECS
Arsitektur & Cara Kerja
EKS (Kubernetes-based)
User → kubectl / CI
↓
Kubernetes API
↓
Scheduler → Pod
↓
Worker Node (EC2/Fargate)
- Banyak abstraction layer
- Sangat powerful
- Tapi perlu observability & governance yang matang
ECS (AWS-native)
User → AWS Console / CLI / IaC
↓
ECS Service
↓
Task Scheduler
↓
EC2 / Fargate Task
- Lebih direct
- Lebih sedikit moving parts
Networking & Load Balancing
EKS
Menggunakan VPC CNI
Pod dapat IP VPC langsung
Load balancer via:
- ALB Ingress Controller
- NGINX Ingress
Kelebihan: fleksibel Kekurangan: konfigurasi kompleks
ECS
Native integration dengan:
- ALB / NLB
- Security Group per task
Kelebihan: sangat simpel Kekurangan: kurang customizable
Scaling & Auto Scaling
EKS
- HPA (Horizontal Pod Autoscaler)
- VPA (Vertical Pod Autoscaler)
- Cluster Autoscaler
- KEDA (event-driven)
ECS
- Service Auto Scaling
- Target tracking (CPU, memory, ALB request)
Kesimpulan:
- EKS → scaling canggih
- ECS → scaling praktis
Observability & Ecosystem
EKS
- Prometheus
- Grafana
- OpenTelemetry
- Service Mesh (Istio, Linkerd)
ECS
- CloudWatch (logs & metrics)
- X-Ray
EKS unggul di ecosystem, ECS unggul di kemudahan
Security & IAM
EKS
- RBAC Kubernetes
- IAM for Service Account (IRSA)
- NetworkPolicy
ECS
- IAM Task Role
- Security Group per task
ECS lebih mudah, EKS lebih granular.
Cost & Operational Overhead
| Faktor | EKS | ECS |
|---|---|---|
| Control Plane | Berbayar | Gratis |
| Operasional | Tinggi | Rendah |
| Tim Platform | Hampir wajib | Opsional |
Kapan Memilih EKS?
Pilih EKS jika:
- Kamu butuh Kubernetes ecosystem
- Ada rencana multi-cloud
- Platform berskala besar
- Tim infra kuat
Kapan Memilih ECS?
Pilih ECS jika:
- Fokus ke produk
- Tim kecil
- Tidak butuh Kubernetes
- Ingin cepat dan stabil
Kesimpulan
EKS dan ECS bukan kompetitor langsung — mereka menyelesaikan problem yang berbeda.
- EKS = investasi jangka panjang untuk platform
- ECS = efisiensi dan kecepatan delivery
Pilihan terbaik bukan yang paling canggih, tapi yang paling sesuai dengan konteks tim, skala, dan tujuan bisnis.