본문 바로가기
DevOps

Chaos Engineering Tools

by 코딩+아빠 2023. 6. 26.

왜 카오스 엔지니어링 도구를 사용합니까?

https://harness.io/blog/devops/chaos-engineering-tools/

 

Chaos Mesh 카오스 메시

Chaos Engineering을 위해 특별히 설계된 오픈 소스 클라우드 네이티브 도구입니다.

오픈 소스 소프트웨어인 Chaos Mesh는 상용 라이선스 없이 무료로 사용할 수 있습니다.

개발, 테스트 및 PRD 단계의 다양한 부분에서 발생할 수 있는 시스템 이상을 확인 할 수 있습니다. 

Chaos Dashboard로 알려진 웹 사용자 인터페이스로 생성된 오픈 소스 도구인 Chaos Mesh는 DevOps 워크플로에 추가되어 잠재적인 약점 및 시간 초과 영역을 찾을 수 있습니다. 복원력을 보장하기 위해 Chaos Mesh는 Kubernetes 환경 내에서 카오스 실험을 활용합니다.

장점:

  • 사용하기 쉬운 기능 및 자동화
  • 사용자 인터페이스는 다양한 구성을 지원
  • 실험을 일시 중지하고 마음대로 재개 가능

단점:

  • 공격을 예약할 수 있는 기능이 없으므로 실험이 무기한 실행됨. (위험)
  • 노드 수준 공격을 실행할 수 없음
  • 대시보드 내에서 사용자 액세스를 제어할 수 없음. 결과적으로 보안 위험이 증가

Chaos Monkey

Chaos Monkey는 상용 라이선스가 필요 없는 무료 오픈 소스 소프트웨어입니다.
Chaos Monkey의 구성 가능성을 통해 손쉬운 일정 예약 및 긴밀한 모니터링이 가능합니다. 이 기술은 쉽게 복제할 수 있지만 사용자가 공격의 여파에 대비하지 않으면 골칫거리가 될 수 있습니다. 사용자는 배포 전에 중단을 확인할 수 있지만 사용자 지정 Go 코드를 작성하고 편집할 수 있어야 합니다.

Chaos Monkey는 최초의 카오스 엔지니어링 도구 중 하나였습니다. 오픈 소스 카오스 엔지니어링 커뮤니티에 혁명을 일으켰을지 모르지만 현대적 애플리케이션은 오늘날 훨씬 덜 실용적입니다. Chaos Monkey는 어느 정도 유용하지만 사용자는 제한 사항과 힘든 배포 기능을 고려해야 합니다.

장점:

  • 구성 가능한 기술을 통해 공격을 쉽게 모니터링하고 예약 가능
  • 오픈 소스 소프트웨어에는 라이선스 비용이 없음

단점:

  • 한 가지 유형의 실험만 수행할 수 있음
  • 공격은 무작위로 이루어지며 사용자는 폭발 반경을 제한적으로 제어할 수 있습니다.
  • 사용자 정의 코드 작성 필요

 


Gremlin 그렘린

https://www.youtube.com/watch?v=O92v-QwRtek

 Gremlin은 단순화된 프레임워크 내에서 시스템 중단을 안전하고 쉽게 시뮬레이션하는 데 필요한 도구와 리소스를 사용자에게 제공합니다.

Gremlin의 여러 기능 중 일부는 다음과 같습니다.

  • 정확하고 통제된 방식으로 장애 제어
  • 다단계의 시스템 공격 및 시나리오를 포함하는 사용자 지정 시나리오
  • 메모리 누수, 대기 시간 주입, 디스크 채우기 등 테스트

장점:

  • 사용자 정의 가능한 UI 구성을 통해 다양한 공격과 테스트를 동시에 실행 가능
  • CLI, API 및 UI를 통한 자동화 지원
  • 다양한 요인을 기반으로 탄력성을 평가

단점:

  • 무료 버전이 있지만 완전한 소프트웨어 사용에는 라이센스 비용이 필요
  • 소프트웨어는 사용자 정의할 수 없음
  • 보고 기능 없음

리트머스

Litmus 는 클라우드 네이티브 인프라 및 애플리케이션을 위해 설계된 오픈 소스 Chaos Engineering 플랫폼입니다. 도커 컨테이너 테스트에서 특정 Pod에 이르기까지 다양한 실험을 용이하게 하는 Kubernetes 기반 도구입니다. 개발자는 Litmus를 도구 세트로 사용하여 Kubernetes 내에서 혼돈을 생성, 촉진 및 분석합니다.

장점:

  • ChaosHub를 통해 사용할 수 있는 다양한 실험을 포함하는 중앙 집중식 저장소
  • 반복되는 시스템 상태 확인
  • 자동화된 오류 감지 및 복원력 점수

단점:

  • 리트머스로 시작하는 것은 사용자의 배경에 따라 어려울 수 있음
  • 복잡한 관리 작업은 각 네임스페이스에 대한 서비스 계정 및 주석을 설정해야 함
  • 권한 관리 및 추적이 어려울 수 있음
 
반응형

'DevOps' 카테고리의 다른 글

AWS Summit Korea 2022- DevOpsGuru  (0) 2023.06.29
Ansible Playbooks  (0) 2023.06.27
Chaos Engineering Solution 그렘린 workshop  (0) 2023.06.26
DevOps or DevOoops!  (0) 2023.06.26