코딩 하는 가든

도서리뷰 - 마이크로 서비스 패턴 본문

도서 리뷰

도서리뷰 - 마이크로 서비스 패턴

가든리 2020. 4. 4. 12:30

마이크로 서비스 패턴

 

 운이 좋게도 길벗에서 진행하는 도서 리뷰 이벤트에 당첨되어 무료로 좋은 책을 읽을 수 있는 기회가 생기게 되었다.

 본인은 현재 학부 4학년 학생으로 1학기를 학점 인정 인턴으로 대체하여 스타트업에서 백엔드 개발 근무를 하고 있다. 사실 이 책을 선정하면서도 '내 수준에서 이런 책을 선택해도 될까?'라는 질문을 스스로에게 수도 없이 던졌다. 백엔드 근무를 하고 있으면서도 사실 서버 아키텍처 쪽에 대한 관심은 있지만 지식이 매우 부족하고 경험도 없기에 이벤트에 당첨되고 책을 읽기 전까지 두렵기도 했다. 하지만 다행히도 읽는데 큰 어려움은 없었으며 배울 점이 굉장히 많은 책이라고 느꼈다. 그래서 나 같은 '주니어'라는 타이틀을 달기도 민망한 찐새내기 개발자의 입장에서 어떠했는지를 리뷰해 보고자 한다.

 

대상 독자는?

 사실 이 책에서 말하는 대상 독자를 보면 '아키텍트', '최고 기술 책임자' 같은 사람들을 위한 책이라고 한다.(이래서 1장에서부터 겁을 먹었다.) 하지만 결론부터 말하자면 서버에 대한 적당한 관심이 있는, GoF의 디자인 패턴 등을 통해 아키텍처에 관심을 갖게 된 초보 개발자(혹은 그 이상)라면 누구나 읽을 수 있고 읽어야 하는 책인 것 같다. 대부분 학부 4학년 정도의 지식이면 충분히 알 수 있는 내용들(일부 제외)로 구성되어 있으며, 특히 백엔드 개발을 한 번쯤 접해본 사람이라면 무리 없이 읽을 수 있을 듯하다.

 

좋았던 점은?

 이 책은 실제 서비스를 사례로 모놀로식 아키텍쳐를 갖고 있던 서비스가 어떤 문제점을 겪었으며 어떻게 해결해 나가야 하는지를 친절하게 설명해준다. 각각의 마이크로 서비스 패턴 언어가 갖는 장, 단점과 적용하면 좋을 시점, 실제 코드를 통한 실습으로 각 패턴에 대한 이해를 돕기 위해 많은 노력을 했다. 실제로 본인이 현재 일하고 있는 회사의 서비스 또한 비록 사용자는 많지 않지만 과다 의욕으로 인해 비대해진 비지니스 로직을 모놀로식 아키텍처에서 관리하기가 굉장히 부담스러웠고 어떻게 개선해 나가야 할지 고민이 굉장히 고민을 많이 했다. 하지만 이 책을 읽고 난 후 개발 회의 때 서버 쪽 구조개선에 대한 이야기가 나오면 대충이나마 알아들을 정도의 지식을 갖게 된 것 같아 뿌듯하다.

 

 이 책의 재미있는 점은 어떤 구조에 대해서 설명하고 꼭 '이렇게 하면 안 된다'라는 식의 문제를 제시한다. 그리고 바로 다음 해결하기 어려울 것 같은 문제에 대한 명쾌한 해답을 내놓는다. 마치 1보 후퇴 2보 전진 같은 느낌으로 독자로 하여금 다음 내용에 대한 궁금증을 갖게 한다. 바로 그 패턴 언어에 대한 설명을 하는 것이 아니라 왜, 어떤 상황에서 그 패턴 언어를 적용해야 할지를 잘 설명해주고 있다.

 

아쉬웠던 점은?

 사실 딱히 크게 아쉬웠던 점은 없었지만 그래도 꼽아보자면 사실 소프트웨어 공학 및 디자인 패턴에 대해서 기본적으로 알고 있다는 전제로 책이 시작되는 것 같다. 사실 Common-Closure Principle(SOLID외에 객체 지향 설계 원칙은 몰랐다...) 같은 용어가 갑자기 튀어나오니 순간 당황했던 것 같다.(그래도 디자인 패턴 수업을 열심히 들어두길 잘했다. 대부분은 무리 없이 잘 읽혔기 때문...) 사실 앞부분엔 소프트웨어 공학적인 이야기가 많이 나오는데 이런 쪽에 각주라도 달려있었으면 어떨까 싶다. 물론 이건 아직 학부 4학년짜리의 감상평 이기 때문에 현직 개발자 분들에게는 해당되지 않는 이야기일 것 같기는 하다...