Bagikan melalui


Memahami rekayasa dan ketahanan chaos

Sebelum Anda mulai menggunakan Azure Chaos Studio, berguna untuk memahami konsep rekayasa keandalan situs inti yang diterapkan.

Apa itu ketahanan?

Tidak pernah lebih mudah untuk membuat aplikasi berskala besar dan terdistribusi. Infrastruktur dihosting di cloud, dan dukungan bahasa pemrograman beragam. Ada juga banyak komponen dan layanan sumber terbuka dan dihosting untuk dibangun.

Sayangnya, tidak ada jaminan keandalan untuk komponen dan dependensi yang mendasar ini, atau untuk sistem yang dibangun di atasnya. Infrastruktur dapat offline, dan gangguan atau pemadaman layanan dapat terjadi kapan saja. Gangguan kecil di satu area dapat diperbesar dan memiliki efek samping yang sudah berlangsung lama di area lain.

Aplikasi dan layanan harus merencanakan dan mengakomodasi masalah seperti:

  • Pemadaman layanan.
  • Gangguan pada dependensi yang diketahui dan tidak diketahui.
  • Beban tiba-tiba tak terduga.
  • Latensi di seluruh sistem.

Aplikasi dan layanan harus dirancang untuk menangani kegagalan dan diperkeras terhadap gangguan.

Aplikasi dan layanan yang menangani tekanan dan masalah dengan anggun sangat tangguh. Keandalan komponen individu baik, tetapi ketahanan adalah milik seluruh sistem. Ketahanan sistem end-to-end harus divalidasi dalam lingkungan terintegrasi seperti produksi dengan kondisi dan beban yang dihadapi dalam produksi.

Apa yang dimaksud dengan rekayasa chaos dan injeksi kesalahan?

  • Rekayasa chaos: Praktik subjek aplikasi dan layanan terhadap stres dan kegagalan dunia nyata. Tujuannya adalah untuk membangun dan memvalidasi ketahanan terhadap kondisi yang tidak dapat diandalkan dan dependensi yang hilang.
  • Injeksi kesalahan: Tindakan memperkenalkan kesalahan ke sistem. Anda dapat menggunakan kesalahan yang berbeda, seperti latensi jaringan atau hilangnya akses ke penyimpanan, ke komponen sistem target. Anda dapat membuat skenario yang harus dapat ditangani atau dipulihkan oleh aplikasi atau layanan.

Eksperimen chaos adalah penerapan kesalahan secara individual, paralel, atau berurutan terhadap satu atau beberapa sumber daya langganan atau dependensi. Tujuannya adalah untuk memantau perilaku dan kesehatan sistem sehingga Anda dapat bertindak atas masalah apa pun yang muncul.

Eksperimen dapat mewakili skenario dunia nyata, seperti pemadaman listrik pusat data atau latensi jaringan ke server DNS. Ini juga dapat digunakan untuk mensimulasikan kondisi tepi yang terjadi. Contohnya adalah belanja Black Friday atau ketika tiket konser mulai dijual untuk band populer.