카오스 엔지니어링: Difference between revisions
From CS Wiki
(새 문서: 분류:소프트웨어 공학분류:네트워크분류:기술사 기출 ;Chaos Engineering ;복잡한 분산 시스템 환경에서 시스템의 신뢰성을 확인하기...) |
No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[분류:소프트웨어 공학]][[분류:네트워크]][[분류:기술사 기출]] | [[분류:소프트웨어 공학]][[분류:네트워크]][[분류:기술사 기출]] | ||
;Chaos Engineering | ;Chaos Engineering | ||
복잡한 분산 시스템 환경에서 시스템의 신뢰성을 확인하기 위해, 인위적인 혼돈(Chaos)을 가하여 시스템의 취약한 부분을 찾고 보강하는 방식의 엔지니어링 기법 | |||
* 일종의 [[성능 테스트]]로, 무차별적인 부하 속에서 어떤 구성 시스템이 먼저 장애를 일으키는지를 확인할 수 있다. | * 일종의 [[성능 테스트]]로, 무차별적인 부하 속에서 어떤 구성 시스템이 먼저 장애를 일으키는지를 확인할 수 있다. | ||
* 분산 시스템의 불확실성을 해소하기 위한 방안으로 주목받고 있다. | |||
== 카오스 테스트 원칙 == | |||
* 정상적인 동작을 기반으로 가설을 만든다. | |||
* 다양한 실제적 사건들을 이용한다. | |||
* 프로덕션(운영) 환경에서 테스트한다. | |||
* 지속적 테스트를 위해 동작을 자동화한다. | |||
* 장애 반경을 최소화한다. | |||
== 절차 == | |||
* 1. 시스템의 정상적인 상태를 정의 | |||
** ex) CPU Load, Memory Utilization, Network I/O 등 | |||
* 2. 통제 그룹과 시험 그룹 시스템이 정상적인 상태로 지속될 것이라 가정 | |||
** ex) 서버 40대 중 10대가 동시에 고장나도 고객 서비스는 정상 동작 | |||
* 3. 현실에서 일어날 수 있는 문제를 반영하여 실험 그룹에 도입 | |||
** ex) 갑작스런 접속 폭주, [[서비스 거부 공격]] | |||
* 4. 시험 그룹과 통제 그룹을 비교하여 가설 검증 | |||
** ex) 가설이 기각되는 경우 시스템 보완 | |||
== 기술사 기출 == | == 기술사 기출 == |
Latest revision as of 01:56, 17 September 2020
- Chaos Engineering
복잡한 분산 시스템 환경에서 시스템의 신뢰성을 확인하기 위해, 인위적인 혼돈(Chaos)을 가하여 시스템의 취약한 부분을 찾고 보강하는 방식의 엔지니어링 기법
- 일종의 성능 테스트로, 무차별적인 부하 속에서 어떤 구성 시스템이 먼저 장애를 일으키는지를 확인할 수 있다.
- 분산 시스템의 불확실성을 해소하기 위한 방안으로 주목받고 있다.
카오스 테스트 원칙[edit | edit source]
- 정상적인 동작을 기반으로 가설을 만든다.
- 다양한 실제적 사건들을 이용한다.
- 프로덕션(운영) 환경에서 테스트한다.
- 지속적 테스트를 위해 동작을 자동화한다.
- 장애 반경을 최소화한다.
절차[edit | edit source]
- 1. 시스템의 정상적인 상태를 정의
- ex) CPU Load, Memory Utilization, Network I/O 등
- 2. 통제 그룹과 시험 그룹 시스템이 정상적인 상태로 지속될 것이라 가정
- ex) 서버 40대 중 10대가 동시에 고장나도 고객 서비스는 정상 동작
- 3. 현실에서 일어날 수 있는 문제를 반영하여 실험 그룹에 도입
- ex) 갑작스런 접속 폭주, 서비스 거부 공격
- 4. 시험 그룹과 통제 그룹을 비교하여 가설 검증
- ex) 가설이 기각되는 경우 시스템 보완