Saya memiliki server yang sempurna, sangat cantik dan kokoh, dan saya menamainya Petra. Itu sempurna dalam segala hal, semuanya telah dikonfigurasi dan disetel dengan benar, itu memiliki catatan layanan 100% sempurna dan 753 hari uptime. Saya telah menghabiskan banyak waktu dan upaya untuk memastikan itu berjalan dengan baik. Tidak ada server lain di perusahaan ini yang sebagus ini. Tapi tadi malam monster jahat ini menabrak server saya tanpa alasan.
Tentu saja saya diberitahu pada jam 2 pagi dan saya butuh waktu sampai pagi untuk membuatnya dan berjalan dan semuanya dikonfigurasi dan disetel, tapi saya khawatir itu tidak akan sebagus sebelumnya. Mungkin butuh berminggu-minggu sebelum kembali ke kejayaannya. Sekarang uptime saya hilang, saya bahkan tidak memiliki tiga angka 9 dan siapa yang tahu apa yang akan dilakukan untuk reputasi saya. Siapa Monyet Kekacauan ini dan mengapa dia melakukan itu ke server saya dan mengapa dia mencoba untuk menghancurkan saya?
sumber
Jawaban:
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:
Monkey Latency akan memperkenalkan penundaan acak ke layanan.
Chaos Gorilla (Kong) akan mensimulasikan pemadaman seluruh zona ketersediaan.
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.
sumber
Beberapa tambahan pada jawaban Anda sendiri untuk pertanyaan ini ...
Monyet tambahan
Artikel tentang " Bagaimana kekacauan meningkatkan kinerja " menggambarkan beberapa monyet ini, yaitu:
Catatan: Artikel yang sama juga menyebutkan "Chaos Gorilla: mensimulasikan pemadaman zona ketersediaan Amazon", meskipun bisa jadi ini telah diubah namanya sekarang menjadi "Chaos Kong: mensimulasikan pemadaman wilayah Amazon" ... Berbicara tentang Kekacauan ! Saya tidak dapat menemukan konfirmasi / dokumen tentang itu sejauh ini, setidaknya sepertinya tidak ada masalah untuk itu dalam masalah antrian . Perubahan tidak berdokumen mungkin telah membuatnya menjadi produksi di github ... Gggggggrrrrrreat!
Atur dan gunakan Monyet Anda sendiri.
Pergilah ke github untuk menghubungi Pasukan Simian (tautan yang sama dengan tautan pertama di jawaban Anda sendiri). Berikut adalah kutipan dari apa yang akan Anda temukan di sana:
Anda bahkan dapat mengkonfigurasi monkyes, sehingga sesuai dengan kebutuhan bisnis Anda.
Jika Anda menggali cukup dalam di dalam tautan Github (yaitu di dalam tautan Dukungan ), Anda juga akan menemukan tautan untuk bergabung dengan Grup Google SimianArmy .
sumber
Anda, Sauron, memalsukan Server Satu ini, di Darkness of
Mount DoomDatacenter Anda dalam keinginan untuk memerintah Semua aplikasi.Semoga Persekutuan para Devops bersatu untuk memberi tahu Anda:
Setelah pertarungan yang panjang,
Frodothe Chaos Monkey telah mampu mencairkan One Server Anda dan membawa kebebasan ke semua aplikasi, mengarahkan Anda ke Server yang dapat direproduksi pada saat yang bersamaan.Kredit:
sumber