platanu***
2025-12-28

막막했던 아키텍처가 쉬워지는 실무 지침서. 생성형 AI, 클라우드에 맞춰 새롭게 돌아오다
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
초판의 탄탄한 기초 위에 AI 시대의 아키텍처 고려사항과 클라우드 비용분석, 모듈형 모놀리스, 팀 토폴로지가 추가되어 현행화를 이뤄낸 2판이다.
이 책의 핵심 통찰은 '모든 전략적 결정에는 트레이드오프가 따른다'는 것이다. 설계와 아키텍처의 모호한 경계를 스펙트럼으로 접근한다. 집의 구조를 정의하는 것은 아키텍처고, 바닥이 카펫인지 원목인지는 설계라는 비유가 직관적이다. 마이크로서비스 선택은 아키텍처 쪽이고 UI 프레임워크 선택은 설계에 가깝지만, 대부분의 결정은 그 사이 어딘가에 위치한다.
특히 5장의 '아키텍처 특성 워크시트'는 실무에서 바로 쓸 수 있는 도구다. 이해관계자들에게 필요한 특성을 물으면 늘 "전부 다"라는 답이 돌아온다. 워크시트는 최대 7개로 목록을 강제로 제한하고, 최종적으로 가장 중요한 3가지로 합의하라고 조언한다. 범용 아키텍처를 만들려는 욕망을 경계하고 정말 중요한 것에 집중하게 만드는 장치다.
Part2는 다양한 아키텍처 스타일을 일관된 형식으로 정리한다. 계층형, 파이프라인, 마이크로커널, 서비스 기반, 이벤트 주도, 공간 기반, 마이크로서비스까지 각 스타일의 토폴로지, 데이터 구조, 클라우드 고려사항, 그리고 언제 사용하고 피해야 하는지 명확히 제시한다.
초판 이후 DDD가 널리 채택되며 모듈형 모놀리스가 큰 인기를 끌어 2판에 새로 추가됐다. 모놀리스이지만 도메인 분할 방식을 따른다. 다만 시스템이 너무 커지거나 코드 재사용이 과도해지면 비정형 모놀리스로 전락할 위험이 있다. 도메인을 처음부터 잘 정의하는 것이 핵심이다.
마이크로서비스는 '무공유' 철학을 따른다. 재사용을 제한하고 필요하면 중복을 허용한다. 트레이드오프의 전형적인 사례다. 저자들은 "서비스 간 트랜잭션을 원한다면 '하지 마세요!'"라고 단호하게 말한다. 서비스 경계를 넘나드는 트랜잭션이 빈번하다면 마이크로서비스가 올바른 선택이 아닐 가능성이 높다.
19장은 스타일 선택 방법을 다룬다. 대부분의 문제 도메인은 거의 모든 범용 스타일로 구현 가능하다. 차별점은 어떤 특성들을 얼마나 잘 지원하느냐에 있다. 최종 결정은 세 가지 질문으로 정리된다. 모놀리스냐 분산이냐, 데이터는 어디에 둘 것인가, 통신은 동기적인가 비동기인가.
24장은 팀과 아키텍트의 역할을 다룬다. 전통적인 단방향 모델에서는 아키텍처 목표가 거의 달성되지 않는다. 강력한 양방향 협업이 필요하다. Part2의 모든 장에는 팀 토폴로지 고려사항이 추가되어 각 아키텍처 스타일과 팀 구성의 궁합을 구체적으로 설명한다.
완벽한 아키텍처는 없다. 중요한 것은 무엇을 얻고 무엇을 포기하는지 명확히 이해하고 설명할 수 있는가다. 이 책은 변하지 않는 원칙과 변화에 대응하는 방법을 동시에 제시한다. 소프트웨어 아키텍트로 성장하고 싶다면, 그리고 설계와 아키텍처 사이의 모호한 경계에서 방향을 잡고 싶다면, 이 책은 여전히 가장 믿음직한 나침반이다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."