Reserved & Savings Plans #

Harga on-demand di cloud adalah harga paling mahal — kamu membayar untuk fleksibilitas maksimum. Ketika workload sudah cukup stabil dan bisa diprediksi, ada cara untuk mendapat diskon signifikan dengan berkomitmen untuk menggunakan sumber daya dalam jangka waktu tertentu. Reserved Instance (RI) dan Savings Plans adalah dua mekanisme utama untuk ini — dengan trade-off berbeda antara fleksibilitas dan besarnya diskon yang didapat.

Konsep: Menukar Fleksibilitas dengan Diskon #

On-Demand pricing:
  → Bayar per jam tanpa commitment
  → Bisa terminate kapan saja
  → Harga tertinggi
  → Cocok untuk: workload tidak predictable, puncak, eksperimen

Reserved / Committed Use:
  → Commit untuk menggunakan resource selama 1 atau 3 tahun
  → Tidak harus running 24/7 — commitment ke kapasitas, bukan waktu running
  → Diskon 30-60% dari on-demand
  → Cocok untuk: baseline workload yang stabil dan predictable

Analogi:
  On-demand = hotel: bayar per malam, bebas check-out kapan saja, harga mahal
  Reserved  = sewa apartemen: bayar 1 tahun di muka, terikat, harga lebih murah
  
  Jika kamu tahu akan butuh "apartemen" selama 1 tahun,
  sewa lebih ekonomis. Jika tidak yakin, hotel lebih aman
  meski lebih mahal.

Reserved Instance (RI) #

Reserved Instance mengunci commitment ke tipe instance tertentu di region tertentu.

Parameter Reserved Instance:

  Instance Type:   m5.xlarge (kamu lock ke tipe ini)
  Region:          ap-southeast-1 (kamu lock ke region ini)
  Tenancy:         shared (default) atau dedicated
  Term:            1 tahun atau 3 tahun
  Payment:         All Upfront | Partial Upfront | No Upfront

  Semakin banyak yang dikunci dan semakin besar commitment:
  → Diskon semakin besar

Contoh perbandingan harga (ilustrasi):
  On-demand m5.xlarge:     $0.192/jam  ($1.680/bulan)
  RI 1yr All Upfront:      $0.124/jam  ($1.084/bulan) - hemat 35%
  RI 3yr All Upfront:      $0.082/jam  ($720/bulan)   - hemat 57%

Standard vs Convertible RI #

Standard RI:
  → Lock ke instance family, size, OS, dan region
  → Diskon paling besar (35-60%)
  → Bisa dijual di Reserved Instance Marketplace jika tidak dibutuhkan lagi
  ✗ Tidak bisa mengubah instance type selama commitment berlaku

Convertible RI:
  → Bisa mengubah instance family, size, OS, atau region selama term
  → Diskon lebih kecil (~20-40%)
  → Tidak bisa dijual di marketplace
  ✓ Memberikan fleksibilitas jika kebutuhan berubah
  
  Kapan pilih Convertible:
  → Kamu tidak yakin apakah instance type akan berubah
  → Teknologi mungkin berubah (pindah ke ARM/Graviton misalnya)
  → Roadmap produk yang membuat workload bisa berubah

Savings Plans — Fleksibilitas yang Lebih Tinggi #

Savings Plans adalah mekanisme commitment yang lebih modern dan lebih fleksibel dari Reserved Instance. Daripada commit ke instance spesifik, kamu commit ke jumlah spending per jam.

Compute Savings Plans:
  "Aku akan spend minimal $X per jam untuk compute selama 1/3 tahun"
  
  → Berlaku untuk: EC2 (semua instance family, size, OS, region),
    Lambda, Fargate
  → Diskon 20-50% dari on-demand
  → Paling fleksibel — bisa pindah region, instance type, bahkan
    ke serverless atau container

EC2 Instance Savings Plans:
  "Aku akan spend minimal $X per jam untuk instance family ini di region ini"
  
  → Lebih spesifik dari Compute Savings Plans
  → Diskon lebih besar (25-55%)
  → Tapi masih bisa berganti size dalam instance family yang sama
    (misalnya dari m5.large ke m5.4xlarge)

Cara kerja Savings Plans:
  Commit: $3.00/jam Compute Savings Plans (1 tahun)
  
  Setiap jam, billing system check:
  → Hitung usage on-demand kamu
  → Apply diskon Savings Plans hingga $3.00/jam committed
  → Sisa di atas $3.00/jam = ditagih on-demand
  → Jika usage < $3.00/jam = tetap bayar $3.00 (commitment)

Cara Menghitung Kebutuhan Commitment #

