Merencanakan AWS FISeksperimen - AWS Layanan Injeksi Kesalahan

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

Merencanakan AWS FISeksperimen

Injeksi kesalahan adalah proses menekankan aplikasi dalam pengujian atau lingkungan produksi dengan menciptakan peristiwa yang mengganggu, seperti pemadaman server atau pelambatan. API Dari mengamati bagaimana sistem merespons, Anda kemudian dapat menerapkan perbaikan. Ketika Anda menjalankan eksperimen pada sistem Anda, ini dapat membantu Anda mengidentifikasi kelemahan sistemik secara terkontrol, sebelum kelemahan tersebut memengaruhi pelanggan yang bergantung pada sistem Anda. Kemudian Anda dapat secara proaktif mengatasi masalah untuk membantu mencegah hasil yang tidak terduga.

Sebelum Anda mulai menjalankan eksperimen injeksi kesalahan menggunakan AWS FIS, kami sarankan Anda membiasakan diri dengan prinsip dan pedoman berikut.

penting

AWS FISmelakukan tindakan nyata nyata AWS sumber daya dalam sistem Anda. Oleh karena itu, sebelum Anda mulai menggunakan AWS FISuntuk menjalankan eksperimen, kami sangat menyarankan Anda untuk menyelesaikan fase perencanaan dan pengujian terlebih dahulu di lingkungan pra-produksi atau pengujian.

Prinsip dan pedoman dasar

Sebelum memulai eksperimen dengan AWS FIS, ambil langkah-langkah berikut:

  1. Identifikasi penyebaran target untuk eksperimen — Mulailah dengan mengidentifikasi penyebaran target. Jika ini adalah percobaan pertama Anda, kami sarankan untuk memulai di lingkungan pra-produksi atau pengujian.

  2. Tinjau arsitektur aplikasi — Anda harus memastikan bahwa Anda telah mengidentifikasi semua komponen aplikasi, dependensi, dan prosedur pemulihan untuk setiap komponen. Mulailah dengan meninjau arsitektur aplikasi. Tergantung pada aplikasinya, lihat AWS Kerangka Well-Architected.

  3. Tentukan perilaku kondisi tunak — Tentukan perilaku kondisi tunak sistem Anda dalam hal metrik teknis dan bisnis yang penting, seperti latensi, pemuatan, login gagal per menit, jumlah CPU percobaan ulang, atau kecepatan pemuatan halaman.

  4. Bentuk hipotesis — Bentuk hipotesis tentang bagaimana Anda mengharapkan perilaku sistem berubah selama percobaan. Definisi hipotesis mengikuti format ini:

    Jika fault injection action dilakukan, business or technical metric impact tidak boleh melebihi value.

    Misalnya, hipotesis untuk layanan otentikasi mungkin berbunyi sebagai berikut: “Jika latensi jaringan meningkat sebesar 10%, ada kurang dari 1% peningkatan kegagalan masuk.” Setelah percobaan selesai, Anda mengevaluasi apakah ketahanan aplikasi sesuai dengan harapan bisnis dan teknis Anda.

Kami juga merekomendasikan mengikuti pedoman ini saat bekerja dengan AWS FIS:

  • Selalu mulai bereksperimen dengan AWS FISdalam lingkungan pengujian. Jangan pernah memulai dengan lingkungan produksi. Saat Anda maju dalam eksperimen injeksi kesalahan Anda, Anda dapat bereksperimen di lingkungan terkontrol lainnya di luar lingkungan pengujian.

  • Bangun kepercayaan tim Anda dalam ketahanan aplikasi Anda dengan memulai dengan eksperimen kecil dan sederhana, seperti menjalankan tindakan aws:ec2:stop-instances pada satu target.

  • Injeksi kesalahan dapat menyebabkan masalah nyata. Lanjutkan dengan hati-hati dan pastikan bahwa suntikan kesalahan pertama Anda ada pada contoh pengujian sehingga tidak ada pelanggan yang terpengaruh.

  • Uji, uji, dan uji lagi. Injeksi kesalahan dimaksudkan untuk diimplementasikan dalam lingkungan yang terkendali dengan eksperimen yang terencana dengan baik. Ini memungkinkan Anda untuk membangun kepercayaan pada kemampuan aplikasi Anda dan alat Anda untuk menahan kondisi yang bergejolak.

  • Kami sangat menyarankan agar Anda memiliki program pemantauan dan peringatan yang sangat baik sebelum Anda mulai. Tanpa itu, Anda tidak akan dapat memahami atau mengukur dampak eksperimen Anda, yang sangat penting untuk praktik injeksi kesalahan yang berkelanjutan.

