MATERI 26 DARI 28
Observability, backup, dan rollback
Siapkan log, metric, health check, backup teruji, dan rollback sebelum perubahan production.
Tujuan pembelajaran
- Mendefinisikan sinyal keberhasilan.
- Membuat backup sebelum mutation.
- Menguji prosedur restore.
Konsep utama
Observability
Log event, metric latency/error, dan trace/correlation ID menjawab apa yang rusak.
Rollback
Rollback kode tidak selalu membatalkan migration data; rencanakan keduanya.
Alur kerja teknis
- Tulis tujuan dan acceptance criteria.
- Buat perubahan kecil yang dapat ditinjau.
- Jalankan test dan baca diff sebelum menerima hasil AI.
Contoh implementasi
Backup dan verifikasi sederhana
set -euo pipefail
ts=$(date +%Y%m%d-%H%M%S)
tar czf "/secure-backup/app-$ts.tar.gz" /var/www/app
sha256sum "/secure-backup/app-$ts.tar.gz" > "/secure-backup/app-$ts.sha256"
test -s "/secure-backup/app-$ts.tar.gz"Health check dependency
def health(database):
database.ping()
return {"status": "ok"}Aspek keamanan
- Backup yang tidak pernah direstore belum terbukti berguna.
- Jangan memasukkan secret ke log/metric label.
- Tetapkan trigger rollback sebelum deploy.
Kesalahan umum
- Menerima kode AI tanpa membaca diff dan memahami alur data.
- Menguji hanya happy path dan mengabaikan input salah atau batas nilai.
- Menyimpan secret, token, atau data nyata di prompt dan source code.
Pengujian dan verifikasi
- Jalankan contoh dengan input normal.
- Ulangi dengan input kosong, tipe salah, dan nilai batas.
- Pastikan error tidak membocorkan secret atau detail internal.
Latihan
- Modifikasi contoh dengan satu kebutuhan baru dan tulis acceptance criteria-nya.
- Tambahkan satu negative test lalu jelaskan risiko yang dicegah.
Checklist
- Tujuan dan batas pekerjaan jelas.
- Input divalidasi di server.
- Secret tidak berada di source/prompt.
- Test lulus dan diff sudah dibaca.
Rangkuman
Siapkan log, metric, health check, backup teruji, dan rollback sebelum perubahan production.