Kesimpulan - Ketersediaan dan Selanjutnya: Memahami dan Meningkatkan Ketahanan Sistem Terdistribusi AWS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kesimpulan

Kami menetapkan 12 aturan untuk ketersediaan tinggi di seluruh dokumen ini.

  • Aturan 1 - Kegagalan yang lebih jarang (MTBF lebih lama), waktu deteksi kegagalan yang lebih pendek (MTTD yang lebih pendek), dan waktu perbaikan yang lebih pendek (MTTR yang lebih pendek) adalah tiga faktor yang digunakan untuk meningkatkan ketersediaan dalam sistem terdistribusi.

  • Aturan 2 — Ketersediaan perangkat lunak dalam beban kerja Anda merupakan faktor penting dari ketersediaan beban kerja Anda secara keseluruhan dan harus menerima fokus yang sama seperti komponen lainnya.

  • Aturan 3 - Mengurangi dependensi dapat berdampak positif pada ketersediaan.

  • Aturan 4 — Secara umum, pilih dependensi yang sasaran ketersediaannya sama atau lebih besar dari tujuan beban kerja Anda.

  • Aturan 5 - Gunakan hemat untuk meningkatkan ketersediaan dependensi dalam beban kerja.

  • Aturan 6 - Ada batas atas untuk efisiensi biaya hemat. Memanfaatkan suku cadang paling sedikit yang diperlukan untuk mencapai ketersediaan yang diperlukan.

  • Aturan 7 - Jangan mengambil dependensi pada bidang kontrol di bidang data Anda, terutama selama pemulihan.

  • Aturan 8 - Ketergantungan pasangan longgar sehingga beban kerja Anda dapat beroperasi dengan benar meskipun ada gangguan ketergantungan, jika memungkinkan.

  • Aturan 9 — Observabilitas dan instrumentasi sangat penting untuk mengurangi MTTD dan MTTR.

  • Aturan 10 — Fokus pada mitigasi dampak, bukan penyelesaian masalah. Ambil jalur tercepat kembali ke operasi normal.

  • Aturan 11 - Isolasi kesalahan mengurangi ruang lingkup dampak dan meningkatkan MTBF beban kerja dengan mengurangi tingkat kegagalan keseluruhan.

  • Aturan 12 - Memudahkan operator untuk melakukan hal yang benar.

Meningkatkan ketersediaan beban kerja didorong melalui pengurangan MTTD dan MTTR, dan meningkatkan MTBF. Singkatnya, kami membahas cara-cara berikut untuk meningkatkan ketersediaan yang mencakup teknologi, orang, dan proses.

  • MTTD

    • Kurangi MTTD melalui pemantauan proaktif metrik Pengalaman Pelanggan Anda.

    • Manfaatkan pemeriksaan kesehatan granular untuk failover cepat.

  • MTTR

    • Memantau Lingkup Dampak dan metrik Kesehatan Operasional.

    • Kurangi MTTR dengan mengikuti 1/Restart, 2/Reboot, 3/Re-image/Redeploy, dan 4/Replace.

    • Rute sekitar kegagalan dengan memahami lingkup dampak.

    • Memanfaatkan layanan yang memiliki waktu restart lebih cepat, seperti kontainer dan fungsi tanpa server melalui mesin virtual atau host fisik.

    • Secara otomatis rollback penyebaran gagal bila memungkinkan.

    • Menetapkan runbook dan alat operasional untuk operasi diagnosis dan prosedur restart.

  • MTBF

    • Hilangkan bug dan cacat pada perangkat lunak melalui pengujian yang ketat sebelum dilepaskan ke produksi.

    • Menerapkan rekayasa kekacauan dan injeksi kesalahan.

    • Memanfaatkan jumlah yang tepat hemat dalam dependensi untuk mentolerir kegagalan.

    • Minimalkan ruang lingkup dampak selama kegagalan melalui kontainer kesalahan.

    • Menerapkan standar untuk penyebaran dan perubahan.

    • Desain antarmuka operator yang sederhana, intuitif, konsisten, dan terdokumentasi dengan baik.

    • Tetapkan tujuan untuk keunggulan operasional.

    • Mendukung stabilitas atas rilis fitur baru ketika ketersediaan adalah dimensi penting dari beban kerja Anda.

    • Menerapkan kuota penggunaan dengan throttling atau load shedding atau keduanya untuk menghindari kelebihan beban.

Ingatlah bahwa kita tidak akan pernah berhasil sepenuhnya dalam mencegah kegagalan. Fokus pada desain perangkat lunak dengan isolasi kegagalan sebaik mungkin yang membatasi ruang lingkup dan besarnya dampak, idealnya menjaga dampak di bawah ambang “downtime” DAN berinvestasi dalam deteksi dan mitigasi yang sangat cepat, sangat andal. Sistem terdistribusi modern masih perlu merangkul kegagalan sebagai tak terelakkan dan dirancang di semua tingkatan untuk ketersediaan tinggi.