Chaos Monkey ตัวนี้คือใครและทำไมเขาถึงชนเซิร์ฟเวอร์ของฉัน


28

ฉันมีเซิร์ฟเวอร์ที่สมบูรณ์แบบมันสวยและน่าทึ่งมากฉันจึงตั้งชื่อมันว่า Petra มันสมบูรณ์แบบในทุกด้านทุกอย่างได้รับการปรับแต่งและปรับแต่งอย่างถูกต้องมันมีบันทึกการบริการที่สมบูรณ์แบบ 100% และเวลาทำงาน 753 วัน ฉันใช้เวลาและความพยายามมากเพื่อให้แน่ใจว่ามันทำงานได้ดี ไม่มีเซิร์ฟเวอร์ตัวอื่นใน บริษัท ที่ดีขนาดนี้ แต่เมื่อคืนนี้อสูรตัวร้ายตัวนี้ตกที่เซิร์ฟเวอร์ของฉันโดยไม่มีเหตุผล

Chaos Monkey

แน่นอนว่าฉันได้รับแจ้งเวลาตี 2 และฉันต้องใช้เวลาจนถึงเช้าเพื่อให้มันทำงานและทุกอย่างได้รับการกำหนดค่าและปรับจูน แต่ฉันกลัวว่ามันจะไม่ดีเท่าที่เคยมีมา อาจใช้เวลาหลายสัปดาห์ก่อนที่จะกลับไปสู่ความรุ่งเรืองในอดีต ตอนนี้สถานะการออนไลน์ของฉันหมดไปแล้วฉันไม่มีแม้แต่สามเก้าชั่วคนและใครจะรู้ว่าสิ่งนี้จะทำให้ชื่อเสียงของฉันดีขึ้นได้อย่างไร ลิงโกลาหลคนนี้คือใครและทำไมเขาถึงทำอย่างนั้นกับเซิร์ฟเวอร์ของฉันและทำไมเขาถึงพยายามทำลายฉัน


12
จำเป็นต้องมีป้ายสำหรับคำถามที่สนุกที่สุด :)
ริชาร์ดสเลเตอร์

เซิร์ฟเวอร์เดียว นั่นอะไร? เหตุใดคุณจึงต้องยึดฐานธุรกิจของคุณเป็นงานศิลปะที่มีเอกลักษณ์แทนที่จะเป็นชุดสินค้าที่ปรับขนาดได้ง่ายและถูกแทนที่เมื่อมันล้มเหลวหรือหลุดออกจากสัญญาเช่าอย่างหลีกเลี่ยงไม่ได้?
ไม่มีการคืนเงินไม่ส่งคืน

เราคิดว่านี่เป็นคำถามที่ดีหรือไม่ในการเตรียมเว็บไซต์ไว้ล่วงหน้า เราคาดหวังว่าวิศวกรจะติดตั้งกำหนดค่าและเรียกใช้ Chaos Monkey แล้วลืมว่ามันคืออะไร แต่ค้นพบว่ามันกำลังทำงานอยู่บนเครือข่ายของพวกเขาและถามใน Stack Exchange แทนที่จะไปที่เว็บไซต์ทางการ? มีขั้นตอนมากมายที่ไม่น่าเชื่อ
Xiong Chiamiov

2
เห็นได้ชัดว่ามันไม่ใช่คำถามจริง มันเป็นเรื่องตลกที่จะจัดเรียงภาพด้านบนของระบบดูแลสนามเก่าที่เพิ่งถูกแซงหน้าโดยอุตสาหกรรม แต่การวิจารณ์ของคุณจะถือว่ามีคนคนเดียวหรือแม้แต่ทีมเดียวที่ดูแลโครงสร้างพื้นฐาน บ่อยครั้งใน บริษัท ขนาดใหญ่โครงสร้างพื้นฐานที่มีอยู่และทีมจะถูกทิ้งไว้แม้ในขณะที่พวกเขากำลังถูกแทนที่ มันค่อนข้างเป็นไปได้ที่ทีมใหม่เริ่มต้นด้วยโครงสร้างพื้นฐานใหม่และการติดตั้ง Chaos Monkey และผายลมเก่า ๆ ได้รับการโจมตีครั้งเดียวหลังจากที่ประสบความสำเร็จในการเริ่มต้นใช้งาน บริษัท กว้าง
Jiri Klouda

