본문 바로가기

소프트웨어,IT,컴퓨터공학 도서리뷰/마이크로서비스 아키텍처(MSA)

마이크로서비스 아키텍처 -샘뉴먼-[2015 원작 2017년 번역작] [MSA] [2021리뷰]

이 책만큼 MSA를 깔끔하게 정리해준 책이 없다.



엄청나게 밀려오는 지식들...

 

추천도 : 5점(MSA와 관련이 없다면..) 7점(MSA와 관련이 있다면..)

★★★★★☆☆ ~ ★★★★★★★

 

읽은 기간 📅 : 2021년 3월 9일 ~ 2021년 6월 14일. [길었다... ]

 

이 책을 추천하는 이들 👨‍👧

- MSA를 향하는 이들

- 소프트웨어 아키텍트

- 비즈니스 애플리케이션 개발자들

 

난이도 🦈

중상

 

관련된 책들 📚

  1. 비즈니스 애플리케이션 관련 책
  2. 소프트웨어 아키텍처 책

 

한 줄 평 ✍️

한 번으로 읽기엔 너무도 많은 지식이 담겨있는 책이다.


집중화 vs 분산화

 

어딜 가나 이슈다. 작은 자율성이 좋은 것인지, 꼼꼼하게 중앙집중적으로 관리되는 것이 좋은 것인지.

 

크게는 국가적인 정치 모델에서 작게는 디자인에 이르기까지

 

매크로와 마이크로는 곳곳에서 싸우고 있다.

 

매크로의 장점은 모든 것을 관리라는 범주안에서 운영할 수 있다.

 

마이크로의 장점은 모든 것을 관리 하는 범주에서 벗어날 수 있다. 

 

마이크로로 향하는 세상은 부정한다고 바꿀 수 있는 게 아니다.

 

기술은 마이크로 한 서비스가 가능하도록 미친 듯이 발전하고 있으니 말이다.

 

세상을 봐도 그렇다.

 

개인 맞춤형 신발, 개인 맞춤형 가구, 개인 맞춤형 자동차, 개인 맞춤형 의료 서비스 등등

 

이제는 영상 콘텐츠도 개인이 제작해준다. 

 

만화 컨텐츠도 마음만 먹으면 누군가의 스토리나 가이드라인 없이 웹툰으로 만들 수 있다.

 

기술이 뒷받침해주기 때문이고, 학습이 쉽기 때문이다.

 

마이크로 서비스 아키텍처도 그렇다.

 

누가 DB, 네트워크, 서비스 개발, 조직과 함께하는 성장, 테스팅, 리팩터링, 보안 이 모든 것을 아우르면서 서비스를 개발할 것이라고 생각했을까.

 

10년 전만 해도 불가능했다. 이제는 보이지 않게 인프라에서 모든 것을 지원해준다.

 

약간의 API만 다루면 알아서 뒤에서 라이브러리가 처리해준다.

 

이제는 프런트부터 백엔드까지 모든 것을 아우르는 개발자가 미래 세계에서 살아남을 수 있는 개발자가 될 것이라고 생각한다.

 

그 사상을 뒷받침하는 것이 이 무시무시한 MSA 아키텍처이다.

 

MSA가 모든 것을 부실 새로운 패러다임이라는 것을 주장하고 싶은 것이 아니다.

 

세상이 점점 마이크로 한 서비스와 독립적이고 자율적인 객체들로 이루어진다는 패러다임에 대한 나의 생각이다.

 

 

한 번에 읽기엔 너무도 많은 내용들이 존재한다.

 

소프트웨어 아키텍처... 책이 두꺼워질 수밖에 없다. 이 책도 하나의 프로젝트를 설명하면서 접근하고, 과정을 기록하고 코드를 들여다봤으면 1000쪽은 가뿐하게 넘었을 것이라 생각한다.

 

이 책은 구체적인 MSA 기술에 초점을 두기보다는 MSA를 아우르는 개념을 짚으면서 진행한다.

 

마이크로 서비스란 무엇인지

 

진화하는 아키텍처의 장점은 무엇인지

 

서비스를 모델링하는 개념(DDD 채택)

 

통합

 

모놀리스를 분해하는 것 (모놀리스 to 마이크로 서비스)

 

배포(CI&CD)

 

테스팅 [ 테스팅의 범위 ]

 

모니터링 (MSA가 안게 될 무거운 짐)

 

보안

 

MSA의 조직 (MSA를 채택했다면 조직도 MSA의 특징을 지녀야 한다.)

 

대규모 마이크로 서비스의 사례들 (실 사례(아마존, 넷플릭스 등등))

 

종합 정리

...

 

정말 방대하다. 하나하나 주옥같은 주제들이다.

 

내 생각에 이 책 이후로 MSA를 깔끔하게 정리할 수 있을 책이 과연 있을까 싶다.

 

개인적으로는 개념에 집중했고, 몇몇 기술적인 프레임워크나 라이브러리들은 메모만 했다.

 

2015년에 나왔던 책이기에 현대의 기술에서 바라보기 애로한 점도 분명히 있을 것이기에... 

 

마무리 : 실패를 두려워하지 말자.

 

MSA아키텍처는 독립적이고 자율적인 서비스를 운영하는 아키텍처를 의미한다.

 

그러다 보니 빠르게 서비스를 제작하고, 독립적인 서비스로 발전시키는 특징을 가지게 된다.

 

저자가 강조한 콘웨이의 법칙처럼 MSA를 채택하기 위해선 조직도 MSA와 비슷하게 움직여야 한다.

 

모놀리스 아키텍처에서 운영되던 중간 규모의 조직들이 작은 모놀리스 아키텍처 팀으로 구성되어야 한다는 것이다.

 

즉 이전에는 DB팀, 테스팅 팀, 문서화 팀, 품질 팀, 아키텍처 팀 등등으로 구성되었다면 

 

이제는 DB & 테스팅 & 문서화 & 품질 & 보안 & 아키텍처(애자일)이 가능한 인원으로 구성된 팀으로 진행되어야 한다는 것이다.

 

엉클밥의 말처럼 언제든지 필요한 역량은 페어 프로그래밍으로 배워야 할 정도로 학습능력에 대한 열정도 소유해야 한다.

 

멀티 플레이어의 시대가 도래하고 있는 듯 함을 느끼게 만들어주는 책.

 

앞으로 3~4개월간 스프링 프레임워크를 집중적으로 공부하게 되는데

 

5개월 안에 마이크로 서비스 특징의 웹 서비스를 제작할 수 있을지 궁금하다.

 

모놀리스 아키텍처의 특징을 가지는 작은 웹서비스를 제작하고 (내가 관심 있어하는 건강과 관련된 도메인)

 

해당 모놀리스를 마이크로서 비 스틱 한 아키텍처로 전환해보는 것(모놀리스에서 마이크로서비스로의 마이그레이션)을 석사 학위 논문으로 관심을 가지고 있기 때문에..

 

이 책은 정말 도움이 되었다.

 

나중에 회사를 들어가게 된다면 해당 팀이 MSA를 도입했다면

 

다시 읽어봐야 할 책이다. 그만큼..너무도 집약된 내용들이 있었다.

 

샘뉴먼 저자에게 감사하고, 오타가 없는 책으로 번역해준 정선권 옮김이 분에게도 감사하다.

 

 

 

반응형