마이크로서비스와 분산 클라우드 아키텍처의 등장으로 웹은 점점 더 복잡해지고, "임의" 장애는 점점 더 예측하기 어려워지고 있으며, 이러한 시스템에 대한 의존도가 높아지고 있습니다.
이러한 고장으로 인해 회사에 큰 손실이 발생했고, 사용자들에게 큰 골칫거리가 되었으며, 그들의 인터넷 쇼핑, 거래 또는 업무 중단에 영향을 미쳤다. 간단한 고장이라도 회사의 최종선에 닿기 때문에 가동 중지 시간은 많은 엔지니어링 팀의 KPI 가 되었습니다. 20 17 년 동안 98% 의 기업이 1 시간의 가동 중지 시간이 65438+ 백만 달러 이상의 손실을 가져올 것이라고 밝혔습니다. 서비스 중단으로 인해 회사에 수백만 달러의 손실이 발생할 수 있습니다. 최근 영국 항공사 CEO 에 따르면 20 17 년 5 월 기술고장으로 수천 명의 승객이 공항에 체류해 8000 만 파운드의 피해를 입었다.
기업은 다음 사고가 발생할 때까지 기다리기에는 너무 늦었기 때문에 이러한 문제를 해결할 방법을 강구해야 한다. 그래서 카오스 공사가 생겨났다.
카오스 프로젝트는 장애를 싹트게 하는 것을 목표로 한다. 즉, 장애를 일으키기 전에 식별하도록 설계되었다. 사전 예방적 제조 실패를 통해 다양한 압력 하에서 시스템의 동작을 테스트하고, 고장 문제를 식별 및 복구하며, 심각한 결과를 피할 수 있습니다.
카오스 엔지니어링은 예상과 실제 발생을 비교하여' 의식적 파괴' 를 통해 시스템의 유연성을 높인다.
카오스 공학의 약사
카오스 엔지니어링은 대규모 분산 시스템을 갖춘 인터넷 거대 기업에 처음 등장했다. 이 시스템들은 너무 복잡하기 때문에, 그들은 그들을 테스트할 새로운 수단이 필요하다.
20 10 년
NetflixEngTools 팀이 ChaosMonkey 를 개발했습니다. 당시 사이버 비행은 물리적 인프라에서 AWS 로 이주했다. AWS 인스턴스의 고장이 네트워크 비행의 사용자 경험에 영향을 미치지 않도록 이 도구를 개발하여 시스템을 테스트했습니다.
20 1 1 년
SimianArmy 가 탄생했고 ChaosMonkey 를 기반으로 오류 주입 모드가 추가되어 더 많은 오류 시나리오를 테스트할 수 있습니다. 넷플릭스는 클라우드의 특징이 중복성과 내결함성이라고 생각하지만 100% 의 가용성을 보장할 수 있는 구성 요소는 없으므로 클라우드 아키텍처를 설계해야 합니다. 이 아키텍처에서는 개별 구성 요소의 고장이 전체 시스템에 영향을 미치지 않습니다.
20 12
사이버 비행은 GitHub 에 ChaosMonkey 를 공개하며 "중대한 의외의 고장에 대처할 수 있는 해결책을 찾았다" 고 주장했다. 지속적인 제조 실패를 통해 우리의 서비스는 더욱 유연해졌다. "
20 14
망비팀은 카오스 엔지니어라는 새로운 캐릭터를 만들었다. BruceWong 은 DanWoods 가 트위터에서 엔지니어링 커뮤니티로 홍보하는 역할을 발명했습니다. DanWoods 는 "KoltonAndrus 로부터 카오스 엔지니어링에 대해 더 많이 배웠는데, 그는 이를 고장 주입 테스트라고 불렀다" 고 설명했다.
20 14 10 Gremlin 의 공동 설립자인 KoltonAndrus 가 아직 인터넷을 날고있을 때, 그들은 SimianArmy 를 기반으로 오류 주입 테스트 (FIT) 라는 개념을 제시하여 개발자가 보다 유연하게 제어할 수 있도록 했다. SimianArmy 는 때때로 매우 심각한 고장을 일으킬 수 있기 때문에, 인터넷 개발자들은 이에 대해 의심을 품고 있으며, FIT 는 고장의 세분성을 더 잘 통제할 수 있기 때문에 혼돈공학의 개념을 제시했다.