Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memahami trade-off dan risiko
Arsitektur tangguh harus menggunakan beberapa mekanisme yang teruji dengan baik, sederhana, dan andal untuk menanggapi kegagalan. Untuk mencapai tingkat ketahanan tertinggi, beban kerja harus secara otomatis mendeteksi dan memulihkan dari sebanyak mungkin mode kegagalan. Melakukan hal itu membutuhkan investasi ekstensif dalam melakukan analisis ketahanan. Ini berarti bahwa mencapai tingkat ketahanan yang lebih tinggi melibatkan melakukan trade-off. Namun, saat Anda terus melakukan trade-off, Anda mencapai titik pengembalian yang semakin berkurang relatif terhadap tujuan ketahanan Anda. Berikut adalah trade-off yang paling umum:
-
Biaya — Komponen redundan, peningkatan observabilitas, alat tambahan, atau peningkatan pemanfaatan sumber daya akan menghasilkan peningkatan biaya.
-
Kompleksitas sistem — Mendeteksi dan menanggapi mode kegagalan, termasuk solusi mitigasi, dan berpotensi tidak menggunakan layanan terkelola menghasilkan peningkatan kompleksitas sistem.
-
Upaya rekayasa - Jam pengembang tambahan diperlukan untuk membangun solusi untuk mendeteksi dan merespons mode kegagalan.
-
Overhead operasional — Memantau dan mengoperasikan sistem yang menangani lebih banyak mode kegagalan dapat menambah overhead operasional, terutama ketika Anda tidak dapat menggunakan layanan terkelola untuk mengurangi mode kegagalan tertentu.
-
Latensi dan konsistensi — Membangun sistem terdistribusi yang mendukung ketersediaan memerlukan pertukaran dalam konsistensi dan latensi, seperti yang dijelaskan dalam teorema PACELC.
Saat Anda mempertimbangkan mitigasi untuk mode kegagalan yang diidentifikasi dalam cerita pengguna, pertimbangkan trade-off yang perlu Anda lakukan. Seperti halnya keamanan, ketahanan adalah masalah optimasi. Anda harus membuat keputusan apakah akan menghindari, mengurangi, mentransfer, atau menerima risiko yang ditimbulkan oleh kegagalan yang diidentifikasi. Mungkin ada beberapa mode kegagalan yang dapat Anda hindari, satu set yang Anda terima, dan beberapa yang dapat Anda transfer. Anda mungkin memilih untuk mengurangi banyak mode kegagalan yang Anda identifikasi. Untuk menentukan pendekatan mana yang harus diambil, lakukan penilaian dengan mengajukan dua pertanyaan: Berapa kemungkinan kegagalan akan terjadi? Apa dampaknya terhadap beban kerja jika memang terjadi?
Kemungkinan adalah seberapa masuk akal bahwa suatu peristiwa akan terjadi. Misalnya, jika cerita pengguna memiliki komponen yang beroperasi pada satu instance Amazon Elastic Compute Cloud (Amazon EC2), komponen tersebut mungkin terganggu di beberapa titik selama pengoperasian sistem, mungkin karena prosedur penambalan atau kesalahan sistem operasi. Atau, database yang dikelola oleh Amazon Relational Database Service (Amazon RDS) yang menyinkronkan data antara instans primer dan sekunder memiliki kemungkinan rendah untuk menjadi benar-benar tidak tersedia.
Dampak adalah perkiraan bahaya yang dapat ditimbulkan suatu peristiwa. Ini harus dinilai dari perspektif keuangan dan reputasi, dan relatif terhadap nilai cerita pengguna yang dampaknya. Misalnya, database yang kewalahan dapat berdampak signifikan pada kemampuan sistem e-commerce untuk menerima pesanan baru. Namun, hilangnya satu instance dari armada 20 instance di belakang penyeimbang beban kemungkinan akan berdampak sangat kecil.
Anda dapat membandingkan jawaban atas pertanyaan-pertanyaan ini dengan biaya trade-off yang harus Anda lakukan untuk mengurangi risiko. Ketika Anda mempertimbangkan informasi ini mengingat ambang risiko Anda dan tujuan ketahanan Anda, informasi ini menginformasikan keputusan Anda tentang mode kegagalan mana yang Anda rencanakan untuk dikurangi secara aktif.