Prinsip dalam pilar keandalan Google Cloud Framework yang Dirancang dengan Baik ini memberikan rekomendasi untuk membantu Anda melakukan postmortem yang efektif setelah terjadi kegagalan dan insiden.
Prinsip ini relevan dengan pembelajaran area fokus keandalan.
Ringkasan prinsip
Postmortem adalah catatan tertulis tentang insiden, dampaknya, tindakan yang diambil untuk memitigasi atau menyelesaikan insiden, penyebab utama, dan tindakan lanjutan untuk mencegah insiden terulang kembali. Tujuan post-mortem adalah belajar dari kesalahan, bukan mencari-cari kesalahan.
Diagram berikut menunjukkan alur kerja postmortem:
Alur kerja postmortem mencakup langkah-langkah berikut:
- Membuat postmortem
- Menyampaikan fakta
- Mengidentifikasi dan menganalisis penyebab utama
- Merencanakan masa depan
- Jalankan rencana
Lakukan analisis postmortem setelah peristiwa besar dan peristiwa non-besar seperti berikut:
- Waktu nonaktif atau penurunan performa yang terlihat oleh pengguna di luar batas tertentu.
- Kehilangan data dalam bentuk apa pun.
- Intervensi dari engineer yang bertugas, seperti rollback rilis atau pengalihan traffic.
- Waktu penyelesaian di atas batas yang ditentukan.
- Kegagalan pemantauan, yang biasanya menyiratkan penemuan insiden secara manual.
Rekomendasi
Tentukan kriteria post-mortem sebelum insiden terjadi agar semua orang tahu kapan post-mortem diperlukan.
Untuk melakukan postmortem yang efektif, pertimbangkan rekomendasi di subbagian berikut.
Lakukan postmortem tanpa menyalahkan
Post-mortem yang efektif berfokus pada proses, alat, dan teknologi, serta tidak menyalahkan individu atau tim. Tujuan analisis post-mortem adalah untuk meningkatkan kualitas teknologi dan masa depan Anda, bukan untuk mencari tahu siapa yang bersalah. Semua orang pasti pernah melakukan kesalahan. Tujuannya adalah menganalisis kesalahan dan belajar darinya.
Contoh berikut menunjukkan perbedaan antara masukan yang menyalahkan dan masukan tanpa menyalahkan:
- Masukan yang menyalahkan: "Kita perlu menulis ulang seluruh sistem backend yang rumit ini! Kerusakan ini terjadi setiap minggu selama tiga kuartal terakhir dan saya yakin kita semua sudah lelah memperbaiki masalah ini satu per satu. Sungguh, kalau saya dipanggil sekali lagi, saya akan menulis ulang sendiri…"
- Masukan tanpa menyalahkan: "Item tindakan untuk menulis ulang seluruh sistem backend mungkin dapat mencegah halaman ini terus terjadi. Panduan pemeliharaan untuk versi ini cukup panjang dan sangat sulit untuk dipelajari sepenuhnya. Saya yakin engineer on-call kami di masa mendatang akan berterima kasih kepada kita!"
Buat laporan postmortem dapat dibaca oleh semua audiens yang dituju
Untuk setiap informasi yang berencana Anda sertakan dalam laporan, nilai apakah informasi tersebut penting dan diperlukan untuk membantu audiens memahami apa yang terjadi. Anda dapat memindahkan data dan penjelasan tambahan ke lampiran laporan. Peninjau yang memerlukan informasi lebih lanjut dapat memintanya.
Menghindari solusi yang rumit atau terlalu canggih
Sebelum Anda mulai mencari solusi untuk suatu masalah, evaluasi pentingnya masalah tersebut dan kemungkinan masalah itu akan muncul kembali. Menambahkan kompleksitas pada sistem untuk memecahkan masalah yang kemungkinan tidak akan terjadi lagi dapat menyebabkan peningkatan ketidakstabilan.
Bagikan postmortem seluas mungkin
Untuk memastikan masalah tidak tetap tidak terselesaikan, publikasikan hasil postmortem kepada audiens yang luas dan dapatkan dukungan dari manajemen. Nilai post-mortem sebanding dengan pembelajaran yang terjadi setelah post-mortem. Jika lebih banyak orang belajar dari insiden, kemungkinan kegagalan serupa terjadi lagi akan berkurang.