14장. 시스템 모델링
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
전략 테스트의 개념을 배우는 것은 늦었지만, 시스템 모델링에 대해서는 도넬라 메도우스의 『시스템에서 생각하기』를 우연히 접하면서 너무 일찍 배웠을지도 모릅니다: 시스템에서의 사고: 입문서 (첼시 그린, 2008)를 읽고 나서야 이 기법을 적용할 수 있는 명확한 문제가 생겼습니다. 다행히도 소프트웨어 경력을 시작하면서 그 교훈을 기억했고, 시간이 지나면서 시스템 모델링을 사용하는 여러 가지 방법을 발견했습니다. 시스템 모델링이 완벽하지는 않지만 복잡한 문제를 디버깅하는 데 가장 효과적이고 유연한 도구로 남아 있습니다.
이 장에서는 시스템 모델링의 기본 사항에 대한 2분짜리 입문서로 시작한 다음, 이 책 전체에서 논의한 전략을 구체화하기 위해 만든 여러 시스템 모델의 예제를 통해 이러한 접근 방식을 구현하는 방법을 다룹니다. 더 깊은 탐구를 원하는 분들을 위한 리소스로 마무리합니다. 다루겠습니다:
-
시스템 모델링이 적합한 기술인 경우(또는 그렇지 않은 경우)
-
툴링
-
시스템 모델을 구축하는 방법
-
시스템 모델에서 배운 내용을 문서화하고 전달하는 방법
-
시스템 모델링으로 할 수 있는 일과 할 수 없는 일
이 장에서 시스템 모델링에 대한 개요를 살펴본 후에는 이 책 전체에서 전략을 구체화하기 위해 만들어진 여러 시스템 모델에서 구현된 접근 방식을 살펴볼 수 있습니다. 시스템 모델링의 이론은 분명 흥미롭지만 구체적인 엔지니어링 전략을 지원하는 실제 모델을 보는 것이 훨씬 더 유용할 것입니다.
2분짜리 입문서
시스템 사고에 대한 탁월한 입문서를 원하신다면 Thinking in Systems보다 더 좋은 곳은 없습니다. 더 짧지만 더 나은 입문서를 원하신다면 제 에세이 "시스템적 사고 입문"을 참조하세요. 이 에세이는 제 저서 "우아한 퍼즐: 엔지니어링 관리의 시스템 "(Stripe Press, 2019)에도 수록되어 있습니다.
더 짧은 내용을 원하신다면 그림 14-1이 제가 할 수 있는 가장 간략한 요약입니다.
그림 14-1. 사용자, 로드밸런서, 서버 간의 요청 성공 및 실패 사례
시스템 모델링에서는 누적될 수 있는 모든 것을 스톡이라고 합니다. 예를 들어 그림 14-1에 표시된 시스템 모델에서 각 상자(요청, 서버 등)는 스톡을 나타냅니다. 스톡에 대한 변경을 플로우라고 합니다. 스톡 사이의 모든 화살표(예: "확인" 또는 "서버에 오류 발생")는 플로우를 나타냅니다.
시스템 모델링은 다양한 주식 및 흐름 구성을 사용하여 측정으로는 예상치 못하거나 너무 느려서 이해하기 어려운 상황과 동작을 이해하는 작업입니다. 예를 들어, 그림 14-2와 같이 이 모델을 사용하여 배후에 있는 부하 민감 서비스에 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access