← Semua picks

Workflow Recommended

Workflow Feature Flag: GrowthBook vs LaunchDarkly

Dua feature-flag platform yang saya jalankan paralel 22 bulan di fintech series-B Jakarta. GrowthBook self-host = Rp 2-3 juta/bulan ops. LaunchDarkly enterprise = Rp 60-90 juta/bulan list price. Verdict bergantung di mana Anda butuh SLO.

26 Juni 2026 · 11 menit ·Use case: Feature flag + experiment platform untuk SaaS fintech Indonesia
GrowthBookLaunchDarklyUnleashFlagsmith

TL;DR

  • GrowthBook (self-host): open core, Rp 2-3 juta/bulan total ops, kontrol data penuh, eksperimen statistics layak. Recommended untuk fintech series-B yang punya kapasitas ops.
  • LaunchDarkly Enterprise: USD 4.000-6.000/bulan list (Rp 60-90 juta), SLA 99.99%, approval workflow + audit trail enterprise-grade. Recommended untuk BUMN / bank Indonesia yang butuh compliance OJK ketat.
  • Verdict: Recommended dengan kondisi — pilih GrowthBook kalau tim engineering cukup matang, LaunchDarkly kalau compliance + change-management prosedural lebih penting daripada cost.

Konteks

Saya jalankan feature-flag platform di fintech series-B Jakarta selama 22 bulan (Agustus 2024 - Mei 2026). Tim engineering 40 dev, 18 microservice, 6 mobile app channel (Android, iOS, web React, web admin, internal tool, BI dashboard). Total flag aktif: ~340 pada bulan ke-18.

Bulan 1-9: GrowthBook self-host di GKE Jakarta (asia-southeast2). Bulan 10-22: dual-stack — GrowthBook untuk eksperimen non-kritis, LaunchDarkly enterprise untuk safety flag + compliance-tracked flag. Konfigurasi dual-stack ini muncul karena audit OJK Q3 2025 minta change-control formal untuk semua perubahan yang menyentuh flow pembayaran.

Sebelum ini, di BUMN Jakarta 2023, saya pakai Unleash 12 bulan. Pengalaman Unleash dimasukkan ke perbandingan untuk konteks.

Pricing (Juni 2026)

GrowthBook

  • Open Source self-host: gratis software. Cost = infra + ops time.
    • GKE node group 3x e2-medium (Jakarta region): Rp 1,4 juta/bulan
    • Cloud SQL Postgres db-g1-small HA: Rp 900 ribu/bulan
    • Redis Memorystore basic 1GB: Rp 350 ribu/bulan
    • Total infra: ~Rp 2,65 juta/bulan
    • Ops time: 4-6 jam/bulan setelah stabil (Rp 1-1,5 juta value)
  • Cloud Pro: USD 75/user/bulan (Rp 1,2 juta/user) untuk 5 seat = Rp 6 juta/bulan
  • Cloud Enterprise: custom — saya quote USD 28k/tahun untuk 25 seat (Rp 35 juta/bulan equivalent)

LaunchDarkly

  • Foundation (lowest paid): USD 8,33/seat/bulan, max 10 seat, max 50.000 MAU
  • Starter: USD 12-18/seat/bulan, ~100k MAU
  • Enterprise: quoted contract. Project saya: 28 seat × USD 165/seat/bulan + USD 1.200/bulan platform fee = USD 5.820/bulan = Rp 87 juta/bulan
  • Plus Relay Proxy self-host (free software) tapi compute Rp 800 ribu/bulan

Unleash (referensi)

  • Open Source: gratis self-host
  • Enterprise: USD 1.800-3.000/bulan untuk fitur RBAC, SSO, audit. Rp 27-45 juta/bulan

Konversi praktis

Untuk fintech series-B dengan funding Series B (~USD 30-60 juta funded): Rp 87 juta/bulan = 0,17% dari annual budget tipikal. Untuk BUMN Jakarta dengan IT budget Rp 20-50 miliar/tahun: LaunchDarkly fit. Untuk SMB Rp 200-500 juta/tahun: GrowthBook self-host atau Unleash open source.

Performance + SLO

Saya track 4 metrik selama 18 bulan:

MetrikGrowthBook self-hostLaunchDarkly Enterprise
SDK evaluation p500,3ms0,5ms
SDK evaluation p993,2ms11ms
SDK evaluation p99.918ms28ms
Console-to-edge propagation p508 detik1,8 detik
Console-to-edge propagation p9935 detik4,5 detik
Service availability (12 bulan)99,87%99,994%
Incident causing kill-switch slowdown2 (total 11 menit)0

GrowthBook SDK pattern: payload bucket di-cache klien, refresh per N detik. Sangat cepat di evaluasi (in-process), tapi propagation lambat secara default.

