본문 바로가기
2. 책 & 영화 리뷰

[도서] 그림으로 공부하는 마이크로서비스 구조 - 다루사와 히로유키 등

by soosun 2023. 7. 18.

최근의 MSA는 마치 SW개발자들이 당연히 알고 있어야 하는 구구단? 과 같은 자리에 올라 있다.

그만큼 다들 MSA를 이야기하고 누구나 MSA를 이용하여 개발을 하고 있다고 한다.

 

과거를 생각해보면 SW업계에서 이런 일들은 아주 흔한 패턴이다.

CORBA, .NET을 중심으로 한 분산구조 아키텍처나 구조화 패턴,

한 시대를 풍미하던 SOA, 

4GL/5GL/노코딩 솔루션들을 외치던 다양한 프로그램 툴들,

한때는 모든 DB가 MMDB로 통일 되는 것 같은 분위기도 있었다.  

최근에 이르러서 모든 개발에 AI가 당연히 들어가야 하는 것 같은 흐름들,

 

당시에는 빠른 트랜드를 따라 잡기에 급급했지만,

시간이 흐르고 나니, 이런 트랜드들을 얼마나 정확하게 알고 개발에 사용했는지 돌아보게 된다.

그래서 요즘 MSA 관련해서는 다양한 책들을 읽어 보고 있다.

그런데 역시나 이런 책들이 MSA 트랜드의 논리적 부족함을 여실히들 보여주고 있다.

명확하지 않은 정의와 이전 기술들과의 모호한 구분 등 (다들 SOA와는 다르다고 하지만 과연 그럴까?)  

물론 사소한 것에 신경쓰지 않고 큰 흐름만 본다는 주장은 설득력이 있지만,

논리적인 명확함이 프로그래밍의 첫 걸음 아니던가 ?

좀 늦었지만 MSA에 대해 명확하게 알고 사용했으면 한다.

 

ㅇ 책의 주요 내용

- 이 책을 보고 사실 조금 놀랐다. 일본 IBM 이야기가 잠깐 나오지만, 현업 경험을 바탕으로 한 저자의 다양한 생각과 지식들에, 그리고 MSA의 큰 틀과 다른 IT 트랜들 들과의 관계를 논리적으로 설명하려고 하는 노력 등

제목보다 가치있는, 어쩌면 제목 때문에 손해보는 책 이기 때문이다. ('그림~' 이런 제목의 책들은  보통 무시하고 넘어가기 마련이다.)

MSA를 DX, DevOps와 연계해서 전체적인 이해를 하고자 하는 분들에게 많은 도움이 될 책이다.

쉽게 정리하는데 많은 도움이 되었고, 오랜만에 재미있게 읽었던 것 같다.

 

- 특히, 각 챕터에 개념을 쉽게 설명하려는 용도의 구성도와 요약 메세지를 박스로 정리를 해두었다. 이게 생각보다 이해에 도움이 된다.  

- 약 230페이지 정도로 많지 않은 분량에 디지털 전환, 아키텍처 설명, 패턴, 클라우드 네이티브 등 내용들을 짧지만 알차게 구성한 점이 장점이다. 물론 이런 특성으로 디테일은 약간 부족하지만 전체적인 현업의 분위기를 익히는데 도움이 주고 있다.

=> 어떻게 보면 첫번째 책을 요약한 듯한 느낌을 주지만, 약간 IT 테크니컬 컨설팅 인 듯한 설명인 듯 하다. 

      첫장에 DX(디지털트렌스포메이션) 내용이 나오는 것도 다른 책에 없는 특이한 점이다. 다이제스트북으로 추천할만 하다. 


< 목차 >

제1부 마이크로서비스의 아키텍처
CHAPTER 1 디지털 전환: 마이크로서비스가 중요해진 배경 3
1.1 디지털 전환이란? 4
1.2 2025년의 벽 7
1.3 DX 추진을 위한 방침 12

CHAPTER 2 클라우드 네이티브 컴퓨팅과 마이크로서비스 15
2.1 클라우드 컴퓨팅의 발자취 16
2.2 클라우드 네이티브 컴퓨팅 21
2.3 클라우드 네이티브 컴퓨팅을 지탱하는 기술 요소 23
2.4 마이크로서비스란? 33
2.5 마이크로서비스의 특징 36
2.6 마이크로서비스의 개발/운영 흐름 40
2.7 마이크로서비스의 적용 기준 41

CHAPTER 3 마이크로서비스 아키텍처의 기본 43
3.1 서비스 구조 44
3.2 레이어 아키텍처 45
3.3 헥사거널 아키텍처 47
3.4 데이터베이스 접근 48
3.5 트랜잭션 처리 49
3.6 데이터베이스 간 동기화 50
3.7 데이터 결합 52
3.8 서비스 간 연계 56
3.9 서비스화 진행 방법 57

CHAPTER 4 마이크로서비스 패턴 65
4.1 마이크로서비스 패턴 66
4.2 데이터 관리 패턴 69
4.3 트랜잭셔널 메시징 패턴 78
4.4 서비스 검색 패턴 82
4.5 외부 API 패턴 86
4.6 통신 패턴 94
4.7 배포 패턴 98
4.8 관찰 가능성 패턴 108
4.9 리팩터링 패턴 111

제2부 마이크로서비스를 지탱하는 클라우드 네이티브 기술
CHAPTER 5 컨테이너, 쿠버네티스, 서버리스 121
5.1 컨테이너 122
5.2 쿠버네티스 138
5.3 서버리스 146
5.4 배포 기술 비교와 정리 158

CHAPTER 6 서비스 메시 161
6.1 서비스 메시의 필요성 162
6.2 서비스 메시란? 166
6.3 서비스 메시로 할 수 있는 것 168
6.4 서비스 메시의 소프트웨어 예 176

CHAPTER 7 마이크로서비스의 개발과 운영 185
7.1 마이크로서비스의 개발과 운영 186
7.2 마이크로서비스의 개발과 운영에 필요한 모범 사례 189
7.3 마이크로서비스의 개발에 필요한 환경 194
7.4 릴리스 관리 200
7.5 마이크로서비스의 감시와 운영 204

CHAPTER 8 클라우드 배포 모델 동향 213
8.1 클라우드 배포 모델 214
8.2 하이브리드 클라우드 215
8.3 멀티 클라우드 217
8.4 컨테이너와 하이브리드/멀티 클라우드 221
8.5 분산 클라우드 224
8.6 에지 컴퓨팅 226
8.7 정리 230

댓글