20 poin oleh xguru 2023-11-10 | Belum ada komentar. | Bagikan ke WhatsApp

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.

Belum ada komentar.