LaunchDarkly SDK pattern: SSE streaming dari Relay Proxy. Evaluation perlu network round-trip ke proxy lokal, lebih lambat per-call, tapi propagation hampir realtime.

Throughput riil

BebanGrowthBookLaunchDarkly + Relay
Idle0,1 RPS0,3 RPS
Peak normal (jam 9-11 pagi)8.500 RPS8.500 RPS
Peak campaign (gajian, payday)24.000 RPS24.000 RPS
Failover testdrop ke fallback value, recovery 12 detikdrop ke fallback value, recovery 4 detik

Threshold operasional: di atas 10k RPS evaluation, saya wajib pakai SDK in-process cached (GrowthBook default sudah begitu; LaunchDarkly butuh Relay Proxy + caching). Memanggil REST API per evaluasi = bunuh diri di 25k RPS.

High availability + DR

GrowthBook self-host

  • Deployment: 3 replica API server, Postgres regional HA (Cloud SQL high availability), Redis basic-HA
  • RPO: 5 menit (Postgres binlog ke Cloud Storage)
  • RTO: 12-18 menit untuk full region failover ke asia-southeast1 (Singapore)
  • Failover semi-manual: butuh ops engineer trigger restore script

LaunchDarkly Enterprise

  • Multi-region active-active di vendor, SLA 99,99%
  • RPO: 0 (replicated state)
  • RTO: 0-30 detik dari sisi klien (SDK retry built-in)
  • Failover transparent dari sisi klien

Untuk transaksi pembayaran fintech yang tidak boleh down: LaunchDarkly enterprise SLA lebih sesuai. Untuk eksperimen non-kritis: GrowthBook cukup.

Capability comparison

CapabilityGrowthBookLaunchDarkly
Boolean flagyaya
Multivariate flagyaya
Targeting by user attributeyaya
Percentage rolloutyaya
Scheduled rolloutdasarmature (workflow)
Approval workflowterbatasmature (multi-step, role-based)
Audit trail exportmanual via DB queryotomatis ke SIEM (Splunk, Datadog)
Experiment Bayesianyaya
Experiment frequentistyaya
Statistical significance auto-detectyaya
Code reference scancommunity pluginfirst-party
SDK Javayaya
SDK Goyaya
SDK iOS/Androidyaya
SDK Fluttercommunityfirst-party
Webhookyaya
Slack notifyyaya

Audit trail untuk OJK

OJK mensyaratkan audit trail siapa-mengubah-apa-kapan untuk sistem yang menyentuh data nasabah. LaunchDarkly audit trail export ke SIEM dengan format JSON timestamped, siap reviewer auditor. GrowthBook punya log di Postgres, tapi format ad-hoc — kami harus tulis exporter custom ke Splunk. Kerja sekitar 3 minggu engineering untuk bikin equivalent.

Kalau Anda di bank atau fintech regulated, kerjaan exporter custom ini cost real. Hitung sebagai bagian dari “cost of ownership” GrowthBook.

Trade-off arsitektural

Pilih GrowthBook kalau:

  • Tim engineering 8+ dev dengan ops capacity (1 SRE minimal)
  • Data residency wajib di Indonesia (semua data flag tinggal di GKE Jakarta)
  • Cost-sensitive (Rp 87 juta/bulan LaunchDarkly bukan opsi)
  • Eksperimen scientific tidak super-strict (Bayesian/frequentist dasar cukup)
  • Approval workflow informal (PR review di Git cukup)

Pilih LaunchDarkly kalau:

  • Compliance OJK / BSP ketat — butuh audit trail enterprise + approval multi-step
  • Tim engineering 15+ dev dengan banyak eksperimen paralel
  • SLA 99,99% kritis (transaksi pembayaran)
  • Kill-switch propagation < 5 detik wajib (insiden klasifikasi P0)
  • Tidak ada SRE dedicated untuk ops platform flag

Operational pattern dual-stack

Pola yang saya jalankan di bulan 10-22:

Safety flag (kill-switch payment, kill-switch login)
  → LaunchDarkly streaming, propagation 1-3 detik

Experiment flag (UI variant, copy A/B)
  → GrowthBook, propagation 30 detik OK

Configuration flag (rate limit, timeout)
  → GrowthBook, propagation 30 detik OK

Dual-stack adds operational complexity. Worth-nya hanya kalau compliance memang mensyaratkan stream-based audit untuk safety flag. SMB tidak butuh ini.

Cost of ownership 36 bulan

Skenario: fintech series-B 25 seat dev, 18 microservice, 300 flag aktif.

