Observability, backup, dan rollback — Vibe Coding dan Security: Dari Prompt ke Aplikasi Aman

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

  1. Tulis tujuan dan acceptance criteria.
  2. Buat perubahan kecil yang dapat ditinjau.
  3. 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

  1. Jalankan contoh dengan input normal.
  2. Ulangi dengan input kosong, tipe salah, dan nilai batas.
  3. Pastikan error tidak membocorkan secret atau detail internal.

Latihan

  1. Modifikasi contoh dengan satu kebutuhan baru dan tulis acceptance criteria-nya.
  2. 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.