책 리뷰: <도메인 주도 설계로 시작하는 마이크로서비스 개발>

김동균·2022년 12월 10일
0

책 리뷰

목록 보기
3/5

가상 면접 사례로 배우는 대규모 시스템 설계 기초 에 이어 대규모 시스템 설계 역량 향상을 위해 MSA, DDD에 입문하기 위한 용도로 이 도서를 선택하였다.

책에서 말하기를, 기업이 살아남기 위해서는 Business Agility 가 필요하다고 한다.
기능 조직이 가지는 워터폴한 개발 방식과 Monolithic한 아키텍처로는 비즈니스의 변화에 빠르게 대응하기 어렵다.
Business Agility를 달성하기 위한 방법으로 마이크로서비스 아키텍처(이하 MSA)를 소개하고, MSA를 성공적으로 적용하기 위해 필요한 클라우드 인프라, 아키텍처, 개발 프로세스, 설계 기법 등을 다루고 있다.

아키텍처 영역에서는 느슨하게 결합된 유연한 아키텍처를 추구하기까지의 히스토리와 이를 구현하기 위해 필요한 패턴을 다룬다.
책에서는 마이크로서비스 아키텍처를 외부/내부로 구분하는데, 외부는 인프라, 내부는 애플리케이션 레벨에서의 아키텍처를 의미한다.
특히 백엔드 개발자의 영역인 내부 아키텍처를 구현하기 위한 이벤트 기반 아키텍처를 상세히 서술한다.

개발 프로세스 영역에서는 여러 개발 방법론들과 현재 가장 많이 사용되는 애자일 개발 프로세스에서의 마이크로서비스를 설계 및 개발하는 공정에 대해 서술한다.

설계 영역에서는 도메인 주도 설계를 기반으로 마이크로서비스를 도메인 중심으로 식별하고, 서비스 내부의 도메인 모델을 설계하는 방법에 대해 서술한다.
애플리케이션의 주 목적은 비즈니스 문제의 해결이라 할 수 있는데, 비즈니스의 변화가 자주 일어나는 현 시대에서 비즈니스 복잡성을 통제할 수단으로 도메인 중심의 설계는 적합한 방법이다.
따라서 현 시대의 훌륭한 개발자란, 도메인의 복잡성을 이해하고 도메인 모델을 애플리케이션에 뛰어난 표현력으로 옮길 수 있는 개발자라고 생각을 한다.

단순 기술 요소에 치중한 것이 아닌 소프트웨어의 진화 과정에 근거하여 왜 이런 기술이 필요하게 됐는지, 왜 이런 개념이 생겨난 것인지 잘 설명해주어 MSA, DDD에 입문하기에 훌륭한 책이었다.

'소프트웨어 분야는 매우 빠르게 변화하기 때문에 세부 기술 영역에만 집중하면 그 변화의 본질을 파악하기 힘들다. 개별 지식을 아는 것에 앞서 변화 흐름을 이해하기위해 노력해야 한다. 왜 변화가 필요하게 됐는지, 어떤 방향으로 나아가는지 변화 흐름을 이해하면 개별 지식은 쉽게 파악할 수 있다.'

profile
백엔드 개발자

0개의 댓글