회사에서 신입사원을 모집할때 회사의 장점중 하나로 마이크로서비스아키텍쳐를 구현하고 있다고 말하곤 했다. 고객이 보기엔 하나의 앱이고 웹사이트일 뿐이지만, 사실 수 많은 개별 서비스들이 톱니바퀴처럼 물려서 돌아가고 있다고, 시스템을 배포할때 전체를 배포하는것이 아니라 각 서비스를 이루고 있는 개별시스템들만 배포하면 되고, 그래서 장애가 나도 앱 전체가 다운되는것이 아니라 일부 기능에만 문제가 생긴다고... 하지만 정작 일을 하면서 알게 되었다. 처음에는 마이크로서비스를 지향하였지만 결국 개별시스템이 비대해지면서 모놀리식 시스템이 되어가고 있다는 걸 그리고 기술부채를 줄이기 위한 리팩토링이나 개선은 항상 다음에 여유가 생기면이란 핑계로 미루기가 일상이 되어갈 때 쯤 이 책과 조우하게 되었다. 이 책은 마이크로서비스의 실체에서부터 그 경계를 정하는 방법, 서비스의 모델링, 서비스들의 통합, 모놀리스 시스템의 분해, 배포, 테스트, 보안과 모니터링에 대한 우려에 이르기까지 상당히 넓은 주제를 다루고 있다. 개인적으로 좋았던 부분은 4장에선 요즘 많은 개발자들이 고민하는 동기/비동기에 대한 주제였던 것 같다. 항상 고민하고 있는 부분인데 책에서 다루어서 좋았다. 11장에선 요즘 면접의 단골주제인 대규모 서비스에 대한 캐쉬, 확장성, 서비스 인지 등에 대해서도 다루고 있는데, 최근 비동기 시스템의 클러스터링에 대한 업무를 하고 있다보니, 흥미롭게 읽혔던 것 같다. 간단하게라도 코드와 인프라스트럭쳐가 라이브되어 있는 샘플로 설명해주면 실질적으로 더 도움이 될텐데 그점은 조금 아쉬웠던 것 같다. 다음에는 좀 더 풍성한 실사례와 많이 수록된 개정판이 나오길 소망해본다. 새로운 언어나 라이브러리에 대한 책을 접할 기회는 많지만, 이렇게 아키텍처에 대해 고민하게 해주는 책은 드물었기에 가뭄에 단비를 맞은 것처럼 반가웠다. 이 책이 마이크로서비스의 구현/운영에 있어 모든 어려움과 고민을 해결해 줄 수는 없겠지만 우리가 맞닥뜨릴 함정들을 피해가는데 도움이 될것이다. |
'Book reviews > IT' 카테고리의 다른 글
[도서리뷰] 딥러닝 첫걸음(한빛미디어) (0) | 2017.02.09 |
---|
댓글