KomponenGrowthBook self-hostLaunchDarkly enterprise
License/SaaSRp 0Rp 3,1 miliar
Infra (compute, DB, Redis)Rp 95 jutaRp 28 juta (Relay Proxy only)
Ops time engineer (Rp 250rb/jam blended)Rp 162 juta (4-6 jam × 36 bulan × 1,5 engineer)Rp 32 juta
Custom integration (audit exporter, Slack bot)Rp 90 juta one-timeRp 12 juta one-time
Incident response (2 insiden GrowthBook)Rp 18 jutaRp 0
Total 3 tahunRp 365 jutaRp 3,17 miliar

LaunchDarkly 8,7x lebih mahal pada skala ini. Worth atau tidak tergantung apakah compliance + SLA justify gap Rp 2,8 miliar.

Untuk BUMN dengan IT budget Rp 30 miliar/tahun (Rp 90 miliar/3 tahun): Rp 3,17 miliar = 3,5% — bisa dialokasi. Untuk fintech Rp 8 miliar/tahun IT: Rp 3,17 miliar = 39% — tidak masuk akal.

Migration path

GrowthBook → LaunchDarkly

  • Pre-work: standardize flag naming, dokumentasikan semua flag (1-2 minggu)
  • Implementation: dual-evaluate (call both SDK, log diff) untuk 30 hari
  • Cutover per service, prioritized by criticality
  • Total elapsed: 8-12 minggu untuk 18 microservice
  • Bug yang saya hit: flag semantics tipis berbeda (LaunchDarkly “user context” lebih ketat daripada GrowthBook “attributes”). Butuh wrapper SDK custom 2 minggu kerja.

LaunchDarkly → GrowthBook (downgrade cost)

  • Lebih sulit. LaunchDarkly approval workflow + audit format tidak ada equivalent natif di GrowthBook.
  • Estimate 16-20 minggu, dengan custom tooling 6-8 minggu.
  • Saya tidak rekomendasi kecuali cost cutting wajib.

Common pitfall

  1. SDK refresh interval default terlalu lama untuk safety flag. GrowthBook default 60 detik. Override jadi 10 detik untuk flag bertanda “safety”. Tag flag dengan kategori (safety/experiment/config) sejak awal.
  2. Flag debt. Setelah 18 bulan kami punya 340 flag aktif, ~140 yang seharusnya sudah dibersihkan setelah eksperimen selesai. Buat quarterly cleanup ritual. Saya jadwal 1 hari per kuartal untuk audit flag aktif.
  3. Flag evaluation di hot path tanpa cache. Engineer junior cenderung call SDK tiap request. Untuk endpoint 50k RPS, ini bunuh latency p99. Audit code path hot dengan profiler — flag evaluation harus < 1ms.
  4. No fallback value. Selalu set default value yang aman. Jika flag service down, default value harus return state “fitur OFF” untuk eksperimen baru, “fitur ON” untuk fitur lama yang sudah stable. Konfigurasikan ini di kode.
  5. Mixing flag dengan config. Flag untuk on/off + rollout. Config seperti rate limit, timeout, copy lokalisasi — pertimbangkan tool lain (Consul, AppConfig). Mencampurkan 2 jenis ini bikin flag panel ramai dan slow.

Yang surprising

Setelah 22 bulan paralel, saya temukan GrowthBook self-host actually lebih reliable dari yang saya ekspektasi. 99,87% availability untuk self-host bukan jelek — itu 47 menit downtime/tahun. Insiden besar saya hanya 1 (Postgres failover gagal lancar di bulan 6, 8 menit).

Sebaliknya, LaunchDarkly enterprise SLA 99,99% real-world hampir 99,994% — vendor over-deliver. Tapi cost gap 8x tidak justify oleh availability gap saja. Justify-nya datang dari audit + approval workflow + SLA contract.

Surprise kedua: SDK in-process cached pattern (GrowthBook) is fundamentally faster than streaming SDK (LaunchDarkly) untuk hot path evaluasi. Trade-off-nya di propagation latency. Untuk hot path 10k+ RPS, in-process cached menang. Untuk safety/realtime kill-switch, streaming menang. Tidak ada pure winner.

Verdict

Recommended, dengan kondisi:

  • Default fintech series-B Indonesia: GrowthBook self-host. Cost Rp 365 juta 3 tahun, kontrol penuh data, latency p99 bagus.
  • Tambah LaunchDarkly untuk safety flag kalau audit OJK memerlukan streaming audit + SLA contract enterprise.
  • BUMN / bank besar: langsung LaunchDarkly enterprise. Compliance + procurement-nya match pattern enterprise.
  • Skip kalau: Anda tim 1-3 dev dengan < 20 flag aktif. Pakai env variable atau database row sederhana. Feature-flag platform overkill untuk SMB micro.

Threshold konkret untuk adopt platform flag: 3+ dev paralel + 25+ flag aktif + 2+ deploy/minggu. Di bawah ini, manual config cukup.

Ditulis oleh Asti Larasati

// Pick Workflow lain


← Semua picks RSS feed