Simian Army

 

Simian Army

장애 상황을 유발해 장애 "대비"

App Instance를 종료하나, Network traffic 과부화 등, 각종 고장을 인위적으로 발생시켜 장애 발생시 상황을 대비할 수 있습니다.

리소스 관리를 통한 장애 "예방"

리소스가 부족으로 인해 발생할 수 있는 장애를 예방하기 위해 불필요한 리소스를 관리합니다.

정합성 검사를 통한 장애 "예방"

보안, Scaling 규칙, App 사용율 등의 부적합한 PaaS사용을 통해 발생할 수 있는 장애를 예방합니다.


Chaos Monkey

App Instance 를 종료하나, Network traffic 과부화 등 각종 장애 상황을 인위적으로 발생시키는 작업을 수행

주요기능

장애생성

  • 주기적으로 애플리케이션 인스턴스를 랜덤 선택하여 종료

장애알림

  • 애플리케이션 인스턴스의 종료 메일 알림

포탈

  • 애플리케이션, 종료 주기, 종료 확률 등 사용에 필요한 사항 설정
  • 애플리케이션 인스턴스 종료 히스토리 확인

스케줄링

  • Application availability 확보 후 스케줄링을 통해 지속적으로 장애를 발생시켜 availability 테스트

워크플로우

Chaos Monkey Portal을 통해 Application 등록
Killer Module이 application instance 중단
Notify Module이 중단을 알림
Instance 중단 상황에서, Application정상 동작 유무 확인
중단된 Instance가 자동으로 다시 실행되는지 확인


Janitor Monkey

리소스가 부족해서 발생할 수 있는 장애를 예방하기 위한 검사를 수행

주요기능

Resource

  • 주기적으로 비정상 인스턴스 종료
  • 애플리케이션에 바인딩 되지 않은 서비스를 삭제
  • ORG/Space Quota 의 사용율 80% 초과시 알림

알림/포탈

  • 리소스의 삭제/종료 이메일 알림
  • ORG/Space 등록, 주기, email 등 사용에 필요한 사항 설정
  • 리소스 관리 히스토리 확인

Performance

  • 애플리케이션 Memory, CPU 사용율 80% 초과시 알림

스케줄링

  • 스케줄링을 통해 주기적으로 리소스 관리

워크플로우

Janitor Monkey Portal을 통해 ORG/Space 등록
Monitor Module이 CF 모니터링
리소스 정리가 필요한 경우 정리
Notify Module이 알림


Conformity Monkey

부적합한 PaaS 사용을 통해 발생할 수 있는 장애를 예방히가 위한 검사를 수행

주요기능

Scalability

  • AutoScaler가 등록되지 않은 애플리케이션 알림
  • 일정 주기동안 Scale이 발생하지 않은 애플리케이션 알림

Security

  • SSH로 접속 가능한 애플리케이션 알림
  • 방화벽 감시(Open to any, /24 등 과하게 방화벽 오픈 시 알림)

스케줄링

  • 스케줄링을 통해 주기적으로 리소스 관리

알림/포탈

  • 정합성 검사 결과 이메일 알림

워크플로우

Conformity Monkey Portal을 통해 ORG/Space 등록
Monitor Module이 CF 모니터링
정합성 검사를 수행하여 Notify Module이 알림