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 →