คำถามที่ชัดเจนคือถ้าคุณมีเซิร์ฟเวอร์เช่นนั้นทำไมคุณถึงตั้งค่า Chaos Monkey?
user253751

คำตอบ:


32

TL; DR : Chaos ลิงได้รับการพัฒนาขึ้นในปี 2010ที่Netflixและปล่อยเข้าป่าในปี 2012เป็นส่วนหนึ่งของกองทัพลิง , ความนิยมเป็นอย่างในหมู่สาวกที่จงรักภักดี สร้างขึ้นบนหลักการวิศวกรรมความโกลาหลกองทัพเพิ่มความยืดหยุ่นให้กับความล้มเหลวโดยการฉีดระบบล้มเหลวอย่างต่อเนื่อง

แนวคิด

Chaos Monkey ได้รับการพัฒนาโดยเฉพาะสำหรับ AWS โดยจะสุ่มฆ่าภายในกลุ่มปรับขนาดอัตโนมัติ มันหมายถึงการทำงานในช่วงเวลาทำการเมื่อวิศวกรมีการเตือนและสามารถตอบสนองต่อความล้มเหลวที่ค้นพบได้อย่างรวดเร็ว

กองทัพ Simian

สมาชิกของกองทัพจะหว่านความโกลาหลด้วยวิธีอื่น:

  • Latency Monkey จะแนะนำการล่าช้าแบบสุ่มให้กับบริการ

  • Chaos Gorilla (Kong) จะจำลองสถานการณ์การขาดหายของโซนความพร้อมทั้งหมด

Monkeys อื่น ๆ มีประโยชน์และกำจัดสมาชิกที่อ่อนแอของฝูง:

  • Conformity Monkey ปิดอินสแตนซ์ที่ไม่ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด

  • Security Monkey ค้นหาช่องโหว่ความปลอดภัยที่รู้จักในการกำหนดค่าและบริการ

  • Doctor Monkey ปิดตัวลงอินสแตนซ์ที่ไม่แข็งแรงซึ่งไม่สอดคล้องกับตัวชี้วัดบางอย่าง

  • Janitor Monkey ค้นหาทรัพยากรที่ไม่ได้ใช้เพื่อเรียกคืน

ความล้มเหลวนั้นหลีกเลี่ยงไม่ได้

ความล้มเหลวในระบบเป็นสิ่งที่หลีกเลี่ยงสิ่งที่จะไปอย่างผิดปกติ คุณอาจไม่สามารถเลือกได้ แต่คุณสามารถลองเลือกได้เมื่อ ด้วยการแนะนำข้อผิดพลาดเล็ก ๆ น้อย ๆ ตลอดทั้งวันคุณมั่นใจได้ว่าวิศวกรของคุณจะปรากฏ ด้วยการฆ่าบริการที่ไม่เป็นไปตามข้อกำหนดอย่างรวดเร็วคุณมั่นใจได้ว่าความล้มเหลวเกิดขึ้นบ่อยครั้งก่อนการปรับใช้ ด้วยการทำให้สภาพแวดล้อมเป็นปรปักษ์ต่อกันคุณมั่นใจได้ว่าจะเป็นนักพัฒนาที่ประสบปัญหานานก่อนที่บริการใด ๆ จะเข้าสู่การผลิต ความล้มเหลวจะปรากฏอย่างรวดเร็วในช่วงการรวมบริการใหม่กับบริการเก่า แต่ก็ไม่เป็นไรเพราะบริการการผลิตเก่านั้นมีความยืดหยุ่นอยู่แล้ว

