EC2, ASG, EKS, dan Fargate: Panduan Lengkap Menentukan Arsitektur Compute di AWS
4 min read

EC2, ASG, EKS, dan Fargate: Panduan Lengkap Menentukan Arsitektur Compute di AWS

Dalam ekosistem AWS, terdapat beberapa cara menjalankan aplikasi: mulai dari virtual machine tradisional, cluster yang autoscale, hingga container orchestration dan serverless container. Empat layanan yang sering membingungkan—namun sangat fundamental—adalah EC2, Auto Scaling Group (ASG), EKS, dan Fargate.

Artikel ini bertujuan memberi pemahaman mendalam, sistematis, dan praktis agar pembaca dapat:

  • Memahami peran masing-masing layanan
  • Mengetahui perbedaan filosofis dan teknis
  • Menentukan kapan harus menggunakan yang mana
  • Menghindari kesalahan desain arsitektur

Diagram Konseptual Perbedaan

EC2, ASG, EKS, dan Fargate: Panduan Lengkap Menentukan Arsitektur Compute di AWS

Makna diagram:

  • EC2: VM langsung, Anda kelola semuanya
  • ASG: EC2 + autoscaling
  • EKS: orkestrasi container
  • Fargate: menjalankan container tanpa mengelola VM

Amazon EC2 (Elastic Compute Cloud)

Apa itu EC2

EC2 adalah virtual machine berbasis cloud. Anda menyewa server virtual dengan spesifikasi tertentu (CPU, RAM, disk, OS), lalu bebas menggunakannya seperti server fisik.

Karakteristik Utama

  • Kontrol penuh atas OS
  • Bisa SSH langsung
  • Fleksibel untuk berbagai workload
  • Billing per jam/detik

Kelebihan

  • Paling fleksibel
  • Cocok untuk aplikasi legacy
  • Mudah dipahami
  • Bebas instal apa saja

Kekurangan

  • Scaling manual (tanpa ASG)
  • Anda bertanggung jawab penuh: patching, security, availability
  • Tidak otomatis high availability

Kapan EC2 Cocok Digunakan

  • Aplikasi monolit lama
  • Sistem yang butuh OS-level control
  • Eksperimen / learning
  • Workload stateful

Best Practice EC2

  • Gunakan IAM Role, bukan access key
  • Simpan config di SSM Parameter Store
  • Gunakan AMI custom untuk konsistensi
  • Jangan single instance untuk production

Auto Scaling Group (ASG)

Apa itu Auto Scaling Group

ASG adalah mekanisme untuk mengelola banyak EC2 secara otomatis: menambah, mengurangi, dan mengganti instance berdasarkan kondisi tertentu.

ASG bukan compute, tetapi controller untuk EC2.

Karakteristik Utama

  • Horizontal scaling otomatis
  • Terintegrasi dengan Load Balancer
  • Health check & auto-replace

Kelebihan

  • High availability
  • Tahan terhadap instance failure
  • Scaling berbasis traffic atau metric

Kekurangan

  • Tetap mengelola OS
  • Scaling relatif lambat (menit)
  • Tidak cocok untuk workload burst ekstrem

Kapan ASG Cocok Digunakan

  • Web backend tradisional
  • API server
  • Worker queue berbasis EC2
  • Aplikasi non-container

Best Practice ASG

  • Selalu gunakan Load Balancer (ALB/NLB)
  • Gunakan Launch Template, bukan Launch Configuration
  • Buat stateless application
  • Kombinasikan dengan CloudWatch metric scaling

Amazon EKS (Elastic Kubernetes Service)

Apa itu EKS

EKS adalah managed Kubernetes di AWS. AWS mengelola control plane Kubernetes, Anda mengelola workload dan (jika pakai EC2) worker node.

Karakteristik Utama

  • Kubernetes compliant
  • Mendukung ecosystem CNCF
  • Portable antar cloud

Kelebihan

  • Standard industri
  • Cocok untuk microservices
  • Fleksibel & powerful
  • Vendor lock-in rendah

Kekurangan

  • Kompleks
  • Biaya control plane
  • Learning curve tinggi

Kapan EKS Cocok Digunakan

  • Microservices skala besar
  • Tim dengan pengalaman Kubernetes
  • Sistem multi-tenant
  • Platform engineering

