모놀리식과 마이크로서비스.
회사에 입사 지원을 하는 분들도 자주 쓰는 용어이고
현업에서도 자주 언급되는 단어입니다.
그런데 막상, 두 가지 단어의 의미를 정확히 설명하는게 쉽지 않고
각 아키텍쳐를 사용했을 때의 시스템 구조나
서비스의 상호 작용을 설계하는 것도 만만치 않습니다.
이것은 모놀리스인가 마이크로서비스인가.
MSA를 표방하여 만든 물건도
과연 제대로 마이크로서비스가 추구하는 방향으로
설계되고 구현되고 있는 것인지 모호하기도 합니다.
누구를 위한 책인가?
이 책은 이미 모놀리식 아키텍쳐를 사용하고 있는 엔지니어가
새로운 시스템을 설계하거나 재구축하는 과정에 있어
마이크로서비스를 도입하고자 하는 니즈가 있는 독자를 대상으로 합니다.
물론 그렇지 않은 독자들도 이 책을 읽는 것은 상관 없겠지만
책 전반에 걸쳐 던지고 있는 "WHY"를 잘 이해하고
마이크로서비스 아키텍쳐가 지향하는 바가 무엇이며
왜 그렇게 하는 것이 좋은지 이해하기 위해서는
모놀리식에 대한 경험이 있는 것이 훨씬 도움이 되기 때문입니다.
엔터프라이즈 사례 중심의 구성
이 책의 장점이기도 하고 단점이기도 한것은
책의 전반적인 내용이 엔터프라이즈 사례 중심이라는 점입니다.
물론 그렇지 않은 시스템을 예시로 드는 경우도 보이지만
책 전반에 걸쳐 어쩔 수 없이
필자의 많은 경험이 치중되어 있는 분야에 방점이 찍힌 것은
분명 이 책의 명확한 장점이기도 하고 단점이기도 합니다.
책의 주된 스토리가 모놀리식으로 구성된 시스템을
마이크로서비스의 어떤 특징들을 이해하고 받아들여
MSA 구조로 변경할 것인가를 다루고 있기 때문에
어찌보면 자연스러운 진행이기도 합니다.
다만 독자가 책을 읽으면서 기대하는 전개 방향과
다소 다를 수도 있는 부분이기 때문에
책을 읽기 전에 미리 염두해 두는 것이 좋겠습니다!
실무자를 위한 훌륭한 지침서
필자의 많은 경험이 녹아있는 책이다보니
마이크로서비스 아키텍쳐를 구현한다 하더라도
어떤 식으로 각 서비스들이 연관 관계를 맺는 것이 중요하고
또 그 사이에서 발생할 수 있는 문제점들을
어떻게 보완할 수 있는지에 대한 많은 이야기가 담겨 있습니다.
면접에서 늘상 질문하게 되는 것이
"모놀리식은 문제가 있는 아키텍쳐인가?"
"마이크로서비스 구조를 도입하면 언제나 좋은것인가?"
와 같은 질문들입니다.
재미있게도 "어느 구조가 무조건 좋은 것은 아니다"라는 담론은
모든 후보자들이 자신있게 이야기하지만
구체적으로 어떻게 그런것이냐에 대한 부분으로 넘어가면
의외로 훌륭한 답변이 나오는 경우가 잘 없기도 합니다.
각 아키텍쳐가 갖고 있는 장점이 명확하고
제대로 사용하지 못했을 때의 단점 또한 극명하지만
실제로 경험을 많이 해보지 못한 상태에서
피상적인 이해만 갖고 있기 때문이 아닌가라는 생각을 해봅니다.
무늬만 마이크로서비스인가?
모놀리식의 새로운 변형인가?
정답은 없습니다.
다만, 우리가 지향해야 하는 것은 명확합니다.
사용자들이 쾌적한 경험을 할 수 있는 서비스를 만들어야 하는 것이고
엔지니어들이 걱정 없이 만들고 운영할 수 있는 시스템을 구축해야 하는 것입니다.
구현과 함께 조금 더 상위 관점에서의 마이크로서비스도 이해하고 싶다면
한빛미디어에서 출간한 이 책을 읽어보시길 권해드립니다.
본 리뷰는 한빛미디어 "나는 리뷰어다" 활동을 통해
서적을 무상으로 제공받아 읽고 작성된 글입니다.
다만, 업계 종사자로서 객관적으로 책의 장단점을 파악하여
책을 구매하는 분께 도움이 될 수 있도록 리뷰를 작성했습니다.