TL; DR : Chaos Monyet itu dikembangkan pada tahun 2010 di Netflix dan dilepaskan ke alam liar pada tahun 2012 merupakan bagian dari Angkatan Darat Simian , sangat populer di kalangan pengikut setia . Dibangun berdasarkan prinsip-prinsip rekayasa kekacauan , tentara meningkatkan ketahanan terhadap kegagalan dengan menyuntikkan kegagalan konstan ke sistem.
Konsep
Chaos Monkey dikembangkan khusus untuk AWS di mana ia akan secara acak membunuh instance dalam Auto Scaling Group. Ini dimaksudkan untuk berjalan selama jam kerja ketika insinyur waspada dan dapat dengan cepat bereaksi terhadap kegagalan yang ditemukan.
Tentara Simian
Anggota tentara akan menabur kekacauan dengan cara lain:
Monyet lain sangat membantu dan menghilangkan anggota kawanan yang lemah:
Kesesuaian Monyet mematikan contoh tidak mengikuti praktik terbaik.
Security Monkey mencari kerentanan keamanan yang diketahui dalam konfigurasi dan layanan.
Dokter Monkey mematikan contoh tidak sehat yang tidak sesuai dengan metrik tertentu.
Petugas kebersihan Monkey mencari sumber daya yang tidak digunakan untuk mendapatkan kembali.
Kegagalan tidak bisa dihindari
Kegagalan dalam Sistem tidak bisa dihindari, sesuatu akan selalu salah . Anda mungkin tidak dapat memilih apa, tetapi Anda dapat mencoba memilih kapan. Dengan memperkenalkan kesalahan kecil sepanjang hari, Anda memastikan bahwa teknisi Anda ada. Dengan membunuh layanan yang tidak sesuai dengan cepat, Anda memastikan bahwa kegagalan sering terjadi sebelum penyebaran. Dengan membuat lingkungan lebih bermusuhan, Anda memastikan bahwa itu akan menjadi pengembang yang mengalami masalah jauh sebelum layanan apa pun masuk ke dalam produksi. Kegagalan akan segera terlihat dalam fase integrasi layanan baru dengan yang lama, tetapi itu ok, karena layanan produksi yang lama sudah tangguh.
Ternak bukan Hewan Piaraan
Semua orang akan memberi tahu Anda belakangan ini: Jangan memperlakukan server Anda sebagai hewan peliharaan . Ada kekuatan dalam jumlah dan setiap titik kegagalan akan menjatuhkan sistem. Tidak peduli seberapa baik Anda dapat menyetel dan mengoptimalkan server Anda, tidak peduli seberapa kerasnya perangkat keras yang Anda bisa dapatkan, seberapa banyak itu dapat ditangani, itu tidak akan pernah cocok dengan kawanan contoh kecil yang dapat diskalakan. Monyet Kekacauan mendorong Anda untuk berpikir tentang menghilangkan semua titik kegagalan, karena cepat atau lambat, Monyet akan datang! Semua orang gagal dan bahkan Amazon S3 mengalami pemadaman yang tak terduga .
Anti-Rapuh
Jadi apa teorinya dan mengapa itu berhasil? Nassim Nicholas Taleb dalam bukunya Antifragile menjelaskan konsep di mana hidup dengan sistem sadar diri, akan mendapat manfaat dari tingkat keacakan yang kecil dan benar-benar menjadi lebih baik dalam menghadapi kesulitan. Ini mirip dengan anil.
Dia juga menggambarkan cara evolusi, di mana kerapuhan bagian-bagian dalam suatu sistem ditransfer ke antifragilitas keseluruhan . Transfer terjadi pada dua level:
Dengan variasi acak kecil - pengembang membuat perubahan - yang paling cocok untuk lingkungan akan bertahan dan menyebar - lulus tes dan dikerahkan . Siklus Hidup Pengembangan Standar .
Dengan kegagalan bagian-bagian yang tidak mampu menahan tingkat keacakan yang lebih besar di lingkungan, bagian-bagian yang tersisa yang mampu menahannya menyusun sistem yang secara keseluruhan lebih mampu menangani perubahan lingkungan daripada sebelumnya. Ini pada dasarnya Chaos Monkey .
Tingkat keacakan yang lebih besar dapat bertahan dengan menggunakan pendekatan kedua.