Pedoman perencanaan eksperimen

Dengan AWS FIS, Anda menjalankan eksperimen pada AWS sumber daya untuk menguji teori Anda tentang bagaimana aplikasi atau sistem akan tampil dalam kondisi kesalahan.

Berikut ini adalah panduan yang disarankan untuk merencanakan AWS FISeksperimen.

  • Tinjau riwayat pemadaman - Tinjau pemadaman dan peristiwa sebelumnya untuk sistem Anda. Ini dapat membantu Anda membangun gambaran kesehatan dan ketahanan keseluruhan sistem Anda. Sebelum Anda mulai menjalankan eksperimen pada sistem Anda, Anda harus mengatasi masalah dan kelemahan yang diketahui dalam sistem Anda.

  • Identifikasi layanan dengan dampak terbesar — Tinjau layanan Anda dan identifikasi layanan yang memiliki dampak terbesar pada pengguna akhir atau pelanggan Anda jika layanan tersebut turun atau tidak berfungsi dengan benar.

  • Identifikasi sistem target — Sistem target adalah sistem di mana Anda akan menjalankan eksperimen. Jika Anda baru AWS FISatau Anda belum pernah menjalankan eksperimen injeksi kesalahan sebelumnya, kami sarankan Anda memulai dengan menjalankan eksperimen pada sistem pra-produksi atau pengujian.

  • Konsultasikan dengan tim Anda — Tanyakan apa yang mereka khawatirkan. Anda dapat membentuk hipotesis untuk membuktikan atau menyangkal kekhawatiran mereka. Anda juga dapat bertanya kepada tim Anda apa yang tidak mereka khawatirkan. Pertanyaan ini dapat mengungkapkan dua kesalahan umum: kekeliruan biaya tenggelam dan kekeliruan bias konfirmasi. Membentuk hipotesis berdasarkan jawaban tim Anda dapat membantu memberikan lebih banyak informasi tentang realitas keadaan sistem Anda.

  • Tinjau arsitektur aplikasi Anda — Lakukan peninjauan sistem atau aplikasi Anda dan pastikan bahwa Anda telah mengidentifikasi semua komponen aplikasi, dependensi, dan prosedur pemulihan untuk setiap komponen.

    Kami menyarankan Anda meninjau AWS Kerangka Well-Architected. Kerangka kerja ini dapat membantu Anda membangun infrastruktur yang aman, berkinerja tinggi, tangguh, dan efisien untuk aplikasi dan beban kerja Anda. Untuk informasi selengkapnya, silakan lihat AWS Well-Architected.

  • Identifikasi metrik yang berlaku — Anda dapat memantau dampak eksperimen pada AWS sumber daya menggunakan CloudWatch metrik Amazon. Anda dapat menggunakan metrik ini untuk menentukan baseline atau “steady state” saat aplikasi Anda berkinerja optimal. Kemudian, Anda dapat memantau metrik ini selama atau setelah percobaan untuk menentukan dampaknya. Untuk informasi selengkapnya, lihat Memantau metrik penggunaanAWS FIS menggunakan Amazon CloudWatch.

  • Tentukan ambang kinerja yang dapat diterima untuk sistem Anda — Identifikasi metrik yang mewakili kondisi stabil yang dapat diterima untuk sistem Anda. Anda akan menggunakan metrik ini untuk membuat satu atau beberapa CloudWatch alarm yang mewakili kondisi berhenti untuk eksperimen Anda. Jika alarm dipicu, percobaan dihentikan secara otomatis. Untuk informasi selengkapnya, lihat Kondisi berhenti untuk AWS FIS.