Saat suatu sistem mengalami gangguan, seorang engineer melakukan perubahan. Lalu beberapa menit kemudian, masalah hilang. Lalu semua orang mengambil kesimpulan: “Perubahan tersebut yang memperbaiki masalah”. Padahal …
Correlation: “Pas aku restart, masalah nya hilang kok”
Itu adalah observasi, belum ada bukti hubungan sebab-akibat. tapi masalahnya, otak manusia sangat menyukai pola. Ketika dua kejadian muncul berdekatan, kita secara alami menganggap salah satunya menyebabkan yang lain.
Mungkin benar. Mungkin juga tidak. Pada tahap ini kita bahkan belum memahami mekanismenya. Kita hanya melihat dua kejadian yang berdekatan.
“Correlation Is Not Causation”.
Penyebab Langsung (Direct Cause)
Penyebab langsung adalah kejadian yang secara langsung menghasilkan dampak.
Misalnya: Proses/service berhenti berjalan → Layanan tidak dapat diakses
Hubungannya jelas. Ada rantai sebab-akibat yang dapat dijelaskan. Namun menemukan direct cause sering kali belum menyelesaikan investigasi. Sekarang kita sudah lebih dekat. Kita tahu mengapa gejala muncul. Tetapi kita belum tahu mengapa service berhenti.
Akar Penyebab (Root Cause)
Root cause adalah alasan mengapa direct cause tersebut bisa terjadi.
Misalnya:
Konfigurasi salah → Proses berhenti berjalan → Layanan tidak dapat diakses
Dalam kasus ini:
- Layanan tidak dapat diakses : dampak
- Proses berhenti : direct cause
- Konfigurasi salah : root cause
Di sini kita mulai memahami sistem nya. Kita tidak hanya tahu apa yang gagal. Kita tahu mengapa kegagalan itu terjadi.
Workaround: Membuat Sistem Kembali Berjalan
Ini bagian yang paling sering disalahartikan sebagai solusi.
Misalnya: Restart service → Sistem normal
Apakah masalah selesai? Belum tentu. Yang kita lakukan hanyalah menghilangkan gejala. Bukan menghilangkan penyebab. Workaround sangat penting. Karena bisnis tidak bisa menunggu investigasi selesai. User ingin sistem kembali berjalan secepat mungkin.
Tetapi workaround bukan akhir. Workaround hanyalah cara membeli waktu.
Solution: Menghilangkan Penyebab
Solution baru ada ketika akar masalah tidak dapat memunculkan insiden yang sama lagi.
Misalnya: Memory leak → Service crash → Downtime
Workaround: Restart service
Solution: Perbaiki memory leak
Workaround menangani dampak. Solution menangani penyebab.
Penutup
Banyak insiden tidak benar-benar selesai. Mereka hanya berhasil ditenangkan. Workaround membuat sistem terlihat sehat. Solution membuat sistem menjadi sehat. Dan perbedaan antara keduanya sering kali adalah pertanyaan "kenapa?" yang tidak pernah diajukan.
