본문 바로가기
컴퓨터공학

카오스 엔지니어링과 카오스 몽키

by 책 읽는 개발자_테드 2021. 10. 14.
반응형

카오스 몽키

· 서비스를 공급하는 인스턴스에 일부러 랜덤으로 장애를 일으키는 것

· 목적: 1. 가장 약한 부분이 어디인지 파악하여 엔지니어가 문제에 대처하는 자동화된 트리거를 성정 ->

      한밤중에 장애 발생으로 엔지니어가 호출될 일이 없음

          2. 지역 단위의 중단을 시뮬레이션하는 실험을 정기적으로 실행해 조기에 모든 시스템 약점을 파악해 수정 가능

 

· 카오스 몽키의 종류:

   1. Latency monkey: RESTful 클라이언트-서버 통신 계층에 인공적인 지연 유발

   2. Conformity monkey: 최상의 조건이 아닌 인스턴스를 찾아 종료 (예:자동 스케이링 그룹에 속하지 않은 인스턴스를 찾아 재시작)

   3. Doctor monkey: 인스턴스들의 상태를 점검하고 CPU 부하율 등의 정보들을 모니터링하여 불안정한 인스턴스를 탐지하여 제거

   4. Janitoy monkey: 클라우드 환경이 잡음으나 낭비 없이 작동하도록 보장, 사용되지 않는 리소스들을 찾아 제거

   5. Security monkey:  Conformity monkey의 확장으로 보안에 위배되거나 최약점을 찾고 공격하는 인스턴스 종료

   6. 10-18 monkey: 다양한 언어와 문자를 사용하여 여러 지역에서 고객에서 서비스를 제공할 경우 설정 및 런타임 문제 감지

   7. monkey: AWS의 가용성 영역을 전체적으로 중단

 

카오스 엔지니어링

 · 위에서 설명한 문제를 인위적으로 발생시켜 미리미리 준비하는 엔지니어링 방식  

 · 카오스엔지니어링의 원칙

   1. 시스템의 정상 상태를 정의해 정상 동작의 기준을 설정

   2. 대조군과 실험군 양쪽에서 모두 이 정상 상태가 계속된다는 가설을 세움

   3. 서버 멈춤, 하드 드라이버 고장, 네트워크 연결 끊김과 같은 실제 상황을 반영하는 변수 도입

   4. 대조군과 실험군 사이의 차이점을 확인해 가설이 틀렸음을 입증

 

출처

https://zoown13.medium.com/넷플릭스와-카오스-몽키-d7b015f78e63

https://www.itworld.co.kr/news/152680

반응형

댓글