이 카오스 멍키는 누구이며 왜 내 서버를 크래쉬 했습니까?


28

나는 완벽한 서버를 가지고 있었고, 너무 예쁘고 단단해서 Petra라는 이름을지었습니다. 모든면에서 완벽했으며 모든 것이 올바르게 구성 및 조정되었으며 완벽한 100 % 서비스 기록과 753 일의 가동 시간을 가졌습니다. 나는 그것이 잘 작동하도록 많은 시간과 노력을 들였다. 이 회사의 다른 서버는 이만큼 좋지 않았습니다. 그러나 어젯밤이 사악한 괴물은 아무 이유없이 서버를 추락 시켰습니다.

혼돈 원숭이

물론 오전 2시에 알림을 받았으며 아침까지 가져 와서 실행하고 모든 것을 구성하고 조정하는 데 아침이 걸렸습니다. 이전의 영광으로 돌아 가기까지 몇 주가 걸릴 수 있습니다. 이제 내 가동 시간이 사라졌고, 나는 9 세가 거의 없으며 이것이 내 명성에 어떤 영향을 줄지 알고 있습니다. 이 카오스 멍키는 누구이며 왜 내 서버에 그렇게했으며 왜 나를 망치려고합니까?


12
재미있는 질문에 대한 배지가 필요합니다 :)
Richard Slater

단일 서버? 그게 뭐야? 불가피하게 실패하거나 임대 할 때 쉽게 확장 및 교체 할 수있는 상품 대신 고유 한 예술 작품을 기반으로 비즈니스를 운영하는 이유는 무엇입니까?
환불 불가 환불 불가

우리는 이것을 사이트를 미리 시드하기위한 좋은 질문이라고 생각합니까? 엔지니어가 Chaos Monkey를 설치, 구성 및 실행하고 그 상태를 잊어 버릴 수 있지만 공식 웹 사이트를 방문하지 않고 네트워크에서 실행 중임을 발견하고 Stack Exchange에 문의해야합니까? 믿기 ​​어려운 수많은 단계가 있습니다.
Xiong Chiamiov

2
분명히, 그것은 실제 질문이 아닙니다. 산업계가 단순히 앞질렀 던 낡은 sysadmin 분야의 최고를 묘사하는 것은 농담이었습니다. 그러나 귀하의 비판은 인프라를 관리하는 개인 또는 단일 팀이 있다고 가정합니다. 대기업에서는 기존 인프라와 팀이 교체되는 동안에도 그대로 남아 있습니다. 새로운 팀이 새로운 인프라와 Chaos Monkey의 설치로 시작했으며 구세대가 회사 전체에 초기 성공을 거둔 당시에 단순히 타격을 받았다는 것은 그럴듯합니다.
Jiri Klouda

분명한 질문은 당신이 그런 서버를 가지고 있다면 왜 카오스 몽키를 설치 했습니까?
user253751

답변:


32

TL; DR : 혼돈의 원숭이가2010 년에 개발넷플릭스2012 년 야생에 방출 의 일부 유인원 육군 , 사이에서 격렬하게 인기 헌신적 인 추종자 . 구축 혼돈 원리 공학, 군대 시스템에 일정한 오류를 주입 실패 복원력을 증가시킨다.

개념

Chaos Monkey는 AWS를 위해 특별히 개발되어 Auto Scaling Group 내에서 인스턴스를 임의로 종료합니다. 엔지니어가 경고하고 발견 된 장애에 신속하게 대응할 수있는 업무 시간 동안 실행해야합니다.

시미 안 육군

군대의 구성원은 다른 수단을 통해 혼란심었습니다 .

  • Latency Monkey는 서비스에 임의의 지연을 도입합니다.

  • 혼돈 고릴라 (Kong)는 전체 가용 영역의 가동 중단을 시뮬레이션합니다.

다른 원숭이가 도움이 되고 무리의 약한 구성원을 제거합니다.

  • 적합성 원숭이는 모범 사례를 따르지 않는 인스턴스를 종료합니다.

  • 보안 원숭이는 구성 및 서비스에서 알려진 보안 취약점을 찾습니다.

  • Doctor Monkey는 특정 지표에 맞지 않는 비정상 인스턴스를 종료합니다.

  • Janitor Monkey는 회수 할 미사용 자원을 찾습니다.

실패는 불가피하다

시스템 고장은 불가피하며, 항상 문제가 발생 합니다. 무엇을 선택하지 못할 수도 있지만 언제 선택할 수 있습니다. 하루 종일 작은 오류를 도입하면 엔지니어가 참석할 수 있습니다. 부적합한 서비스를 신속하게 중단함으로써 배포 전에 장애가 자주 발생하도록합니다. 환경을보다 적대적으로 만들면 서비스가 프로덕션에 들어가기 훨씬 전에 문제가 발생하는 개발자가 될 수 있습니다. 기존 서비스와 새로운 서비스의 통합 단계에서 장애가 신속하게 드러날 것이지만, 이전 프로덕션 서비스는 이미 탄력적이기 때문에 문제가 없습니다.

소가 아닌 애완 동물

