20 tahun pelajaran yang didapat dari Site Reliability Engineering (SRE)
Pelajaran rekayasa keandalan yang dipelajari dari YouTube
-
Memilih tindakan mitigasi risiko
- Saat terjadi error besar, tindakan mitigasi risiko yang dipilih harus sebanding dengan tingkat keparahan error tersebut.
- Tindakan mitigasi yang berlebihan dapat menimbulkan efek samping, dan hanya boleh dilakukan bila ada alasan yang jelas untuk melewati prosedur standar.
-
Menguji mekanisme pemulihan untuk keadaan darurat
- Mekanisme pemulihan dan tindakan mitigasi harus cukup dilatih dan diuji sebelumnya agar dapat merespons secara efektif bahkan dalam situasi kritis.
- Pengujian mengurangi risiko di masa depan dan meningkatkan kemampuan respons.
-
Penerapan perubahan secara bertahap (menerapkan canary test)
- Sebelum perubahan diluncurkan secara penuh, perubahan harus diperkenalkan secara bertahap agar saat terjadi isu tidak berdampak pada seluruh sistem.
- Melalui kasus perubahan konfigurasi caching di YouTube, disadari bahwa bahkan perubahan kecil pun penting untuk diperkenalkan secara sistematis.
Pelajaran dari Google Calendar
-
Pentingnya fitur penghentian darurat
- Untuk perubahan yang memiliki potensi risiko, dibutuhkan fitur seperti "tombol merah besar" yang memungkinkan respons cepat.
- Fitur penghentian darurat harus disiapkan untuk mengantisipasi dependensi layanan.
-
Kebutuhan akan pengujian integrasi
- Unit test berguna dalam cakupan terbatas, tetapi lewat integration test perlu diverifikasi kesesuaian sistem dengan menghubungkannya ke lingkungan nyata.
- Dari kasus error di Google Calendar, disadari pentingnya pengujian yang mengikuti alur penggunaan nyata.
Pelajaran Google pada tahun 2017
-
Pentingnya kanal komunikasi untuk keadaan darurat
- Perlu menyiapkan kanal komunikasi dan kanal cadangan.
- Saat layanan berhenti, harus tersedia beberapa sarana komunikasi yang tidak saling bergantung, dan efektivitasnya perlu diuji.
-
Mempertahankan fungsi minimum saat performa menurun
- Agar layanan tidak berhenti total, sistem harus dirancang supaya tetap dapat menyediakan fungsi dasar bahkan saat performanya menurun.
Pengujian terhadap ketahanan bencana
- Pengujian ketahanan bencana dan resiliensi
- Dengan menguji ketahanan layanan atau sistem, keberlanjutan harus dipastikan bahkan dalam situasi bencana.
- Melalui pengujian pemulihan, perlu dipastikan apakah sistem dapat kembali ke kondisi normal setelah gangguan.
Pentingnya tindakan mitigasi otomatis
- Otomatisasi tindakan mitigasi
- Saat terjadi gangguan multi-jaringan, alih-alih menanganinya secara manual, waktu penyelesaian masalah harus dipersingkat melalui tindakan mitigasi otomatis.
Memperpendek waktu antar deployment
-
Melakukan rollout lebih sering
- Jeda waktu yang panjang antar rollout memengaruhi penilaian terhadap keamanan sistem.
-
Satu versi hardware global adalah satu titik kegagalan
- Bergantung hanya pada satu model tertentu dapat menyederhanakan operasi, tetapi jika model itu bermasalah maka pelaksanaan fungsi penting bisa terhenti.
- Keberadaan berbagai network backbone membantu mencegah gangguan total dan memungkinkan traffic berprioritas tinggi tetap dirutekan ke alternatif yang masih berfungsi.
Belum ada komentar.