시스템 디자인 (System Design) 면접을 준비할 때, 단순히 글을 읽거나 아키텍처 (Architecture) 도표를 암기하는 것만으로는 실제 환경에서의 시스템 수용 능력을 검증하기 어렵습니다.
SystemForge라는 이 오픈소스 프로젝트는 브라우저에서 직접 아키텍처를 구축하고, 트래픽을 발생시키며, 점수를 받아보는 방식으로 시스템 디자인을 시뮬레이션할 수 있게 해줍니다.
35개의 인프라스트럭처 (Infrastructure) 컴포넌트를 제공하며, 캔버스에 드래그 앤 드롭하여 선으로 연결해 조립한 뒤, 초당 1K에서 50만 개의 요청량을 시뮬레이션하여 각 노드 (Node)의 부하와 병목 현상을 즉시 확인할 수 있습니다.
GitHub: https://t.co/T69uvmQsRA
URL 단축 서비스부터 Uber, Netflix에 이르기까지 35개의 클래식한 디자인 문제를 내장하고 있으며, 각 문제마다 참고 아키텍처, 용량 산정 (Capacity Estimation), 그리고 면접 가이드를 제공합니다.
또한 45분간 진행되는 시뮬레이션 면접 모드가 있어, 6단계로 나누어 시간이 진행되며 초록색, 노란색, 빨간색 표시로 페이스 조절을 도와줍니다.
채점 시스템은 실제 연결된 아키텍처를 검사합니다. 예를 들어 캐시 (Cache)를 배치했지만 연결하지 않았다면 점수에 반영되지 않습니다. 확장성 (Scalability), 가용성 (Availability), 지연 시간 (Latency), 비용 (Cost), 트레이드오프 (Trade-off)의 다섯 가지 차원에서 점수를 매깁니다.
실전 시스템 디자인 연습을 하고 싶지만 직접 해볼 곳이 없어 고민하던 분들에게 추천하며, 순수하게 브라우저에서 실행되므로 바로 사용할 수 있습니다.