"한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다."
소프트웨어 아키텍처라는 단어는 늘 거창하게 들린다. 경험 많은 시니어의 영역 같기도 하고, 막연히 나중에나 고민할 문제처럼 느껴지기도 한다. 이 책은 그런 거리감을 꽤 정직하게 좁혀 준다. 아키텍처를 특정 기술이나 유행하는 패턴의 집합이 아니라, 의사결정의 사고 체계로 풀어내기 때문이다.
이 책의 가장 큰 장점은 처음부터 끝까지 일관되게 흐르는 관점이다.아키텍처에는 정답이 없고, 모든 선택은 트레이드오프라는 전제. 성능을 얻으면 복잡성이 따라오고, 유연성을 얻으면 비용이나 안정성을 일부 포기해야 한다. 저자들은 이 사실을 숨기지 않는다. 오히려 가장 덜 나쁜 선택을 어떻게 판단할 것인지에 집중한다는 점이 인상적이다.

1부에서는 아키텍처적 사고, 모듈성, 아키텍처 특성 같은 기본 개념을 다룬다. 여기서 말하는 특성은 가용성, 확장성 같은 추상적인 단어에 그치지 않고, 어떻게 식별하고 우선순위를 매기며 측정할 것인지까지 이어진다. 아키텍처를 감각이나 경험의 영역이 아니라, 엔지니어링의 영역으로 끌어오는 느낌이다.
2부의 아키텍처 스타일 파트는 이 책의 중심이다. 계층형, 모듈형 모놀리스, 이벤트 주도, 마이크로서비스 등 흔히 들어본 구조들을 나열하는 데서 멈추지 않는다. 각 스타일마다 데이터 토폴로지, 팀 구조, 거버넌스, 클라우드 환경에서의 고려 사항을 함께 다룬다. 덕분에 이 구조가 왜 이 상황에 맞는지, 언제 부적합해지는지를 입체적으로 이해하게 된다. 유행처럼 소비되던 마이크로서비스를 한 발 떨어져서 보게 만드는 것도 이 책의 매력이다.
3부에서는 아키텍트의 현실적인 역할이 드러난다. 결정 기록, 리스크 분석, 도식화, 협상과 커뮤니케이션까지 포함된다. 아키텍트가 설계도만 그리는 사람이 아니라, 팀과 조직 사이에서 끊임없이 균형을 잡는 역할이라는 점이 분명해진다. 기술보다 사람이 더 어려운 문제라는 사실을 인정하는 부분도 인상 깊다.
2판에서 특히 반가운 점은 클라우드와 생성형 AI를 억지로 끼워 넣지 않았다는 것이다. 새로운 기술을 “적용해야 할 대상”이 아니라, 기존 아키텍처 사고의 연장선에서 어떻게 해석해야 하는지를 차분하게 설명한다. 덕분에 유행에 쉽게 휘둘리지 않는 책이라는 인상을 준다.
이 책은 아키텍트만을 위한 책은 아니다. 구조를 고민해야 하는 모든 개발자, 기술 부채와 조직 구조 사이에서 갈등해 본 경험이 있는 사람이라면 충분히 공감할 지점이 많다. 아키텍처를 배우기보다는, 아키텍처적으로 생각하는 법을 익히고 싶을 때 이 책은 꽤 든든한 기준점이 되어 줄 것으로 생각한다.