Langkah 1 — Identifikasi baseline workload:
  → Lihat usage history 3-6 bulan terakhir
  → Identifikasi: usage berapa yang SELALU ada (baseline)
  → Baseline = kandidat untuk reserved/savings plans
  → Burst di atas baseline = biarkan on-demand atau spot

  Contoh:
  Selalu punya minimal 5 m5.xlarge (baseline)
  Peak bisa mencapai 20 m5.xlarge (burst)
  
  → Reserve 5 m5.xlarge
  → Sisanya on-demand atau spot

Langkah 2 — Hitung ROI:
  Cost tanpa reservation (5 × on-demand × 12 bulan):
    5 × $0.192 × 24 × 365 = $8.419/tahun

  Cost dengan 1yr All Upfront RI:
    5 × $0.124 × 24 × 365 = $5.433/tahun
    
  Penghematan: $2.986/tahun (35.5%)
  Break-even: sejak hari pertama (all upfront lebih murah dari on-demand)

Langkah 3 — Pilih term:
  1 tahun: lebih fleksibel, diskon lebih kecil
  3 tahun: lebih berisiko (banyak yang bisa berubah), diskon lebih besar
  
  Rekomendasi umum:
  → 1 tahun untuk sebagian besar kasus
  → 3 tahun hanya jika sangat yakin workload tidak akan berubah
    dan instance type tidak akan obsolete

Risiko Over-commitment #

// ANTI-PATTERN: Reserved terlalu banyak

  Commit 20 reserved instance m5.2xlarge selama 3 tahun
  Setahun kemudian: tim berpindah ke container (Fargate/EKS)
  Tidak butuh EC2 lagi
  
  Konsekuensi:
  ✗ Masih harus bayar commitment selama 2 tahun tersisa
  ✗ Bisa jual di marketplace, tapi dengan harga diskon
  ✗ Waste yang signifikan

Cara menghindari over-commitment:
  ✓ Mulai konservatif — reserve hanya 60-70% dari baseline yang sudah pasti
  ✓ Tambahkan commitment setelah ada kepastian lebih tinggi
  ✓ Untuk tim dengan roadmap yang berubah cepat, pilih Compute Savings Plans
    (berlaku ke Lambda dan Fargate juga, tidak hanya EC2)
  ✓ Review reservation setiap kuartal: ada yang bisa dilepas? ada baseline
    yang naik dan perlu di-reserve lebih?

  Commitment utilization tracking:
  → Monitor: berapa persen commitment yang benar-benar digunakan?
  → Idealnya: utilization > 80-90%
  → Jika < 70%: terlalu banyak commitment, evaluasi untuk kurangi

Reserved untuk Database dan Layanan Lain #

RI bukan hanya untuk EC2. Sebagian besar managed services juga punya model reserved:

  Managed Database (RDS, CloudSQL, Aurora):
  → Reserved DB instance: commit ke instance type dan region
  → Diskon 30-60% dari on-demand
  → Sangat direkomendasikan untuk production database yang stabil

  Cache (ElastiCache, Memorystore):
  → Reserved cache node
  → Diskon serupa dengan EC2 RI

  Elasticsearch / OpenSearch:
  → Reserved instance untuk search cluster

  Strategi:
  ✓ Production database: hampir selalu layak di-reserve
    Database production berjalan 24/7 dan tidak sering berubah type
  ✓ Production cache: sama seperti database
  ✓ Dev/staging: biarkan on-demand atau schedule stop di luar jam kerja

Ringkasan #

  • Reserved Instance dan Savings Plans menukar fleksibilitas dengan diskon — commit 1-3 tahun, hemat 30-60% dari harga on-demand.
  • Standard RI untuk diskon maksimum, Convertible RI untuk fleksibilitas mengubah type — pilih berdasarkan seberapa yakin kamu tentang kebutuhan di masa depan.
  • Savings Plans lebih fleksibel dari RI — commit ke spend per jam, berlaku ke berbagai instance type dan bahkan serverless; pilihan yang lebih aman untuk tim yang workload-nya bisa berubah.
  • Reserve hanya baseline yang pasti, bukan maksimum — burst capacity lebih baik on-demand atau spot daripada over-commit ke reserved.
  • Monitor commitment utilization — utilization di bawah 70% sinyal over-commitment; di atas 90% sinyal under-commitment.
  • Production database dan cache hampir selalu layak di-reserve — berjalan 24/7 dan jarang berubah type, ROI sangat jelas.

← Sebelumnya: Cost Allocation & Tagging   Berikutnya: FinOps →

About | Author | Content Scope | Editorial Policy | Privacy Policy | Disclaimer | Contact