Siapa Monyet Kekacauan ini dan mengapa dia menabrak server saya?

28

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.

Monyet Kekacauan

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?

Jiri Klouda
sumber
12
Harus ada lencana untuk pertanyaan terlucu :)
Richard Slater
Server tunggal? Apa itu? Mengapa Anda mendasarkan bisnis Anda pada karya seni yang unik alih-alih komoditas yang mudah diskalakan dan diganti ketika gagal atau gagal dalam sewa?
Tanpa Pengembalian Uang Tanpa Pengembalian
Apakah kita benar-benar menganggap ini pertanyaan yang bagus untuk melakukan pra-seed situs? Apakah kita mengharapkan para insinyur untuk menginstal, mengkonfigurasi, dan menjalankan Chaos Monkey, lalu melupakan apa itu, tetapi menemukan bahwa itu berjalan di jaringan mereka dan bertanya di Stack Exchange daripada mengunjungi situs web resmi? Ada begitu banyak langkah di sana yang tidak masuk akal.
Xiong Chiamiov
2
Jelas, itu bukan pertanyaan nyata. Itu adalah lelucon untuk memotret bagian atas bidang sysadmin lama, yang hanya dikalahkan oleh industri. Tetapi kritik Anda mengasumsikan bahwa ada satu orang atau bahkan satu tim yang mengurus infrastruktur. Cukup sering di perusahaan besar infrastruktur dan tim yang ada dibiarkan di tempat bahkan ketika mereka diganti. Sangat masuk akal bahwa sebuah tim baru mulai dengan infrastruktur baru dan pemasangan Chaos Monkey dan kentut lama kena pada saat ketika itu setelah kesuksesan awal dikerahkan perusahaan lebar-lebar.
Jiri Klouda
Pertanyaan yang jelas adalah jika Anda memiliki server seperti itu, mengapa Anda mengatur Chaos Monkey?
user253751

Jawaban:

32

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:

  1. Dengan variasi acak kecil - pengembang membuat perubahan - yang paling cocok untuk lingkungan akan bertahan dan menyebar - lulus tes dan dikerahkan . Siklus Hidup Pengembangan Standar .

  2. 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.

Jiri Klouda
sumber
"Kegagalan tidak terhindarkan" - mantra besar!
wogsland
Terpilih karena Anda menyebut Nassim Taleb. Pria super pintar, dan ide-idenya bisa diterapkan pada dasarnya apa saja.
maplebird
8

Beberapa tambahan pada jawaban Anda sendiri untuk pertanyaan ini ...

Monyet tambahan

Artikel tentang " Bagaimana kekacauan meningkatkan kinerja " menggambarkan beberapa monyet ini, yaitu:

  • 10-18 Monkey : menemukan konfigurasi dan menjalankan masalah waktu dalam kasus yang melayani pelanggan di berbagai wilayah.
  • Chaos Kong : mensimulasikan pemadaman wilayah Amazon.

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:

Simian Army terdiri dari layanan (Monyet) di awan untuk menghasilkan berbagai jenis kegagalan, mendeteksi kondisi abnormal, dan menguji kemampuan kita untuk bertahan hidup mereka. Tujuannya adalah untuk menjaga cloud kami aman, aman, dan sangat tersedia. Rincian lebih lanjut dapat ditemukan di blog ini .

Saat ini simian termasuk Chaos Monkey , Janitor Monkey , dan Conformity Monkey .

Lihat panduan Mulai Cepat untuk memulai pengaturan dan menggunakan Monyet.

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 .

Pierre.Vriens
sumber
Chaos Kong diubah namanya menjadi Chaos Gorilla, saya pikir atau sebaliknya.
Jiri Klouda
@JiriKlouda Anda sepertinya mengkonfirmasi apa yang mulai saya pikirkan. Itulah sebabnya saya menambahkan komentar saya dalam jawaban saya sekarang juga.
Pierre.Vriens
2

Satu Server untuk memerintah mereka semua, Satu Server untuk menemukan mereka,
Satu Server untuk membawa mereka semua dan dalam pemadaman mengikat mereka

Anda, Sauron, memalsukan Server Satu ini, di Darkness of Mount Doom Datacenter Anda dalam keinginan untuk memerintah Semua aplikasi.
Semoga Persekutuan para Devops bersatu untuk memberi tahu Anda:

Gandalf - Anda harus PAAS

Setelah pertarungan yang panjang, Frodo the 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:

Tensibai
sumber