모두 최근에 알려줄 것입니다 : 서버를 애완 동물로 취급하지 마십시오 . 많은 힘이 있으며 단일 장애 지점으로 인해 시스템이 다운됩니다. 서버를 얼마나 잘 조정하고 최적화 할 수 있는지, 하드웨어를 얼마나 많이 얻을 수 있는지, 처리 할 수있는 양에 관계없이 소규모의 확장 가능한 인스턴스의 무리와 결코 일치하지 않습니다. 카오스 원숭이는 조만간 원숭이가 올 것이기 때문에 모든 실패 지점을 제거하는 것에 대해 생각할 것을 권장합니다! 모두가 실패하고 심지어 아마존 S3도 예측할 수없는 정전이 발생했습니다 .

사기 방지

그렇다면 이론은 무엇이며 왜 작동합니까? Nassim Nicholas Taleb 는 자신의 저서 Antifragile 에서 살아있는 자기 인식 시스템이 작은 수준의 임의성에서 혜택을 받고 실제로 역경에 직면 할 때 더 나은 개념을 설명합니다. 이것은 어닐링과 유사합니다.

그는 또한 시스템에서 부품의 취약성 이 전체의 반 취약성 으로 전환되는 진화 적 방법을 설명합니다 . 전송은 두 가지 수준에서 발생합니다.

  1. 환경에 가장 적합한 소규모 변경 (개발자가 변경) 을 수행하면 테스트를 통과 하고 전파 하고 배포 할 수 있습니다. 표준 개발 수명주기 .

  2. 환경에서 더 큰 수준의 임의성을 견딜 수없는 부품의 고장으로 인해이를 견딜 수 있었던 나머지 부품은 이전보다 변화하는 환경을보다 잘 처리 할 수있는 시스템을 구성합니다. 이것은 본질적으로 혼돈 원숭이 입니다.

두 번째 방법을 사용하면 더 큰 수준의 무작위성을 견딜 수 있습니다.


"실패는 불가피하다"-위대한 만트라!
wogsland

Nassim Taleb를 언급했기 때문에 찬성했습니다. 슈퍼 똑똑한 사람과 그의 아이디어는 기본적으로 모든 것에 적용될 수 있습니다.
maplebird

8

이 질문에 대한 귀하의 답변에 일부 추가 ...

추가 원숭이

" 카오스가 성능을 향상시키는 방법 "에 대한 기사 는 다음과 같은 원숭이를 몇 가지 더 설명합니다.

  • 10-18 Monkey : 여러 지역의 고객에게 서비스를 제공하는 인스턴스에서 구성 및 런타임 문제를 찾습니다.
  • 카오스 콩 : 아마존 지역의 중단을 시뮬레이션합니다.

비고 : 같은 기사에서도 "Chaos Gorilla : Amazon 가용 영역 중단을 시뮬레이트합니다"라고 언급하지만 지금 이름이 "Chaos Kong : Amazon 지역의 중단을 시뮬레이트합니다"로 변경되었을 수도 있습니다 ... 혼돈 ! 적어도 지금까지 확인 / 문서를 찾을 수 없었습니다 . 문제 대기열 에 문제가없는 것 같습니다 . 문서화되지 않은 변경으로 인해 github에서 프로덕션으로 변경되었을 수 있습니다 ... Gggggggrrrrrreat!

자신의 원숭이를 설정하고 사용하십시오.

github로 가서 Simian Army와 연락 하십시오 (자신의 답변에서 첫 번째 링크와 동일한 링크). 여기에있는 내용에 대한 인용문이 있습니다.

Simian Army는 클라우드에서 다양한 종류의 장애를 생성하고 비정상적인 조건을 감지하며이를 극복 할 수있는 능력을 테스트하기위한 서비스 (Monkey)로 구성됩니다. 목표는 클라우드를 안전하고 안전하며 고 가용성으로 유지하는 것입니다. 자세한 내용은 이 블로그 에서 확인할 수 있습니다 .

현재 simians에는 Chaos Monkey , Janitor MonkeyConformity Monkey가 포함 됩니다.

원숭이 설정 및 사용을 시작 하려면 빠른 시작 안내서 를 참조하십시오 .

비즈니스 요구에 맞게 몽키를 구성 할 수도 있습니다 .

해당 Github 링크 (즉, 지원 링크) 내에서 충분히 깊이 파고 들면 SimianArmy Google 그룹 에 가입 할 수있는 링크도 있습니다 .


카오스 콩은 카오스 고릴라로 이름이 바뀌 었습니다.
Jiri Klouda

@ JiriKlouda 당신은 내가 궁금해하기 시작한 것을 확인하는 것 같습니다. 그렇기 때문에 지금 답변에 의견을 추가했습니다.
Pierre.Vriens

2

한 대의 서버에서 모든 것을 다룰 수 있고,
한 대의 서버에서 그들을 찾을 수 있고, 한 대의 서버가 모두를 가져 와서 중단 될 때

Sauron은 Mount One의 어둠 속 에서 모든 응용 프로그램을 통제 하기 위해이 단일 서버를 구축했습니다 .
다행스럽게도 Devops의 친교가 당신에게 다음과 같이 말했을 것입니다.

간달프-당신은 PAAS해야한다

오랜 전투 끝에 Frodo the Chaos Monkey는 하나의 서버를 녹여 모든 응용 프로그램에 자유를 가져다 줄 수 있었으며 동시에 재현 가능한 서버로 이동할 수있었습니다.

크레딧 :

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.