Digital Transformation
Blue-Green Deployment
Blue-green deployment adalah strategi rilis software dengan dua environment identik berjalan paralel, di mana traffic dipindahkan dari versi lama (blue) ke versi baru (green) secara instan untuk menghindari downtime.
TL;DR: Blue-green deployment adalah strategi rilis dengan menjalankan dua environment produksi identik secara paralel, lalu memindahkan traffic dari versi lama ke versi baru lewat load balancer. Manfaat utamanya: zero downtime saat rilis dan rollback instan jika ada masalah. Biayanya: butuh dua kali resource infrastruktur saat transisi.
Apa itu Blue-Green Deployment?
Blue-green deployment adalah cara merilis aplikasi tanpa mematikan layanan. Dua environment identik berjalan: satu disebut blue (versi lama, sedang melayani traffic), satu disebut green (versi baru, siap menggantikan). Saat versi baru terbukti sehat di green, load balancer mengarahkan traffic ke green. Blue tetap idle sebagai cadangan rollback.
Bedakan dengan canary deploy: canary mengarahkan sebagian kecil traffic dulu (misal 5%, 10%, 25%) untuk validasi bertahap. Blue-green memindahkan 100% sekaligus setelah versi baru siap.
Cara Kerja
| Tahap | Apa yang Terjadi |
|---|---|
| 1. Persiapan | Deploy versi baru ke environment green, jalankan smoke test internal |
| 2. Validasi | Traffic internal atau staging mengarah ke green untuk verifikasi |
| 3. Switch | Load balancer (atau DNS, atau router) memindahkan traffic produksi ke green |
| 4. Monitoring | Observasi error rate, latency selama 15-60 menit |
| 5. Rollback atau commit | Kalau bermasalah, balikkan ke blue. Kalau sehat, blue jadi staging untuk rilis berikutnya |
Kenapa Penting?
Untuk bisnis Indonesia dengan traffic puncak di jam tertentu (misal e-commerce di akhir bulan, edu-tech di musim daftar ulang), downtime rilis berarti revenue hilang langsung. Strategi ini memberi keyakinan untuk merilis tanpa menunggu jam sepi. Saat saya membantu setup pipeline rilis untuk klien LMS, blue-green plus feature flag memungkinkan rilis di jam kerja tanpa risiko ke pengguna aktif.
Trade-off-nya jelas: butuh 2x resource infrastruktur saat transisi. Untuk aplikasi berbasis container di platform seperti Vercel atau AWS, biaya tambahan ini wajar dibandingkan risiko downtime.
Pertanyaan Umum
Lebih baik blue-green atau canary deploy?
Tergantung jenis perubahan. Blue-green cocok untuk rilis besar (database migration, breaking change) yang sulit di-rollback per persen traffic. Canary cocok untuk perubahan UI atau algoritma yang manfaat dari validasi bertahap. Tim mature sering pakai keduanya. Lihat panduan Martin Fowler tentang BlueGreenDeployment.
Apakah cocok untuk database migration?
Hati-hati. Database stateful, tidak bisa diduplikasi semudah aplikasi stateless. Pola umum: pakai migrasi backward-compatible (expand-contract) supaya blue dan green bisa berbagi database yang sama selama transisi.
Istilah Terkait