1장. 복잡한 시스템과의 만남
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
이 장의 첫 번째 부분( )에서는 복잡한 시스템을 다룰 때 발생하는 문제를 살펴봅니다. 카오스 엔지니어링은 복잡한 분산 소프트웨어 시스템에서 필요성에 의해 탄생했습니다. 카오스 엔지니어링은 특히 복잡한 시스템 운영의 필요성, 즉 이러한 시스템이 비선형적이어서 예측이 불가능하고 결과적으로 바람직하지 않은 결과를 초래한다는 점을 해결합니다. 불확실성을 극복할 수 있다고 생각하기 때문에 엔지니어로서 이러한 상황은 종종 불편할 수 있습니다. 우리는 종종 이러한 바람직하지 않은 행동을 시스템을 구축하고 운영하는 사람들의 탓으로 돌리고 싶은 유혹을 받지만, 사실 돌발 상황은 복잡한 시스템의 자연스러운 속성입니다. 이 장의 후반부에서는 시스템에서 복잡성을 제거할 수 있는지, 그리고 그렇게 함으로써 바람직하지 않은 행동도 제거할 수 있는지 살펴봅니다. (스포일러: 아니요, 불가능합니다.)
복잡성 고려하기
카오스 엔지니어링이 시스템에 적합한지 결정하기 전에 단순과 복잡의 경계선을 어디로 잡아야 하는지 이해해야 합니다. 시스템을 특성화하는 한 가지 방법은 시스템에 대한 입력의 변화가 출력의 변화에 대응하는 방식입니다. 단순한 시스템은 종종 선형 시스템으로 설명됩니다. 선형 시스템의 입력에 변화가 생기면 시스템의 출력에도 그에 상응하는 변화가 생깁니다. 많은 자연 현상은 우리에게 친숙한 선형 시스템으로 구성됩니다. 공을 세게 던질수록 공은 더 멀리 갑니다.
비선형 시스템 은 구성 요소의 변경에 따라 출력이 크게 달라집니다. 불스윕 효과는 시스템 사고의 한 예입니다.1 이 상호작용을 시각적으로 포착한 예입니다. 손목을 튕기면(시스템 입력의 작은 변화) 채찍의 먼 쪽 끝이 음속을 깨고 채찍의 특징인 갈라지는 소리를 낼 수 있을 만큼 충분한 거리를 커버하게 됩니다(시스템 출력의 큰 변화).
비선형 효과는 다양한 형태로 나타날 수 있습니다. 시스템 부품을 변경하면 규모가 클 때보다 작을 때 더 빠르게 성장하는 소셜 네트워크처럼 기하급수적인 출력 변화를 일으키거나, 마른 막대기에 힘을 가하면 갑자기 부러질 때까지 움직이지 않는 것처럼 출력에 양자적인 변화를 일으키거나, 어느 날 운동하는 동안 누군가에게 영감을 주지만 다음 날 지루하게 만드는 경쾌한 노래처럼 겉보기에는 무작위로 출력되는 것처럼 보일 수도 있죠.
선형 시스템은 비선형 시스템보다 분명히 예측하기가 더 쉽습니다. 특히 부품 중 하나와 상호 작용하고 선형 출력을 경험한 후에는 선형 시스템의 출력을 비교적 쉽게 직관할 수 있습니다. 이러한 이유로 선형 시스템은 단순한 시스템이라고 말할 수 있습니다. 이와 대조적으로 비선형 시스템은 특히 여러 개의 비선형 부품이 공존할 때 예측할 수 없는 동작을 보입니다. 비선형 부품이 겹치면 시스템 출력이 어느 지점까지 증가하다가 갑자기 방향을 바꾸거나 갑자기 완전히 멈출 수 있습니다. 우리는 이러한 비선형 ...