วัวไม่ใช่สัตว์เลี้ยง

ทุกคนจะบอกคุณเมื่อเร็ว ๆ นี้: ไม่รักษาของคุณเซิร์ฟเวอร์เป็นสัตว์เลี้ยง มีกำลังไฟเป็นตัวเลขและจุดใดจุดหนึ่งของความล้มเหลวจะทำให้ระบบล่ม ไม่ว่าคุณจะสามารถปรับแต่งและปรับแต่งเซิร์ฟเวอร์ของคุณได้ดีแค่ไหนไม่ว่าคุณจะได้รับฮาร์ดแวร์มากเท่าไหร่ก็สามารถจัดการได้เท่าไหร่มันจะไม่เหมาะกับฝูงขนาดเล็กที่ปรับขนาดได้ Chaos Monkey สนับสนุนให้คุณนึกถึงการขจัดจุดล้มเหลวทั้งหมดเพราะไม่ช้าก็เร็ว Monkey จะมา! ทุกคนล้มเหลวและแม้ Amazon S3 มีดับคาดเดาไม่ได้

ป้องกันการเปราะบาง

ทฤษฎีคืออะไรและทำไมมันถึงทำงาน Nassim Nicholas TalebในหนังสือของเขาAntifragileอธิบายแนวความคิดเกี่ยวกับการใช้ชีวิตในระบบที่รับรู้ด้วยตนเองจะได้รับประโยชน์จากการสุ่มในระดับเล็กน้อยและจริง ๆ แล้วจะดีขึ้นเมื่อเผชิญกับความทุกข์ยาก นี่คล้ายกับการหลอม

เขาไม่ยังอธิบายถึงวิธีการวิวัฒนาการที่เปราะบางของชิ้นส่วนในระบบจะถูกโอนเข้า antifragility ของทั้ง การถ่ายโอนเกิดขึ้นในสองระดับ:

  1. โดยรูปแบบสุ่มขนาดเล็ก - นักพัฒนามีการเปลี่ยนแปลง - พอดีที่สุดสำหรับสภาพแวดล้อมที่จะอยู่รอดและเผยแพร่ - การทดสอบผ่านและได้รับการใช้งาน มาตรฐานวงจรชีวิตการพัฒนา

  2. จากความล้มเหลวของชิ้นส่วนที่ไม่สามารถทนต่อการสุ่มในระดับที่สูงขึ้นในสภาพแวดล้อมชิ้นส่วนที่เหลือที่สามารถทนต่อการประกอบมันเป็นระบบที่โดยรวมดีกว่าที่จะสามารถจัดการกับสภาพแวดล้อมที่เปลี่ยนแปลงไปกว่าเดิม นี้เป็นหลักความโกลาหลลิง

การสุ่มในระดับที่มากขึ้นสามารถทนได้โดยใช้วิธีที่สอง


"ความล้มเหลวนั้นหลีกเลี่ยงไม่ได้" - mantram ที่ยอดเยี่ยม!
wogsland

เพิ่มขึ้นเนื่องจากคุณพูดถึง Nassim Taleb Super smart guy และความคิดของเขาสามารถนำไปใช้กับสิ่งใดก็ได้
เมเปิ้ลเบิร์ด

8

เพิ่มเติมบางส่วนสำหรับคำตอบของคุณสำหรับคำถามนี้ ...

ลิงเพิ่มเติม

บทความเกี่ยวกับ " ความโกลาหลช่วยเพิ่มประสิทธิภาพ " ได้อธิบายลิงเหล่านี้อีกสองสามตัวอย่างเช่น:

  • 10-18 Monkey : ค้นหาการกำหนดค่าและปัญหาเวลาทำงานในอินสแตนซ์ที่ให้บริการลูกค้าในหลายภูมิภาค
  • Chaos Kong : จำลองสถานการณ์ไฟดับของภูมิภาค Amazon

