한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.


배경
내가 웹 개발을 본격적으로 배우기 시작했을 무렵에는 이미 클라우드 기반의 워크플로가 표준이었다. 특정 플랫폼에서 자원을 할당받고, 터미널로 접속하여 웹 서버를 구동했다. 방화벽과 공유기 설정으로 로컬 서버를 개방하는 방법을 안 것은 그로부터 좀 시간이 지난 후였다. 생각해보면 클라우드 환경은 내게 '당연히 그래야만 하는 것' 정도로 받아들여졌던 것 같다. 그 이전과는 어떻게 다른지, 그래서 보다 클라우드 환경에 적합한 구조는 무엇인지 생각해본 적이 없었다. 다들 AWS 쓰니까, Docker 쓰니까, Kafka 쓰니까. 마이크로서비스나 이벤트 기반, 도메인 기반 아키텍처도 마찬가지다. 별 생각 없이 막연히 좋아보인다고만 생각했던 것 같다.
첫 인상: 친절하다
다루는 내용을 논하기 전에, 일단 기본적으로 이 책은 친절하다. 해결책을 패턴화해서 잘 정리해둔 것도 그렇고, 또 각 패턴에 대한 설명에 도식을 활용하여 구조적으로 이해하기 좋았다. 책, 논문 등을 통해 이미 유명한 내용들을 잘 정리했고, 그에 대한 인용이나 링크도 많아 깊게 파고들기 좋았다. 패턴으로 구성된 책들은 대게 사이 연결성이 부족해서 순서대로 읽는 것이 의미가 없는 경우도 있는데, 이 책은 일종의 기초-응용-심화의 느낌으로 각 장을 진행해서 책장을 차례대로 넘길 때 얻는 것이 더 많았다.


내용: 설계 교과서
'설계 교과서'라고 표현한 이유는, 이 책이 개발이 아닌 설계에 집중하고, 저자의 개인적인 노하우보다 업계 전반에 잘 알려진 유명한 내용을 잘 종합했기 때문이다. 보통 주제를 넓게 커버하는 책들은 난해한 내용에 대해 설명이 빈약한 경우가 있는데, 적어도 나는 그런 느낌은 받지 못했다. 가령, 도메인과 관련한 내용은 보통 책 한 권의 분량으로 다룬다. 그 한 권에서도 대부분 자신의 도메인에 대한 직접적인 사례는 얻지 못하는데, 때문에 난 읽고 직접 자신의 경우에 활용할 수 있을 정도의 충분한 설명이 있는가를 중요하게 봤다. 그리고 이 책은 내 기준에는 합격했다.



반드시 알아야 하는 내용들로 꾹꾹 담은 이 책은 입문자부터 중급자까지 실무를 위해 직접 활용할 수 있는 수준의 풍부한 설명을 제공한다. 그러나 기본적으로 신선한 내용과는 거리가 있다는 것을 알아둘 필요가 있다. (물론 흐름을 놓친 누군가에게는 새로운 것들이겠지만) 적어도 나는 이 책을 읽으면서 IDEALS라는 개념은 새롭게 알게 되었다. 이는 객체 지향 원칙의 SOLID와 유사한 느낌으로, 2020년 발표된 마이크로서비스 설계 원칙이고, 이 책의 전반에 걸쳐 언급되는 유용한 개념이다.


Principles for Microservice Design: Think IDEALS, Rather than SOLID
For object-oriented design we follow the SOLID principles. For microservice design we propose developers follow the “IDEALS”: interface segregation, deployability (is on you), event-driven, availability over consistency, loose-coupling, and single resp
www.infoq.com
후기: 현대화가 낯설다면
'현대화'라는 단어. 막상 사용하고보니 좀 폭력적인 것 같다. 이러한 흐름에 동참하지 않으면 구닥다리 뒷방 노인네처럼 도태되어 버리는 건 아닌가 싶은 상상이 든다. 그러나 사실 책을 읽어보면 이 책은 변화를 절대 강제하지 않는다. 전통적인 구조부터 현대의 구조까지, 모든 것에는 주어진 환경에서 최선을 다한 이들의 서사가 녹아있다. 저자는 서로 다른 방법론 간에 우열을 가리지 않고, 진지하게 마주하며 장단점을 논한다. 전통적 구조의 서비스를 현대적으로 개편하기 위한 방법을 2개의 장에 걸쳐 제시하니, 우리 엔지니어들은 각자의 상황에 맞게 결정하면 된다. 필요하면 가져다 쓰는 것, 그 뿐이다.
70여개의 설계 패턴을 보며 느낀 것은, 객체 지향 언어의 디자인 패턴과 유사하게, 결국 정의된 역할을 어떻게 추상화하냐가 관건인 것 같다. 다만, 개발보다 설계 수준에서의 변경은 비용이 비싸다는 점이 차이인 것 같고, 때문에 이렇게 정형화된 방식을 익혀놓는 것이 더 의미있게 다가왔다. 클라우드가 바꾼 생태계의 모습이 낯선 이들에게 이 책은 앞으로의 개발 방향성을 올바르게 잡아나가는 데 큰 도움이 될 것이라 생각한다.
클라우드 애플리케이션 아키텍처 패턴
이 책은 IBM 펠로를 포함한 수십 년 경력의 아키텍처 전문가들이 정립한 70여 개의 패턴을 통해 클라우드 환경에 최적화된 애플리케이션을 설계하고 구축하는 방법을 소개한다.
www.hanbit.co.kr
'Insight > 서평' 카테고리의 다른 글
| [에이전트 시대의 AI 시스템 설계] LLM으로 사칙연산 하기 (0) | 2026.05.24 |
|---|---|
| [이것이 Spring AI다] Spring, 백엔드 프레임워크 아니었어? (1) | 2026.03.30 |
| [데이터 엔지니어링 디자인 패턴] 경량 ETL 실습 후기 (1) | 2026.03.03 |
| [서평] 스프링 부트 개발자 온보딩 가이드 (0) | 2025.12.23 |
| [서평] 0과 1 사이 (원제: Binary Hacks Rebooted) (0) | 2025.11.27 |