Membangun sistem backup dan disaster recovery yang benar: strategi 3-2-1, menghitung RPO dan RTO, memilih jenis backup, merancang DR site, serta melakukan DR drill yang terbukti berhasil

Setelah di episode 9 kita membangun penglihatan infrastruktur, kini saatnya membangun jaring pengaman: backup & disaster recovery. Semua infrastruktur pasti akan menghadapi bencana suatu saat — disk rusak, data terhapus, ransomware, kebakaran data center. Yang membedakan tim yang profesional bukan kemampuan mencegahnya (tidak mungkin), melainkan kemampuan pulih dengan cepat dan terbukti.
Mengapa topik ini penting? Karena backup yang tidak pernah diuji adalah ilusi keamanan. Banyak perusahaan baru sadar backup-nya rusak justru saat data hilang — saat paling tidak boleh salah. Episode ini membekali kalian kerangka DR lengkap: strategi backup, RPO/RTO, jenis backup, arsitektur DR site, dan DR drill yang sesungguhnya.
Sebelum membahas tool apa pun, tetapkan dua angka — keduanya adalah kontrak bisnis, bukan keputusan teknis semata:
Berapa banyak data yang boleh hilang? RPO 24 jam berarti jika bencana terjadi sekarang, data satu hari terakhir hilang — backup harian cukup. RPO 15 menit berarti data maksimal 15 menit terakhir yang hilang — butuh backup jauh lebih sering (log shipping, streaming).
Berapa lama waktu pulih yang ditoleransi? RTO 4 jam berarti sistem harus kembali berjalan dalam 4 jam sejak bencana. RTO menentukan seberapa siap infrastruktur pemulihan: standby di lokasi lain (cepat) atau restore dari backup (lambat).
Hubungannya: RPO kecil = backup lebih sering = biaya lebih tinggi. RTO kecil = infrastruktur recovery lebih mahal. Tugas infra engineer adalah menemukan keseimbangan yang sesuai dengan nilai bisnis data — bukan memilih yang "paling aman" tanpa anggaran.
| Target | RPO | RTO | Strategi |
|---|---|---|---|
| Aplikasi internal non-kritis | 24 jam | 24 jam | Backup harian + restore |
| E-commerce | 15 menit | 1 jam | Backup + standby region |
| Database pembayaran | Hampir 0 | Menit | Replikasi aktif + failover otomatis |
Aturan emas backup yang bertahan puluhan tahun:
3 → Minimal 3 salinan data
2 → Di 2 media berbeda
1 → 1 di antaranya di lokasi terpisahContoh penerapan: data produksi (1) + backup disk lokal (2) + backup ke object storage di region lain (3). Jika data center terbakar, salinan terakhir masih terselamatkan di lokasi lain.
| Jenis | Isi | Ukuran | Waktu Restore |
|---|---|---|---|
| Full | Semua data | Terbesar | Paling cepat |
| Incremental | Perubahan sejak backup terakhir | Kecil | Perlu semua rantai |
| Differential | Perubahan sejak full terakhir | Sedang | Full + differential terakhir |
Pola yang umum dipakai: full mingguan + incremental harian. Restore membutuhkan full terakhir + semua incremental setelahnya — karena itu uji restore berkala untuk memastikan rantai tidak putus.
Contoh backup database PostgreSQL:
pg_dump -Fc app > /backup/app-$(date +%F).dump
pg_restore -d app /backup/app-2026-08-16.dumpRecovery butuh tempat. Tiga level kesiapan:
| Level | Deskripsi | RTO khas |
|---|---|---|
| Cold site | Bangunan kosong, perlu setup penuh | Hari-minggu |
| Warm site | Hardware siap, data di-sync parsial | Jam |
| Hot site | Siap penuh, data direplikasi real-time | Menit |
Pada skala cloud, konsep ini menjadi region aktif-pasif (warm/hot) dan multi-region aktif-aktif (hot). Keputusan level DR selalu turun dari RTO/RPO: butuh pulih dalam menit → hot site; bisa menunggu 2 hari → cold site.
Backup harus pergi ke tempat yang tidak bisa dijangkau oleh penyebab bencana utama. Jika produksi terkena ransomware, backup yang masih terhubung jaringan ikut terenkripsi. Pola yang benar:
Produksi (lokal) → Disk backup (lokal terpisah)
Disk backup lokal → Object storage (region berbeda, versioning ON, immutable)Important
Ransomware adalah alasan paling kuat untuk immutable backup. Jika penyerang bisa menghapus backup kalian, maka backup itu tidak berguna. Object storage dengan object lock / immutability adalah pertahanan yang membuat backup kalian tidak bisa diubah bahkan oleh admin yang kredensialnya dicuri.
Backup manual yang "ingat-ingat" pasti terlewat. Otomasi sejak awal — misal dengan script + cron atau tool seperti restic/borgbackup (bisa dilanjutkan ke series Belajar Borg Backup):
0 2 * * * /usr/local/bin/backup-pg.sh
30 2 * * * /usr/local/bin/backup-files.sh
0 3 * * 0 /usr/local/bin/backup-full.shAturan otomasi backup:
Backup yang tidak pernah direstore adalah tebakan. DR drill adalah latihan berkala untuk membuktikan prosedur recovery benar-benar bekerja:
1. Tentukan skenario (disk rusak, ransomware, DC terbakar)
2. Restore penuh di lingkungan terpisah (bukan produksi!)
3. Ukur waktu restore aktual vs RTO
4. Bandingkan data ter-restore vs RPO yang dijanjikan
5. Dokumentasikan temuan & perbaiki prosedur
6. Lakukan ulang — DR drill bukan acara sekali jalanTip
Mulai DR drill dari yang kecil: restore satu database ke mesin lain, lalu ukur waktunya. Setelah itu naik level: restore seluruh stack ke lab terpisah, lalu uji skenario seluruh data center. Setiap drill menghasilkan temuan — justru itulah tujuannya. Tim yang tidak pernah drill adalah tim yang menjual ilusi.
mysqldump/pg_dump benar, menyalin file data mentah (file copy) sering tidak konsisten.Pada episode 10 ini kalian telah membangun fondasi backup & DR:
Di episode 11 selanjutnya kita menutup fase operasional dasar dengan security infrastructure — hardening, firewall, dan identity untuk infrastruktur yang dikelola dengan aman sejak awal. Sampai jumpa di episode 11!