REL11-BP05 Gunakan stabilitas statis untuk mencegah perilaku bimodal - AWS Well-Architected Framework

REL11-BP05 Gunakan stabilitas statis untuk mencegah perilaku bimodal

Perilaku bimodal terjadi ketika beban kerja Anda menunjukkan perilaku yang berbeda dalam mode normal dan mode kegagalan, contohnya, mengandalkan peluncuran instans baru jika Zona Ketersediaan gagal. Sebagai gantinya, Anda harus membangun beban kerja yang stabil secara statis dan dioperasikan dalam satu mode saja. Dalam hal ini, penyediaan instans yang cukup di setiap Zona Ketersediaan untuk menangani beban dari beban kerja jika satu AZ disingkirkan kemudian menggunakan pemeriksaan kondisi Elastic Load Balancing atau Amazon Route 53 untuk memindahkan beban dari instans yang terganggu.

Stabilitas statis untuk deployment komputasi (seperti kontainer atau instans EC2) akan menghasilkan keandalan tertinggi. Ini harus dibandingkan dengan masalah biaya. Memberikan lebih sedikit kapasitas komputasi dan mengandalkan peluncuran instans baru jika ada kegagalan akan lebih murah. Tetapi untuk kegagalan dalam skala besar (seperti kegagalan Zona Ketersediaan), pendekatan ini kurang efektif karena mengandalkan reaksi terhadap gangguan saat terjadi, dan bukannya siap menangani gangguan tersebut sebelum terjadi. Solusi Anda harus membandingkan keandalan dengan biaya yang diperlukan untuk beban kerja Anda. Dengan menggunakan lebih banyak Zona Ketersediaan, jumlah komputasi tambahan yang Anda perlukan untuk stabilitas statis akan berkurang.

Diagram yang menunjukkan stabilitas statis instans EC2 di seluruh Zona Ketersediaan

Gambar 14: Stabilitas statis instans EC2 di seluruh Zona Ketersediaan

Setelah lalu lintas dipindahkan, gunakan AWS Auto Scaling untuk mengganti instans secara asinkron dari zona yang gagal dan luncurkan di zona sehat.

Contoh lain dari perilaku bimodal adalah waktu habis jaringan yang dapat menyebabkan sistem mencoba untuk melakukan refresh status konfigurasi seluruh sistem. Ini akan menambahkan beban yang tak terduga ke komponen lain, dan dapat menyebabkannya gagal, sehingga memicu konsekuensi lain yang tak terduga. Lingkaran umpan balik negatif ini memengaruhi ketersediaan beban kerja Anda. Sebagai gantinya, Anda harus membangun sistem yang stabil secara statis dan dioperasikan dalam satu mode saja. Desain yang stabil secara statis akan melakukan pekerjaan secara terus-menerus, dan selalu refresh status konfigurasi dengan irama tetap. Ketika panggilan gagal, beban kerja menggunakan nilai yang sebelumnya di-cache, dan memicu alarm.

Contoh lain dari perilaku bimodal adalah memperbolehkan klien untuk melewatkan cache beban kerja Anda ketika kegagalan terjadi. Ini mungkin terlihat seperti solusi yang mengakomodasi kebutuhan klien, tetapi tidak boleh diizinkan karena secara signifikan mengubah permintaan di beban kerja Anda dan kemungkinan akan mengakibatkan kegagalan.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Sedang

Panduan implementasi

  • Gunakan stabilitas statis untuk mencegah perilaku bimodal. Perilaku bimodal terjadi ketika beban kerja Anda menunjukkan perilaku yang berbeda dalam mode normal dan mode kegagalan, contohnya, mengandalkan peluncuran instans baru jika Zona Ketersediaan gagal.

Sumber daya

Dokumen terkait:

Video terkait: