hyeonsig notes

아주 오랜만에 도서 리뷰를 진행하게 되었습니다. 최근 바쁘다는 핑계로 책은 열심히 읽지만, 도서 리뷰 등을 작성하지 못했는데, 최근에 높은 관심을 보이는 Microservice 분야의 책이 출간되어 참여하게 되었습니다. 리뷰를 진행하기에 앞서 리뷰에 참여하게 도와주신 한빛미디어 관계자님께 감사의 말씀을 전합니다.


The Book INSIDE


[제목] 마이크로서비스 아키텍처 구축

[평점] ★★★★☆


[저자] 샘 뉴먼 저/정성권 역

[링크] 도서소개


한빛미디어 | 2017-03-01

340쪽 | 183*235*14mm | ISBN(13) : 9788968483417



샘 뉴먼

소트웍스 사에서 고객사의 사내 시스템을 설계하는 아키텍트로 일하고 있다. 여러 나라 여러 분야의 회사들과 협업하며 개발과 IT 운영 영역을 넘나들어 왔다. 그에게 어떤 일을 하는지 묻는다면 ‘사람들과 함께 더 나은 소프트웨어 시스템을 만드는 일을 합니다’라고 답할 것이다. 샘은 기사를 쓰고, 컨퍼런스에서 발표하며, 가끔 오픈 소스 프로젝트에 커밋하고 있다.


마이크로서비스란?

최근에 IT 업계에서 가장 빈번히 언급되는 단어 중 하나가 마이크로서비스(Microservices)입니다. 마이크로서비스는 무엇일까요? 마이크로서비스는 작고 자율적으로 협업하는 서비스를 의미하며, 일반적인 아키텍처 구조(설계 구조)뿐만 아니라, 구축 방식과 운영에 이르는 포괄적인 내용을 함축하고 있습니다.

마이크로서비스에 대해 더 자세한 내용을 알고 싶으신 분은 다음 링크의 글을 확인하시면 도움이 될 것입니다.


- Rahul Lanje: What is Microservice Architecture [링크]

- Shamik Mitra: Why Microservices? [링크]

- Hosang Jeon: 마이크로서비스 아키텍처. 그것이 뭣이 중헌디? [링크]


왜 마이크로서비스에 관심이 많을까?

최근에 마이크로서비스에 관한 관심이 증가하고 있는 이유는 무엇일까요? 마이크로서비스에 대한 여러 아티클을 읽어보면, 대표적으로 다음과 같은 이유로 마이크로서비스에 대한 관심이 증가하고 있음을 요약할 수 있습니다. 


- 클라우드 환경 도래

- 복잡한 비즈니스 로직

- 기존 모놀리틱 구조의 한계


이 외에도 여러 이유가 있겠지만, 마이크로서비스가 가진 장점이 현대의 개발 프로세스와 비즈니스 로직에 적합하게 적용할 수 있는 것도 하나의 이유가 될 것입니다. 


이 책에서 다루는 내용은?

필자는 평소에 책을 읽을 때, 머리말과 1장을 중요하게 생각합니다. 

머리말은 저자의 생각에 대해 이해할 수 있고, 책이 만들어지게 된 동기와 과정을 엿볼 수 있으며, 전체 구조를 개념적으로 파악할 수 있습니다[각주:1].  


일반적으로 1장에서 소개한 내용을 기반으로 전체적으로 책을 작성해 나갑니다만, 이 책은 1장과 2장의 내용을 조합하여 전체 구조를 소개합니다. 마이크로서비스에 대한 개념을 소개하는 1장과 아키텍트의 역할에 대해 설명하는 2장을 할애하는데, 이 두 장을 이용하여 <마이크로서비스 아키텍처 구축>의 전체 청사진을 그려냅니다.


<마이크로서비스 아키텍처 구축>은 마이크로서비스를 구축할 때, 기본적으로 지녀야 할 지식들을 소개합니다. 그 지식을 기반으로 기존 시스템 구조[각주:2]에서 마이크로서비스로 이전하는 과정을 설명하며, 저자가 마이크로서비스로 이전하면서 겪었던 다양한 사례를 추가하여 독자의 이해를 돕습니다[각주:3]


처음 시작할 때는 새로운 시스템을 모놀로식한 쪽으로 유지하라. 서비스 경계를 잘못 정하면 큰 비용이 들게 되므로 새로운 도메인 영역에 익숙해져서 안정화될 때까지 기다리는 것이 현명하다.


...


