본문 바로가기
Book & Link

[북리뷰] 마이크로 서비스 패턴

by BeGeek 2020. 4. 2.

오랫동안 실무에서 모놀리식 기반 서비스를 운영해오면서 여러가지 어려움들을 경험하였다. 배포 시점마다 다양한 개발 요건들을 한번에 빌드하다보니 요건 중 일부라도 잘못되면 전체 빌드가 깨지는 경우도 있었고, 요건 반영 후 테스트에도 많은 시간이 소요되었다.  변경영향분석툴과 코드인스펙툴로 점검을 마친후에도 여전히 두려움이 남아있어 배포 때 마다 긴장해야했다. 그리고 대량의 트래픽이 발생하는 프로모션이라도 진행되는 경우 프로모션 이외의 핵심 기능들까지 영향을 받을까 우려하는 등 거대한 모놀리식 기반 서비스를 운영하는 다수의 개발자들이 겪는 대부분의 일들을 반복하면서 어떻게하면 기능들을 잘게 분해하여 서로 영향을 적게 받으며, 필요할때 빠르게 배포 가능하게 할지는 나의 주요 관심사였다.

그런가운데 몇 해 전부터 MSA 아키텍쳐가 각광 받으면서 자연스레 관심을 가지고 공부하게 되었다. 사내 교육을 수강하고, 실습코드를 찾아보면서 MSA의 맛을 보았고, 지식을 체계적으로 정리하고 싶은 마음에 책을 찾던 중 '스프링 마이크로서비스 코딩 공작소'(존 카넬 저/ 정성권 역 | 길벗) 책을 접했다.

책이 많이 두껍지 않지만 MSA를 익히는데 꼭 필요한 정보들이 가득한 이 책을 보며 연신 감탄하며 익혔다. 책을 읽고 실습을 하며, 용어와 관련 라이브러리들을 써보다보니 마치 MSA를 원래 잘 알고있었던것 처럼 익숙해진 느낌마저 들었다.

그런데....

막상 현실에서 내가 운영하고있는 모놀리식 기반 서비스를 MSA로 바꾼다면 어떻게 해야할지를 생각해보니 선뜻 방법이 떠오르지 않았다. 무엇때문이었을까 생각해보니 지금까지 익혀온 MSA 지식은 처음부터 서비스를 MSA에 적합한 형태로 개발하고 배포하기 위해 필요한 지식이었다는걸 알게 되었다.

현실은 아예 새로운 서비스를 새롭게 맡아 MSA구조로 만들어 볼 수 있는 기회보다는, 기존 서비스를 효율적으로 개선해야하는 경우가 더 많았기 때문이었고 이를 위해서는 어떻게 기존 서비스를 분석하고 나누고, MSA 구조로 바꾸는지에 대한 지식이 필요했던것이다.

아직은 이렇게 MSA아키텍쳐로 기존 서비스를 전환해본 사람이 주변에 많지도 않을뿐더러 참고 할만한 자료도 풍부한편은 아니라 답답하던차에... 나의이런 목마름에 화답이라도 하듯 책 한권이 나오게 되었다.

그 책은 바로 '마이크로 서비스 패턴' !! 책표지에 "모놀리식 지옥에서 벗어나자!" 라는 문구가 마치 나에게 하는 말처럼 다가왔다. (아...내가 지옥에 있었던 거였구나;;;)

이 책은 MSA 지식을 나열하는데 그치는게 아니라 FTGO라는 모놀리식 서비스를 MSA로 전환하는데 필요한 과정을 자세하게 설명해 주었다. 어떻게 하면 모놀리식 서비스를 잘 분해하고 서로 잘 통신하며, 트랜잭션을 관리할지 차근 차근 다뤘다. 그리고 MSA 구조로 전환되면 여러 기능들 간에 테스트를 어떻게 할지 막막했는데, MSA 기반 서비스의 테스트를 어떻게 할 수 있는지를 짚어 주었고, 실제 운영환경에서 쓰기전에 필수적인 보안과 헬스 체크, 배포에 관한 부분도 빠짐 없이 다루었다.

단순한 지식의 나열이 아니라 이미 모놀리식 서비스를 MSA로 수없이 바꾸면서 저자가 겪었을 수많은 문제들을 해결한 값진 경험들을 패턴화하여 체계적으로 전달하고, 실제 구동 가능한 예제를 따라하며 익히는 공부를 통해 이제야 비로소 내가 운영하는 모놀리식 기반 서비스를 MSA 구조로 바꿔볼 수 있을것 같다는 자신감이 생긴것 같다.

'마이크로 서비스 패턴'!! 나와 같은 고민을 하고있는 분들에게 강력 추천한다!!

 

 

 

'Book & Link' 카테고리의 다른 글

15단계로 배우는 도커와 쿠버네티스  (0) 2020.10.16
스프링 인 액션 5th Edition  (0) 2020.05.07
고양이도 할 수 있는 Vue.js  (0) 2020.02.19
압축공부  (0) 2020.02.18
딥러닝 인 더 브라우져  (0) 2020.02.18

댓글