Cara mendesain sistem lintas region untuk kedaulatan data: klasifikasi data dan region pinning, pola arsitektur multi-region dari active-passive hingga cell-based, trade-off latency vs compliance, dan desain residency yang bisa dieksekusi organisasi mid-size

Setelah di episode 19 kita menavigasi compliance lewat kontrol otomatis dan audit trail, pada episode ini kita hadapi keputusan arsitektur yang paling mahal untuk diputar balik: multi-region & data residency. Ketika pelanggan Eropa minta datanya tinggal di EU, regulator Indonesia mensyaratkan PDP, atau bisnis ekspansi ke Asia tapi pengguna komplain latensi — kalian adalah orang yang memutuskan bagaimana sistem menghadapinya.
Ini topik yang penuh jebakan biaya: multi-region bisa melipatgandakan tag cloud tanpa menambah nilai, atau memecah data sedemikian rupa hingga fitur sederhana menjadi mimpi buruk konsistensi. Kita bedahkan cara berpikirnya secara bertahap.
Kesalahan umum: langsung bertanya "replikasi mana yang tepat?" sebelum tahu data apa yang bicara. Mulailah dari inventaris (fondasi episode 19):
| Kelas | Contoh | Kebutuhan Residency |
|---|---|---|
| Identitas & PII | Profil, email, alamat | Wajib tinggal di jurisdicti tertentu (EU/GDPR, ID/UU PDP) |
| Transaksi finansial | Order, pembayaran | Sering ada syarat lokasi + retensi |
| Konten aplikasi | Postingan, komentar | Umumnya bebas; ikuti kebutuhan latency |
| Data turunan/analytics | Agregat, log teranonimkan | Biasanya fleksibel jika dianonimkan benar |
Dari klasifikasi lahir keputusan region pinning: data kelas PII milik pelanggan EU hanya disimpan dan diproses di region EU — bukan "direplikasi global dengan enkripsi tambahan" (yang secara hukum sering tetap transfer lintas batas).
Aturan praktis yang menyelamatkan banyak organisasi: minimalkan permukaan data yang butuh pinning. Semakin banyak sistem yang menyentuh PII, semakin besar wilayah yang harus direplikasi per-region. Refactor agar layanan inti non-PII global sementara data identitas terkonsentrasi di beberapa service sempit.
Empat pola umum, diurutkan dari termurah:
Satu region aktif melayani; region kedua siaga untuk disaster recovery dengan replikasi asinkron. Murah (region pasif tak menerima traffic), cocok saat motivasi utama ketahanan bencana, bukan latency atau regulasi.
Edge/CDN dan stateless layer global; data tetap satu region. Menurunkan latensi read statis tanpa masalah konsistensi. Batasnya jelas: tidak menyelesaikan kebutuhan residency data dinamis.
Data master satu region; replica read di region lain. Query baca lokal cepat, tulisan tetap lintas region (~100-300 ms). Cocok untuk workload baca-dominan yang toleran staleness singkat.
Setiap region punya stack lengkap dengan subset pengguna (pelanggan EU → cell EU). Tidak ada replikasi lintas batas data PII; konsistensi global tidak dibutuhkan karena tiap cell mandiri. Inilah pola yang realistis untuk kebutuhan residency keras — dengan harga: routing pengguna, operasi n-cell, dan fitur yang menyentuh lintas cell harus dirancang ulang.
Perhatikan global catalog di diagram: metadata non-PII (listing produk, konfigurasi) boleh global — inilah yang menjaga fitur lintas region tetap mungkin.
Tidak ada opsi gratis. Matriks keputusan ringkas:
| Pola | Latency Baca | Tulis Lintas Wilayah | Biaya Relatif | Residency Keras |
|---|---|---|---|---|
| Active-passive | Baik (1 region) | N/A | Rendah | Tidak |
| Front door global | Sangat baik (statis) | Satu region | Rendah-sedang | Tidak |
| Read replicas | Baik lokal | Lintas region | Sedang | Tidak (master tetap satu) |
| Cell-based | Sangat baik | Tak lintas wilayah | Tinggi (n-stack) | Ya |
Dua pertanyaan penyaring sebelum memilih:
Warning
Harga sesungguhnya multi-region bukan tag compute — melainkan kompleksitas operasi: failover drill antar region, migrasi skema yang harus sinkron di dua tempat, dan on-call yang harus paham topologi ganda. Hitung biaya personelnya dalam pitch kalian.
Untuk organisasi mid-size, jalur realistis biasanya bertahap:
Detail fase 4 yang sering bocor: lifecycle data. Residency bukan cuma soal tempat simpan — backup, log, dan analytics pipeline juga membawa data. Backup database EU ke bucket global = pelanggaran halus yang baru ketahuan saat audit. Aturan praktis: setiap artefak turunan data PII mewarisi residensinya.
Susun ~/staff-lab/initiatives/residency-design.md:
# Residency Design: Ekspansi EU (Q4)
## Driver
- Kontrak enterprise EU mensyaratkan data di region EU.
- Legal: transfer mekanisme SCC dinilai tidak cukup untuk
klaster pelanggan ini (bukan sekadar preferensi).
## Klasifikasi (ringkas)
Pinned : identity-db, orders-db, audit-log EU users.
Global : product-catalog, pricing config, docs, analytics
agregat teranonimkan (verifikasi anonimasi oleh
tim data - syarat eksplisit).
## Pola terpilih: Cell-based terbatas
Cell EU : identitas + order + payment gateway EU.
Global : sisanya; komunikasi via event non-PII.
## Keputusan terkait
K1 Routing by tenant-home-region (flag permanen).
K2 Failover EU intra-region saja; DR cross-border dilarang
tanpa exception legal tercatat.
K3 Backup EU -> storage di EU; retensi 35 hari.
K4 Fitur admin lintas cell: hanya via metadata anonim.
## Ukuran sukses
Audit internal Q1: nol temuan residency;
p95 API EU < 120 ms; biaya tambahan <= 18% total infra.Bagian klasifikasi dengan pemilik keputusan (K1-K4) membuat dokumen ini layak jadi ADR pendamping — dan inilah artefak yang akan ditanya auditor maupun engineer baru enam bulan kemudian.
Inti yang harus dibawa pulang:
Di episode 21 kita masuk Fase 5 dengan membahas AI systems leadership — cara staff engineer memimpin inisiatif AI/LLM lintas tim: arsitektur RAG dan agent, eval harness yang menjadikan kualitas terukur, governance biaya dan safety, serta rencana inisiatif AI yang realistis. Sampai jumpa di episode 21!