시스템을 마이크로서비스로 성급하게 분리하면 막대한 비용이 소요될 수 있다. 특히 도메인에 대한 경험이 없다면 더더욱 그렇다. 여러모로 기존 코드베이스를 마이크로서비스로 분해하는 것이 처음부터 마이크로서비스로 가는 것보다 훨씬 쉽다.


Building Microservices: Designing Fine-Grained Systems


<마이크로서비스 아키텍처 구축>에서 소개하는 내용은 매우 다양합니다. 하지만 이 세계의 기술은 매우 빠른 속도로 변하고, 하루에도 최신 논문들과 기술들이 소개되고 있습니다. <마이크로서비스 아키텍처 구축>에서 마이크로서비스를 만들어 나가는 데 필요한 세부적인 기술에 대한 설명[각주:4]과 구현 방법을 찾아볼 수는 없습니다. 


이 책에서는 특정 기술보다 마이크로서비스의 개념과 사상에 집중하려 노력했다. 그럼에도 불구하고 싶자는 여러분이 향후 몇 년 안에 마이크로서비스가 어디에 적합하고, 어떻게 잘 사용할 수 있는지에 대해 더 많이 배울 것으로 기대한다. 


...


만약 이 주제에 대해 더 많은 관심이 있다면 최고의 기술 수준을 유지하도록 수년간 지속적인 학습을 하라!


Building Microservices: Designing Fine-Grained Systems


마이크로서비스는 앞으로 발전해 나갈 것이고, 지금보다 훨씬 더 친근하게 우리와 함께 할 것입니다. 


<마이크로서비스 아키텍처 구축>은 필자처럼 아키텍트가 꿈인 사람들에게 좋은 지침서가 될 것입니다. 보유 기술이 늘어날수록 이 책을 통해 얻는 가치가 더 늘어날 것이고, 새로운 통찰력을 얻을 것을 의심치 않습니다. 매우 좋은 책과 함께 한 즐거운 시간이었던 것 같습니다. <마이크로서비스 아키텍처 구축>은 필자에게 두고두고 읽어야 할 양서로 남을 것 같습니다.


마치면서...

이 책은 마이크로서비스 아키텍처 설계를 위한 책이며, 소위 이야기하는 `따라 하기`식의 책이 아닙니다. 이 책은 여러 번 읽고, 관련 분야를 경험하고, 여러 번 복기하며 자신의 것으로 만들어 나가는 책입니다. 그래서인지 독자 등급도 중고급으로 되어 있네요.


필자가 개인적으로 진행하는 프로젝트에서 기존 모놀리틱 구조로 설계된 시스템을 마이크로서비스 구조로 변경하고 있습니다. 이 과정에서 많은 고민과 학습을 했었는데, <마이크로서비스 아키텍처 구축>에서 고민했던 내용의 모범답안과 필자가 놓쳤었던 부분을 비롯하여 기본적으로 학습해야 할 내용이 주제별로 정리[각주:5]되어 있습니다. 앞으로 학습해야 할 내용을 정리할 수 있었던 점도 매력적이었습니다.


<마이크로서비스 아키텍처 구축>은 저자가 마이크로서비스 아키텍처를 구축하며 얻은 지혜를 잘 녹여내고, 역자가 그것을 아주 매끄럽게 전달하는 책입니다. 저자가 발표한 내용을 공유하고 있는데, 다음 링크의 자료를 참조해서 마이크로서비스에 대해 학습하는 데 도움이 될 것 같습니다. 필자가 이 책을 조금 더 일찍 만났더라면, 조금 더 빨리 마이크로서비스와 친해졌을 것 같습니다.


마지막으로 다음 링크에서 마이크로서비스 아키텍처 구축이라는 내용으로 유용한 글을 연재하고 있습니다. 마이크로서비스에 관해 관심 있으신 분은 방문하여 꼭 읽어보세요.

  1. 1장은 책의 주제에 대한 개괄적인 설명들이 담겨 있습니다. [본문으로]
  2. 대표적인 구조가 모놀리식(Monolithic) 스타일입니다. [본문으로]
  3. 물론 이 분야에 대한 경험이 전혀 없으면, 이해하기 어려울 것 같습니다. [본문으로]
  4. 각 분야에 필요한 기술은 다양하게 소개하고 있습니다. 심지어 제가 처음 들어본 기술도 몇 가지 있었습니다. [본문으로]
  5. 이 책은 학습할 주제들을 소개하고 있습니다. 이 책만으로 MSA를 완벽히 이해하는 것은 불가능합니다. [본문으로]
신고
DISQUS 로드 중…
댓글 로드 중…

블로그 정보

hyeonsig notes - 천사마음

Carpe Diem~♥ 내일이 기대되는 사람이 되자.

최근에 게시된 글