TL; DR : Chaos ลิงได้รับการพัฒนาขึ้นในปี 2010ที่Netflixและปล่อยเข้าป่าในปี 2012เป็นส่วนหนึ่งของกองทัพลิง , ความนิยมเป็นอย่างในหมู่สาวกที่จงรักภักดี สร้างขึ้นบนหลักการวิศวกรรมความโกลาหลกองทัพเพิ่มความยืดหยุ่นให้กับความล้มเหลวโดยการฉีดระบบล้มเหลวอย่างต่อเนื่อง
แนวคิด
Chaos Monkey ได้รับการพัฒนาโดยเฉพาะสำหรับ AWS โดยจะสุ่มฆ่าภายในกลุ่มปรับขนาดอัตโนมัติ มันหมายถึงการทำงานในช่วงเวลาทำการเมื่อวิศวกรมีการเตือนและสามารถตอบสนองต่อความล้มเหลวที่ค้นพบได้อย่างรวดเร็ว
กองทัพ Simian
สมาชิกของกองทัพจะหว่านความโกลาหลด้วยวิธีอื่น:
Monkeys อื่น ๆ มีประโยชน์และกำจัดสมาชิกที่อ่อนแอของฝูง:
Conformity Monkey ปิดอินสแตนซ์ที่ไม่ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด
Security Monkey ค้นหาช่องโหว่ความปลอดภัยที่รู้จักในการกำหนดค่าและบริการ
Doctor Monkey ปิดตัวลงอินสแตนซ์ที่ไม่แข็งแรงซึ่งไม่สอดคล้องกับตัวชี้วัดบางอย่าง
Janitor Monkey ค้นหาทรัพยากรที่ไม่ได้ใช้เพื่อเรียกคืน
ความล้มเหลวนั้นหลีกเลี่ยงไม่ได้
ความล้มเหลวในระบบเป็นสิ่งที่หลีกเลี่ยงสิ่งที่จะไปอย่างผิดปกติ คุณอาจไม่สามารถเลือกได้ แต่คุณสามารถลองเลือกได้เมื่อ ด้วยการแนะนำข้อผิดพลาดเล็ก ๆ น้อย ๆ ตลอดทั้งวันคุณมั่นใจได้ว่าวิศวกรของคุณจะปรากฏ ด้วยการฆ่าบริการที่ไม่เป็นไปตามข้อกำหนดอย่างรวดเร็วคุณมั่นใจได้ว่าความล้มเหลวเกิดขึ้นบ่อยครั้งก่อนการปรับใช้ ด้วยการทำให้สภาพแวดล้อมเป็นปรปักษ์ต่อกันคุณมั่นใจได้ว่าจะเป็นนักพัฒนาที่ประสบปัญหานานก่อนที่บริการใด ๆ จะเข้าสู่การผลิต ความล้มเหลวจะปรากฏอย่างรวดเร็วในช่วงการรวมบริการใหม่กับบริการเก่า แต่ก็ไม่เป็นไรเพราะบริการการผลิตเก่านั้นมีความยืดหยุ่นอยู่แล้ว
วัวไม่ใช่สัตว์เลี้ยง
ทุกคนจะบอกคุณเมื่อเร็ว ๆ นี้: ไม่รักษาของคุณเซิร์ฟเวอร์เป็นสัตว์เลี้ยง มีกำลังไฟเป็นตัวเลขและจุดใดจุดหนึ่งของความล้มเหลวจะทำให้ระบบล่ม ไม่ว่าคุณจะสามารถปรับแต่งและปรับแต่งเซิร์ฟเวอร์ของคุณได้ดีแค่ไหนไม่ว่าคุณจะได้รับฮาร์ดแวร์มากเท่าไหร่ก็สามารถจัดการได้เท่าไหร่มันจะไม่เหมาะกับฝูงขนาดเล็กที่ปรับขนาดได้ Chaos Monkey สนับสนุนให้คุณนึกถึงการขจัดจุดล้มเหลวทั้งหมดเพราะไม่ช้าก็เร็ว Monkey จะมา! ทุกคนล้มเหลวและแม้ Amazon S3 มีดับคาดเดาไม่ได้
ป้องกันการเปราะบาง
ทฤษฎีคืออะไรและทำไมมันถึงทำงาน Nassim Nicholas TalebในหนังสือของเขาAntifragileอธิบายแนวความคิดเกี่ยวกับการใช้ชีวิตในระบบที่รับรู้ด้วยตนเองจะได้รับประโยชน์จากการสุ่มในระดับเล็กน้อยและจริง ๆ แล้วจะดีขึ้นเมื่อเผชิญกับความทุกข์ยาก นี่คล้ายกับการหลอม
เขาไม่ยังอธิบายถึงวิธีการวิวัฒนาการที่เปราะบางของชิ้นส่วนในระบบจะถูกโอนเข้า antifragility ของทั้ง การถ่ายโอนเกิดขึ้นในสองระดับ:
โดยรูปแบบสุ่มขนาดเล็ก - นักพัฒนามีการเปลี่ยนแปลง - พอดีที่สุดสำหรับสภาพแวดล้อมที่จะอยู่รอดและเผยแพร่ - การทดสอบผ่านและได้รับการใช้งาน มาตรฐานวงจรชีวิตการพัฒนา
จากความล้มเหลวของชิ้นส่วนที่ไม่สามารถทนต่อการสุ่มในระดับที่สูงขึ้นในสภาพแวดล้อมชิ้นส่วนที่เหลือที่สามารถทนต่อการประกอบมันเป็นระบบที่โดยรวมดีกว่าที่จะสามารถจัดการกับสภาพแวดล้อมที่เปลี่ยนแปลงไปกว่าเดิม นี้เป็นหลักความโกลาหลลิง
การสุ่มในระดับที่มากขึ้นสามารถทนได้โดยใช้วิธีที่สอง