본문 바로가기

카테고리 없음

[한빛미디어 - 나는 리뷰어다] 처음 시작하는 마이크로서비스 리뷰

마이크로 서비스를 시작하기 위한 첫번째 이정표 같은 책

 

한빛미디어로부터 서펑 리뷰를 수락하였을 때 마이크로 서비스에 대한 관심이 높아져 이 책을 신청하게 되었다.

아시다시피 요즘 추세는 모놀리식으로 하나의 큰 프로젝트를 유지보수하는 것이 아닌 모듈로써 구성된 어떠한 집합체로 큰 프로젝트를 구성하는 것이 트렌드화 되어있다.

본인도 사실은 "마이크로 서비스에 정확히 알지 못하고 그렇게 구현하는 것이 좋을 것이다" 라고만 인지하고, 시간에 쫒겨 실행에 옮기지 않았다. (사실 모놀리식에서 마이크로서비스로 이전하는 과정이 매우 힘들기 때문에 안하는 것이 더 크다.)

그래서 이번에 마이크로 서비스가 원하는 것이 무엇이고 이러한 과정이 왜 나오게 되었는지에 대한 간략한 이론을 살펴보기 위하여 이 책을 선정하여 서평 리뷰를 진행하게 되었다.

처음 책을 받았을 때 얇아서 생각보다 읽기 수월하였다. 약간 마이크로 서비스에 관심이 있는 사람이라면 잘 읽힐 것이다.

마이크로 서비스는 기존의 모놀리식 서비스와는 다르게 각각의 도메인들이 하나의 프로젝트에 있지 않고 별개의 프로젝트로 쪼개어져 서로간의 통신하여 이루어지는 프로젝트 구조를 의미한다. 이 책은 마이크로 서비스에 하나부터 열까지 다 알려주지 않는다. 또한 예제 또한 이 얇은 책에 많이 넣기에는 매우 한정적이다. 따라서 책 구조 전체가 마이크로 서비스가 무엇인지, 마이크로 서비스를 운영하기 위해서 어떠한 점을 유의해야 하는지 같은 정보들이 주를 이룬다.

물론 예제코드가 완전히 없는 것은 아니고 아주 간단하게 AWS에 마이크로 서비스를 구축하기 위한 코드 블럭이 존재한다.

마이크로 서비스라는 개념을 알지 못하는 사람도 기존의 마이크로 서비스로 구현된 프로젝트를 맡아서 수행하지 않은 사람이라면 모놀리식과 비교하여 마이크로 서비스가 어떠한 구조인지 알아갈 수 있게 해준다.

기본적으로 마이크로 서비스는 도메인(모듈)간의 통신을 이루어내어 큰 프로젝트를 구성하게 된다. 이러한 것들을 도표로  잘 설명해주고 있어 이해하기 좋다.

마이크로 서비스는 어떻게 구현이 되어야 하는지, 그리고 어떠한 예제에서 활용될 수 있는지에 대해서 코드는 아니지만 구어체로 설명하여 마이크로 서비스가 이루고자 하는 바가 무엇인지 깨달을 수 있을 것이다.

이러한 UML은 남에게 프로젝트 구조를 설명할 때 매우 유용하다. 마이크로 서비스는 통신에러, 모듈에러와 같은 상황에 대해서 항상 철저하게 대비를 하여야만 마이크로 서비스의 진가를 누릴 수 있다. 따라서 마이크로 서비스를 운영하게 된다면 위와 같은 UML은 항상 가지고 있어야 할 것이다.

굉장히 얇은 책이였다. 또한 마이크로 서비스를 잘 알지 못하는 나에게도 마이크로 서비스가 이루고자 하는 바가 무엇인지는 대충 알 수 있게 되었다. 이 책을 읽다보니 모든 서비스가 사실 마이크로 서비스로 운영되는 것은 지나친 리소스 낭비일 것이라 생각한다. 기존의 모놀리식과는 다르게 에러와 같은 상황에 대해서는 에러처리가 카오스 상태가 되버릴 수 있기 때문에 이러한 작업이 매우 큰 비용으로 작용할 것이다. 

마이크로 서비스에 대해서 관심이 있거나 마이크로 서비스로 전환하려고 관심이 있는 사람은 한번쯤 읽어 볼만 할 것이다.