기존의 모놀리스 아키텍처 환경의 단점을 극복하고자 여러 아키텍처 방법론이 세상에 등장하였고, 지금은 마이크로서비스 아키텍처(이하 MSA)가 위용을 과시하고 있는 시대를 목도하고 있다. 클라우드 사용의 보편화와 함께 컨테이너 시대가 본격적으로 개막되었고, 클라우드 네이티브를 기반으로 하는 앱 현대화(Application Modernazation)가 대세가 되어감에 따라 MSA는 명실상부하게 하나의 주류로 자리잡았다.
그런데 MSA를 구축하는 과정은 지난하기만 하다. MSA에 대한 도입 타당성을 온전히 따지는 것부터 결코 쉽지 않은 문제이며, 그 이후에 어떤 식으로 어떤 과정을 거쳐 MSA를 구축해 나가야하는지에 대한 또 다른 문제를 마주하게 된다. MSA의 도입과 구축은 험난한 여정과 모험이며, 그렇기 때문에 첫삽을 잘못 뜨는 순간 지옥의 문이 열리게 될지모 도른다.
하지만 제대로 된 전문가가 하나부터 열까지 세세하게 MSA 구축의 모든 과정을 가이드해 준다면 어떨까? MSA의 개념부터 등장 배경 및 MSA를 도입해야 하는 이유와 MSA를 구축해 나가는 일련의 여정을 친절하게 코칭해 준다면 어떨까? 바로 오늘 소개하는 책이 바로 여러분의 MSA 여정에 든든한 길잡이가 되어줄 서적이다.
우선 이 책은 6년 만에 전면 개정되어 새롭게 출간된 서적이다. 국내에 MSA에 대한 논의가 활발하게 진행되기 이전에 초판이 발행되었었고, 당시 MSA와 관련된 서적이 드물던 시대에 새로운 기술에 대한 목마름을 해충실히 해갈해 주는 매개체였으리라. 이뿐만 아니라 개발자 세계에서 저명한 마틴 파울러가 극찬하며 품질을보장한 셈이니 MSA에 관심이 있는 독자라면 눈여겨보지 않을 수가 없다.
각설하고 본 서적은 3개의 파트와 16개의 챕터로 구성되어 있고, 보너스로 MSA와 관련된 핵심 용어집이 수록되어 있다. 첫 번째 파트에서는 MSA에 대한 기초를 학습할 수 있는 환경을 제공한다. MSA의 개념부터 모델링 방법, 모놀리스 아키텍처를 분해하는 전략 그리고 마이크로서비스가 통신하는 방식에 대한 세부적인 논의가 진행되며 MSA에 대한 기초 개념을 학습하고 이해하게 된다.
두 번재 파트에서는 MSA의 구현을 다루는데, 마이크로서비스의 통신 구현에 대한 세세한 가이드가 제공되고, 분산 데이터베이스 시스템에서 사용되는 2 Phase Commit 등 분산 트랜잭션의 개념을 접하게 된다. 이윽고 빌드와 배포, 테스트에 이르기까지 애플리케이션 배포 과정을 세밀하게 안내하고 옵저버빌리티로 불리는 관찰가능성에 대한 깊은 논의가 이뤄진다. 또한 흔히 비기능 요구 사항에 포함되는 속성인 보안과, 내결함성(회복 탄력성), 확장성 등에 대한 통찰을 통해 안전하고 강건한 시스템을 어떻게 설계하고 구축할 수 있는지 배우게 된다.
마지막 파트가 참 인상 깊었는데, 바로 사람을 다루는 주제로 내용이 구성되어 있기 때문이다. MSA를 구축하는 것도 사람이고, MSA를 사용하는 것도 사람이며, MSA를 통해 서비스를 제공받는 최종 대상도 바로 사람이기 때문에 사람을 MSA 논의의 장에 올려 두는 저자의 식견에 감명받지 않을 수 없었다. 사용자 인터페이스를 다루는 챕터에서 UI와 관련된 다양한 패턴에 대해 학습하게 되는데, 각각의 패턴이 제공하는 기능과 특징을 제대로 이해할 수 있었다. 조직 구조를 언급하는 챕터에서는 사람과 사람이 모인 집단에서 어떻게 하면 좀 더 효율적으로 공동의 목적과 목표를 달성할 수 있는지에 대해 다시 한 번 곱씹어 볼 수 있는 시간을 가질 수 있었다. 또한 마지막 챕터에서 훌륭한 아키텍트로서 어떻게 포지셔닝하고 올바르게 소프트웨어를 설계해야하는 지에 대한 인사이트를 얻을 수 있었다. 우리 모두가 아키텍트가 될 필요는 없지만 아키텍트의 마인드를 갖추고 일한다면 보다 더 나은 사람이 될 수 있지 않을까?
무려 700페이지에 가까운 이 책을 단숨에 읽어 나가는 것도 쉽지 않을 뿐더러, 한 번 읽고 온전히 소화하고 이해하기는 더더욱 어렵다. 하지만 오랫동안 곁에 두고 틈틈이 내용을 곱씹으며 반복해서 다독한다면, 1회독 했을 때 놓치거나 깨우치지 못했던 부분을 발견하게 되는 자신을 발견할 수 있으리라 생각한다. 이 책은 소장해서 옆에 오래오래 두고, 다회독을 할 만한 충분한 가치가 있는 서적이다. MSA에 대한 제대로 된 학습을 원한다면 이 책과 함께 시작하길 강력히 권장한다.
P.S 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
'책' 카테고리의 다른 글
도서 리뷰 : 진화적 아키텍처 (0) | 2023.09.24 |
---|---|
도서 리뷰 : 파이썬 크래시 코스 (0) | 2023.08.27 |
도서 리뷰 : 테라폼으로 시작하는 IaC (0) | 2023.06.25 |
도서 리뷰 : 데이터 품질의 비밀 (0) | 2023.05.28 |
도서 리뷰 : FastAPI를 사용한 파이썬 웹 개발 (0) | 2023.04.23 |