< 이 책은 한빛 미디어로부터 책을 지원받아 작성된 글입니다.>
[ 책소개 ]
마이크로서비스 입문에서 구축과 활용까지!
마이크로서비스는 기존 대용량 시스템의 복잡성과 운영·배포·유지보수의 문제점을 해결할 새로운 대안이다. 이 책은 마이크로서비스 아키텍처를 구축, 관리할 때 고려할 문제와 이에 관한 포괄적 시각과 실용적인 조언을 제공한다. 지속적 통합을 통해 개별 마이크로서비스를 배포하는 과정을 설명하고, 실제로 마이크로서비스를 도입한 기업들의 구체적 사례를 소개한다.
주요 내용
- 마이크로서비스 아키텍처 소개란?
- 조직의 목표에 맞게 시스템 설계하기
- 모놀리식 코드베이스의 점진적 분리 방법
- 운용 중인 레거시 시스템과 서비스의 통합 방안
- 지속적 통합으로 개별 마이크로서비스 배포
- 분산 서비스 테스팅과 모니터링의 복잡성 고찰
- <사용자-서비스>와 <서비스-서비스> 모델의 보안 관리
- 마이크로서비스 도입 기업의 구체적 사례
- 마이크로서비스 아키텍처 확장을 위한 도전
"이론만 가득하다"
마이크로서비스 아키텍쳐가 무엇인지를 공부하기 위해서 선택한 책이었다. 내용을 보기 전에 이론보다는 실습이 많았으면 했었지만 막상 책을 열고보니 이론만 가득한 책이다. 책 표지 뒤를 보면 '입문에서 구축과 활용까지!!' 라고 되어있지만 실상은 그렇지 않다. 꼭 참고 하면 좋을 것 같다.
책을 펴기 전 마이크로서비스 아키텍처에 대해 검색해보았다.
대규모 소프트웨어 개발에 적용하기 위한 것으로 단독으로 실행 가능하고 독립적으로 배치될 수 있는 작은 단위(모듈)로 기능을 분해하여 서비스하는 아키텍쳐
- 네이버 IT용어사전
책에서는 마이크로서비스란 작고 자율적으로 협업하는 서비스를 의미한다고 했다.
즉, 서비스 단위를 가장 작은 단위로 분할하여 세분화하는 것이라 생각할 수 있을 것 같다.
사람의 몸으로 예를 들면, 팔, 다리, 머리, 몸 이렇게 부분을 나눠서 단위단위로 작업을 하는 것을 의미하는 것 같다.
저자는 그 기준을 '2주에 재작성할 수 있는 크기'라고 표현했는데 그렇다면 2주마다 재작성하라고 하면 토나올 듯하다.
"결함"
책을 읽다가 마음에 드는 부분에 형광펜을 사용했다. 포스팃으로 표시도 해보고.
그 정도로 가볍게 읽을 수 있는 책은 아니었다. 컴퓨터공학을 전공하고 있지만 마이크로서비스에 대한 개념이 아무것도 없다면 읽기 힘든 책이다. 비전공자에게는 더욱 어려운 책이 될 것이다. 그 중 처음으로 들어온 문장은 '결함을 없애지 않고는 모든 것이 소용없어진다.' 라는 문장이었다. SW를 개발함에 있어서 모든 개발자들이 결함을 없애기 위해 많은 시간과 노력을 투자를 한다. 그렇기 때문에 더욱 와닿은 문장이었던 것 같다. 자랑스럽게 프로그램 개발이 완료되었다고 생각한 프로그램에서 결함이 발견 되었을 때의 기분이 아직도 생생하다. 오래만에 낮술이 땡겼다.
"어느 한 곳에서 좋은시민이 다른 곳에서도 반드시 그런 것은 아니다"
어떤 의미인지 한번 다시 생각해보고 싶어서 색으로 칠해놓고 포스트잇을 붙여놓았다. 앞에서도 말했지만 책 내용 자체가 초보자, 입문자에게 쉬운 책의 내용은 아니었다. 그래서 처음 읽을 때는 가볍게 읽었고, 두 번을 읽을 때에는 집중해서 읽었보았다. 그래도 이해가 잘 안된다. 마이크로서비스에 관심이 있던 사람도 아니었고, 언어나 운영체제를 기반으로 개발에 대한 공부를 해왔기 때문에 이런 이론들에 약한 것일 지도 모른다. '어느 한 곳에서 좋은 시민이 다른 곳에서도 반드시 그런 것은 아니다.' 라는 문장의 의미를 내 나름대로 생각하는데 시간이 조금 필요했다. 우리 나라에서 좋은 시민이 다른 나라에서 좋은 시민일거라는 보장이 없다고도 해석 해보았고, 'A라는 프로그램에는 H라는 모듈이 정말 좋게 작용했지만, B라는 프로그램과 H모듈은 역효과를 내는 것이다.' 라고 해석도 했다. 책 내용을 모두 다 이해하려고 하기보다는 내 나름대로 이해하는게 더 빠를 것 같았다.
"마치며"
책 내용이 어려워서 그런걸 필자도 아는 것인지 장마다 맨 마지막에 간략한 정리를 해주었다. 너무 어려운 내용들이 앞에 가득하기 때문에 뒤에 나오는 '마치며' 부분은 가뭄에 단비같은 느낌이다. '아! 이런 내용들이었구나.'라고 간략하게 정리할 수 있는 부분이라서 너무 좋았다.
"현재를 만들었고 미래를 만드는 주체가 바로 사람이기 때문이다."
10장에 나오는 내용이다. 사람에 대해서 나온다. '현재를 만들었고 미래를 만드는 주체가 바로 사람이기 때문이다.' 그렇기 때문에 사람을 조심해야하고 사람을 믿어야하고, 모든 것이 사람이 중심이다. 그냥 의미없는 문장일수도 있지만 많은 생각이 드는 문장이다. 아무리 일이 힘들어도 사람이 좋은 직장에서는 오래 일을 할 수 있을 것 같고, 일이 쉬워도 사람이 좋지 않은 직장에서는 일을 오래 하지 못할 것 같다. 물론 일도 힘들고 사람도 힘들면 최악이지만.
[ 마무리 ]
책에서는 전반적으로 마이크로아키텍쳐에 대한 이론을 다루고 있다. 여러부분의 개념적인 요소를 다루고 있기 때문에 어렵고 지루할 수 밖에 없는 책이다. 영어로 된 원서를 번역한 책이기 때문에 용어가 많이 나오는 편이고, 용어 위에 영어 단어가 써있는 것을 많이 볼 수 있다. 모르는 용어를 검색해보며 책을 읽으면 3개월 정도 혹은 그보다 많은 시간을 투자해서 책을 읽어야 할 것 같다.
입문자보다는 어느 정도 경력이 있는 개발자가 보기에 좋은 책이라고 생각된다.
디자인 ★☆☆☆☆ : 환 공포증 걸릴뻔.. 벌집... 후
내용 ★★★☆☆
난이도 ★★★★★
'리뷰 > 도서' 카테고리의 다른 글
[리뷰] IoT 백신을 직접! '직접 설계하고 개발하는 IoT 백신' 초급 (0) | 2017.05.19 |
---|---|
[리뷰] 전공자나 수학이 어려운 사람도 쉽게 배우는 '신경망 첫걸음' (0) | 2017.05.01 |
[리뷰] 우분투의 기초는 '이것이 우분투 리눅스다'로 배운다! (0) | 2017.03.18 |
[리뷰] 취업준비생을 위한 '인사담당자 100명의 비밀녹취록' (0) | 2017.03.06 |
[리뷰] 데이터 베이스 첫걸음 (0) | 2017.01.03 |
댓글