Menjadikan biaya sebagai dimensi desain yang sadar: prinsip FinOps, unit economics per transaksi, trade-off biaya model komputasi dan penyimpanan, jebakan egress dan over-provisioning — ditutup model biaya bulanan konkret untuk infrastruktur studi kasus e-commerce kita

Setelah di episode 16 kalian merancang resilience menyeluruh — timeout budget, circuit breaker, bulkhead, hingga error budget — pada episode ini kita bahas dimensi yang jarang muncul di diagram arsitektur tetapi selalu muncul di rapat direksi: biaya.
Cost-efficiency adalah quality attribute yang sah, sama seperti performance. Keputusan arsitektur kalian secara langsung menentukan tagihan cloud bulanan — dan sebaliknya, struktur biaya menentukan pilihan desain yang terjangkau. Architect yang tidak bisa menjawab "berapa biaya per order sistem ini" akan kehilangan argumen di meja bisnis; architect yang bisa, berubah dari pemakai budget menjadi mitra strategis.
FinOps adalah praktik mengelola biaya cloud dengan kolaborasi finance-engineering-product. Tiga fasa kerjanya:
Informate : tagihannya transparan & dialokasikan per tim/service
Optimize : tindakan efisiensi berdasarkan data tersebut
Operate : kebijakan & target biaya jadi bagian operasi rutinPrasyarat teknisnya satu: alokasi per service lewat tagging disiplin (service=inventory, env=prod) sehingga tagihan bisa dipotong per modul. Tanpa itu, semua diskusi biaya adalah perang opini tentang siapa yang boros.
Perhatikan posisi ini bagi architect: FinOps bukan pekerjaan tim finance semata — keputusan struktural (managed DB vs self-hosted, container vs serverless, replika baca tambahan) adalah keputusan arsitektur yang konsekuensi finansialnya berbulan-bulan.
Angka paling penting bukan total tagihan, melainkan biaya per unit bisnis: per order, per request, per pengguna aktif.
Mengapa? Karena ia membuat biaya proporsional terhadap nilai:
Infra bulanan : $4.200
Order bulanan : 120.000
Biaya per order : $0.035
Jika margin/order = $2 → infra 1.75% dari revenue ✓ sehat
Jika margin/order = $0.05 → infra 70% margin ✗ desain salahKasus kedua menuntut keputusan arsitektur (efisiensi), bukan sekadar hemat-hemat listrik: mungkin caching kurang agresif, mungkin jalur analitik real-time mahal tak bernilai. Unit economics mengubah "tagihan besar" menjadi diagnosis terarah.
Perilaku skalanya juga penting: biaya ideal bertumbuh sub-linear terhadap trafik (cache hit naik, instance tetap). Jika biaya naik linear 1:1 dengan traffic, arsitektur kalian sedang membeli setiap pengguna dua kali.
Lanjutan tabel episode 14, kini dengan lensa biaya:
| Model | Pola Trafik Optimal | Jebakan Biaya |
|---|---|---|
| VM dedicated | Beban steady 24/7 | Over-provision untuk peak |
| Container autoscale | Fluktuatif harian | Idle malam hari |
| Serverless | Sporadis, spike ekstrem | Steady high-throughput |
| Spot/preemptible | Batch toleran gangguan | Workload stateful |
Aturan kasarnya: serverless menang saat duty-cycle rendah (<30%), container menang saat tinggi (>60%). Studi kasus kita sudah konsisten: core checkout steady → container; image resize sporadis → FaaS.
Dua taktik efisiensi compute yang sering terlupakan:
Compute terlihat; storage dan transfer sering mengejutkan:
Data panas jarang lebih dari 5% volume total. Tiering otomatis menyelamatkan puluhan persen: object storage hot → infrequent access (90 hari) → archive (1 tahun) untuk audit log dan snapshot backup lama. Database pun sama — partisi lama bisa dipindah ke penyimpanan murah tanpa hilang.
Trafik keluar (egress) dikenakan mahal — dan pola arsitektur menentukannya:
Anti-pola : App cloud → DB cloud → API user lain-cloud (egress 2x)
Pola baik : Komputasi dekat sumber data, kirim hasil ringkasKonsekuensi desainnya nyata: agregasi di tempat data hidup, CDN menyerap egress konten statis dengan harga jauh lebih murah, dan integrasi B2B besar pertimbangkan region/data-transfer agreement.
Tip
Tiga item audit cepat yang hampir selalu menemukan pemborosan: unattached volumes & snapshot lama, IP publik idle, dan environment staging yang berjalan 24/7 padahal dipakai 40 jam/minggu. Auto-stop staging saja biasanya menghemat 60%+ biayanya.
Mari hitung kasar infrastruktur bulanan e-commerce kita (harga indikatif):
kompute_k8s:
baseline: {pods: 6, vcpu_total: 6, gb_total: 12}
flash_sale_peak: {pods: 30, jam_per_bulan: 8}
estimasi: "$420/bln (rata-rata termasuk pre-scale)"
database_postgres:
primary: {vcpu: 4, ram_gb: 16, storage_gb: 500}
replica_read: 1x primary
estimasi: "$520/bln managed"
redis_cache: {gb: 8, ha: true, estimasi: "$95/bln"}
kafka_managed: {partisi: 12, retensi_30d, estimasi: "$180/bln"}
object_storage_cdn:
produk_media_tb: 1.2
log_arsip_tb: 2.0
egress_tb: 3.5
estimasi: "$210/bln"
observability:
logs_gb_hari: 25, trace_sampled: "10%"
estimasi: "$140/bln"
total_estimasi: "~$1.565/bulan"
unit_economics:
order_per_bulan: 120000
cost_per_order: "$0.013"
margin_check: "infra ≈ 0.9% dari GMV -> sehat"Bandingkan dengan skenario alternatif yang dievaluasi dan ditolak, beserta alasannya — karena itulah nilai dokumen ini:
Multi-AZ HA full (replica sync + failover auto)
+$380/bln -> DITAHAN: RPO/RTO scenario ep5 belum
menuntutnya; backup PITR cukup sementara ini
Kafka self-hosted di spot instances
-$120/bln -> DITOLAK: on-call effort & risiko data
loss melebihi penghematannya
Serverless untuk core API
±sama/bln pada trafik kini -> DITOLAK: cold start
jalur uang + kehilangan pre-scaling deterministik ep11Model biaya ini juga menjadi alat prediksi: jika traffic 2x, mana yang naik linear (compute), sub-linear (cache hit rate naik), atau step-function (butuh replica baru)? Jawabannya memberi tahu finance kapan anggaran berubah — bukan saat tagihan datang sebagai kejutan.
Inti yang harus dibawa pulang:
Di episode 18 selanjutnya kita perdalam fondasi zero trust dari episode 10: zero trust software — identity-based design, mutual TLS dan service identity, least privilege end-to-end, hingga bagaimana studi kasus kita membangunnya tanpa service mesh sejak hari pertama. Sampai jumpa!