หมายเหตุ: บทความเดียวกันนี้ยังกล่าวถึง "Chaos Gorilla: จำลองสถานการณ์ความพร้อมใช้งานของโซนความพร้อมของ Amazon" แม้ว่ามันอาจเป็นไปได้ว่าสิ่งนี้ได้ถูกเปลี่ยนชื่อเป็น "ความโกลาหล: จำลองการล่มสลายของภูมิภาค Amazon" ความโกลาหล ! ฉันไม่สามารถหาการยืนยันใด ๆ / docu ว่าเพื่อให้ห่างไกลอย่างน้อยมีดูเหมือนจะไม่เป็นปัญหาสำหรับมันในคิวปัญหา การเปลี่ยนแปลงที่ไม่มีเอกสารอาจทำให้การผลิตใน github ... Gggggggrrrrrreat!

ติดตั้งและใช้ Monkeys ของคุณเอง

ตรงไปที่ GitHub เพื่อติดต่อกับ Simian Army (ลิงก์เดียวกับลิงค์แรกในคำตอบของคุณเอง) นี่คือคำพูดของสิ่งที่คุณจะพบ:

Simian Army ประกอบด้วยบริการ (Monkeys) ในคลาวด์สำหรับการสร้างความล้มเหลวหลากหลายรูปแบบการตรวจสอบสภาวะที่ผิดปกติและการทดสอบความสามารถของเราในการอยู่รอด เป้าหมายคือเพื่อให้ระบบคลาวด์ของเราปลอดภัยและพร้อมใช้งานสูง รายละเอียดเพิ่มเติมสามารถดูได้ที่บล็อกนี้

ปัจจุบัน Simians ได้แก่ความโกลาหลลิง , นักการภารโรงลิงและความสอดคล้องลิง

อ้างอิงจากคู่มือเริ่มต้นใช้งานอย่างย่อเพื่อเริ่มการตั้งค่าและใช้งาน Monkeys

คุณสามารถกำหนดค่า monkyes เพื่อให้เหมาะกับความต้องการทางธุรกิจของคุณ

ถ้าคุณขุดพอลึกภายในเหล่านั้นเชื่อมโยง Github (เช่นในการสนับสนุนการเชื่อมโยง), คุณยังจะได้พบการเชื่อมโยงที่จะเข้าร่วมเป็นSimianArmy กลุ่ม


Chaos Kong ถูกเปลี่ยนชื่อเป็น Chaos Gorilla ฉันคิดว่าเป็นอย่างอื่น
Jiri Klouda

@JiriKlouda คุณดูเหมือนจะยืนยันสิ่งที่ฉันเริ่มสงสัย นี่คือเหตุผลที่ฉันเพิ่มคำพูดของฉันในคำตอบของฉันตอนนี้ด้วย
Pierre.Vriens

2

เซิร์ฟเวอร์เดียวที่จะปกครองพวกเขาทั้งหมดเซิร์ฟเวอร์เดียวที่จะค้นหาพวกเขา
เซิร์ฟเวอร์เดียวที่จะนำพวกเขาทั้งหมดและในการหยุดทำงานผูกพวกเขา

คุณเซารอนปลอมแปลงเซิร์ฟเวอร์นี้ในความมืดของMount Doomดาต้าเซ็นเตอร์ของคุณด้วยความปรารถนาที่จะปกครองแอปพลิเคชันทั้งหมด
หวังว่ามิตรภาพของ Devops จะรวมกันเพื่อบอกคุณ:

แกนดัล์ฟ - คุณจะต้อง PAAS

หลังจากการต่อสู้ที่ยาวนานFrodo the Chaos Monkey สามารถละลาย One Server ของคุณและนำอิสระมาสู่แอพพลิเคชั่นทั้งหมดขับคุณไปสู่เซิร์ฟเวอร์ที่ทำซ้ำได้ในเวลาเดียวกัน

เครดิต:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.