Best Practice EKS

  • Gunakan namespace dan resource quota
  • Terapkan HPA & VPA
  • Gunakan IRSA (IAM Role for Service Account)
  • Logging dan monitoring wajib (Prometheus, CloudWatch)

AWS Fargate

Apa itu Fargate

Fargate adalah compute engine untuk container tanpa mengelola server. Anda hanya mendefinisikan container dan resource yang dibutuhkan.

Fargate bisa digunakan oleh:

  • ECS
  • EKS

Karakteristik Utama

  • Serverless container
  • Billing per resource per detik
  • Tidak ada node management

Kelebihan

  • Operasional sangat sederhana
  • Aman secara default
  • Cocok untuk workload sporadis

Kekurangan

  • Lebih mahal per unit compute
  • Tidak cocok untuk workload berat jangka panjang
  • Kontrol terbatas

Kapan Fargate Cocok Digunakan

  • Background job
  • Event-driven worker
  • Microservice low–medium traffic
  • Tim kecil tanpa infra engineer

Best Practice Fargate

  • Set resource request tepat
  • Gunakan spot Fargate jika memungkinkan
  • Pisahkan service berat ke EC2
  • Observability sejak awal

Perbandingan Langsung

AspekEC2ASGEKSFargate
Level abstraksiRendahRendah–MenengahTinggiSangat Tinggi
AutoscalingManualYaYaYa
Kelola serverYaYaYa/TidakTidak
Cocok untukLegacyWeb/APIMicroservicesEvent-driven
KompleksitasRendahMenengahTinggiRendah

Decision Guide

EC2, ASG, EKS, dan Fargate: Panduan Lengkap Menentukan Arsitektur Compute di AWS


Diagram Arsitektur Produksi per Jenis

Bagian ini menunjukkan contoh arsitektur produksi yang umum dan realistis untuk masing-masing pendekatan. Diagram dibuat konseptual agar mudah dipahami lintas level engineer.

Arsitektur Produksi: EC2 Tunggal (Minimum Production)

EC2, ASG, EKS, dan Fargate: Panduan Lengkap Menentukan Arsitektur Compute di AWS

Karakteristik:

  • Single point of failure
  • Cocok untuk MVP awal, internal tools
  • Tidak direkomendasikan untuk traffic publik besar

Arsitektur Produksi: EC2 + Auto Scaling Group

EC2, ASG, EKS, dan Fargate: Panduan Lengkap Menentukan Arsitektur Compute di AWS

Karakteristik:

  • High availability
  • Horizontal scaling
  • Pola paling umum untuk web & API tradisional

Arsitektur Produksi: EKS Berbasis EC2 Worker Node

EC2, ASG, EKS, dan Fargate: Panduan Lengkap Menentukan Arsitektur Compute di AWS

Karakteristik:

  • Kontrol penuh atas node
  • Efisien untuk workload stabil dan berat
  • Cocok untuk platform skala menengah–besar

Arsitektur Produksi: EKS + Fargate (Serverless Kubernetes)

EC2, ASG, EKS, dan Fargate: Panduan Lengkap Menentukan Arsitektur Compute di AWS

Karakteristik:

  • Tanpa worker node
  • Operasional minimal
  • Ideal untuk tim kecil atau workload tidak konstan

Arsitektur Produksi: Fargate untuk Event / Background Job

EC2, ASG, EKS, dan Fargate: Panduan Lengkap Menentukan Arsitektur Compute di AWS

Karakteristik:

  • Event-driven
  • Scale to zero
  • Biaya efisien untuk workload sporadis

Arsitektur Produksi: Fargate untuk HTTP API

EC2, ASG, EKS, dan Fargate: Panduan Lengkap Menentukan Arsitektur Compute di AWS

Karakteristik:

  • HTTP API stateless
  • Autoscale berbasis request / CPU / memory
  • Tidak ada server & node management
  • Cocok untuk backend modern skala kecil–menengah

Penutup

Tidak ada pilihan yang “paling benar”—yang ada adalah paling tepat. Kesalahan umum adalah:

  • Menggunakan EKS untuk sistem sederhana
  • Menggunakan EC2 tunggal untuk production
  • Menggunakan Fargate untuk workload berat terus-menerus

Prinsip utama:

Semakin tinggi abstraksi, semakin kecil beban operasional—namun semakin besar biaya dan keterbatasan kontrol.