이전

리뷰 (12)

한줄평
평점 분포
  • 리뷰 총점10 100%
  • 리뷰 총점8 0%
  • 리뷰 총점6 0%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 10.0
  • 30대 9.0
  • 40대 9.0
  • 50대 10.0

포토/동영상 (2)

리뷰 총점 종이책
마이크로서비스 아키텍처 구축(전면 개정판)
"마이크로서비스 아키텍처 구축(전면 개정판)" 내용보기
마이크로서비스 아키텍처 구축(전면 개정판)   대용량 시스템의 효율적인 분산 설계 기법 샘 뉴먼 저/정성권 역 | 한빛미디어 | 원제 : Building Microservices 2e   『마이크로서비스 아키텍처 구축』 전면 개정판은 마이크로서비스 아키텍처(MSA)가 이제 소프트웨어 개발 분야에서 대중화된 아키텍처 방법론으로 자리를 잡았다는 것으로, 기업 및 개발자들에게도 많이 알려진 익
"마이크로서비스 아키텍처 구축(전면 개정판)" 내용보기

마이크로서비스 아키텍처 구축(전면 개정판)

 

대용량 시스템의 효율적인 분산 설계 기법

샘 뉴먼 저/정성권| 한빛미디어 | 원제 : Building Microservices 2e

 

『마이크로서비스 아키텍처 구축』 전면 개정판은 마이크로서비스 아키텍처(MSA)가 이제 소프트웨어 개발 분야에서 대중화된 아키텍처 방법론으로 자리를 잡았다는 것으로, 기업 및 개발자들에게도 많이 알려진 익숙한 기술이 되었다는 것을 증명하고 있다 하겠다.

 

마이크로서비스는 독립적 변경, 배포, 릴리스를 하기 위한 분산 시스템에 대한 접근방식 중 하나이다.

마이크로서비스를 사용하면 시스템을 구축하는 데 다양한 선택지를 갖고 사용자 요구에 맞게 시스템을 변경하는 유연성을 갖출 수 있다는 장점이 있다.

하지만 마이크로서비스는 분산 시스템으로 많은 복잡성을 수반하고 많은 숙련 개발자들에게도 생소한 것들이 있다는 단점이 있다.

새로운 소프트웨어개발 기술의 등장과 함께 개발자들의 경험은 마이크로서비스 사용 방식에 더 많은 영향을 주고 있다.

이 책은 각 각의 프로젝트를 진행할 때 적용할 수 있는 실제 사례를 제공하고, 마이크로서비스가 자신의 프로젝트에 적합한지를 이해하는 데 도움이 될 것이다.

 

특히, 프로젝트에 참여하는 개발자들에게 단편적인 기술을 제공하는 것이 아니라 소프트웨어개발에 필요한 전반적인 부분을 사례를 중심으로 이해 할 수 있도록 제공함으로 전체를 아우를 수 있도록 안내한다.

특히, 아키텍처, 코드 작성, 테스트, 운용 방식, 네트워크, 보안, 배포, 릴리스 등 필수적인 과정을 설명하고 있다.

 

개정판에서는 개념을 더 잘 설명하고자 명확한 예제를 공유하는 데 공을 들였다는 점이 독자들에게 많은 도움이 될 것이다.

 

소프트웨어 개발 프로젝트에 참여하는 모든 개발자들이 마이크로서비스 아키텍처 구축을 검토해 보고 적용해 볼 수 있는 기회가 더 넓어지기를 기대한다.

 

역자의 노고에 고마움을 전한다.

독자들이 쉽게 이해할 수 있도록 전문용어와, 관련 참고도서에 대한 소개를 꼼꼼히 챙겨 주었다.

 

 

 

책소개

마이크로서비스 기초부터 구현까지

사람과 조직을 고려한 실전 마이크로서비스 아키텍처 구축 가이드

 

* 설계/아키텍처 분야 아마존 베스트셀러

* 마이크로서비스 아키텍처 핵심 용어집 수록

 

“마이크로서비스 아키텍처는 매력적인 특징이 많지만, 마이크로서비스 아키텍처로 향하는 길에서 주의하지 않는 다면 고통스러운 함정에 맞닥뜨리게 된다.” - 마틴 파울러

 

전 세계 프로그래머에게 필수 책인 『리팩터링 2판』의 저자 마틴 파울러가 극찬한 『마이크로서비스 아키텍처 구축』이 전면 개정되어 돌아왔습니다.

모두가 기다려온 『마이크로서비스 아키텍처 구축(전면 개정판)』은 마이크로서비스와 관련된 모든 측면에 대해 광범위한 개요를 제공하고자 했습니다.

1판에서 마이크로서비스 개념을 주로 다뤘다면, 이번에는 그 기본 토대 위에 소프트웨어 배포 프로세스 측면과 마이크로서비스 아키텍처를 채택함으로써 발생하는 영향까지 함께 다룹니다. 초판 출간 후 지난 5년 동안 마이크로서비스의 변화와 새롭게 등장한 기술도 함께 다뤄 1판보다 2배가 넘도록 지면을 풍부하게 채웠습니다.

이 책은 총 3부에 걸쳐 마이크로서비스 아키텍처 구축에 대해 설명합니다.

1부 기초,

2부 구현,

3부 사람으로 구성되어 있습니다.

1부에서는 마이크로서비스의 핵심 아이디어를 설명하고,

2부에서는 개념에서 구현 상세로 넘어가 마이크로서비스를 활용하는 데 도움이 되는 기법과 기술을 살펴봅니다.

마지막으로 3부에서는 1부, 2부에서 배운 내용을 토대로 사람과 조직의 입장에서 기술을 구현해내는 과정을 설명하고 있다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

#마이크로서비스 #아키텍처 #구축 #대용량 #시스템의 #효율적인 #분산 #설계 #기법

#샘_뉴먼_저 #정성권_역 #한빛미디어

y****1 2023.07.23. 신고 공감 2 댓글 0
리뷰 총점 종이책
마이크로서비스 아키텍처 구축
"마이크로서비스 아키텍처 구축" 내용보기
마이크로서비스란 무엇인가? 늘 그렇듯 무언가의 정의를 내리는 것은 쉽지 않은 일이다. 추상적으로 기술하면 진실에 가까워지지만 내용이 선뜻 와 닿지를 않고 구체적으로 표현하면 이해하기는 쉽지만 정의에 가까워지기 힘들고 내용이 길어진다. 그럼에도 마이크로서비스를 처음 접하는 독자를 위한 리뷰에서는 일부분이라도 구체적으로 기술하여 독자의 이해를 돕지 않는 것이 우선
"마이크로서비스 아키텍처 구축" 내용보기

마이크로서비스란 무엇인가?

늘 그렇듯 무언가의 정의를 내리는 것은 쉽지 않은 일이다. 추상적으로 기술하면 진실에 가까워지지만 내용이 선뜻 와 닿지를 않고 구체적으로 표현하면 이해하기는 쉽지만 정의에 가까워지기 힘들고 내용이 길어진다.

그럼에도 마이크로서비스를 처음 접하는 독자를 위한 리뷰에서는 일부분이라도 구체적으로 기술하여 독자의 이해를 돕지 않는 것이 우선이라 생각되기에 나름의 정의를 내려보려 한다.

그러한 관점에서 개인적으로는 RestAPI의 결합체 혹은 DB를 공유하지 않는 서비스들의 집합 정도로 정의를 내리고 싶다. 개발자 입장에서 그나마 가장 가시적인 정의라 생각하기 때문이다.DB

책에 등장한 예시와 같이 배송, 주문관리, 재고 등 각각 하나의 마이크로서비스를 결합하면 전자 상거래 시스템을 구축할 수 있는 개념이자 이에 필요한 아키텍처다.정의

한편 이 책에 기술된 마이크로서비스의 정의는 다음과 같다.

독립적 변경, 배포, 릴리스를 하기 위한 분산 시스템에 대한 접근 방식 중 하나.

좋은 책들이 그렇듯 이 책 또한 마이크로서비스의 개념에 대한 확실한 이해를 돕기위해 여러 장치를 사용한다. 예시, 비교, 특징, 장점, 단점 등 여러 각도에서 마이크로서비스를 살펴봄으로써 이해를 돕게 해준다.

예시의 경우 앞서 이미 언급하였고 비교의 경우 SOA나 모놀리식 아키텍처와 비교하며 개념 정의의 좌표를 조금 더 구체화한다. SOA의 태생 목적에 더욱 충실하기 위해 등장한 개념이란 것과 데이터베이스를 공유하며 프로세스 경계선으로 모듈이 나뉘는 모놀리식과의 차이점을 통해 마이크로서비스의 개념을 구체화 할 수 있게 해준다.

물론 배포를 독립적으로 수행할 수 있다거나, 기술보다는 비즈니스 모델링을 우선한다는 점, DB를 공유하지 않는 대신 자기 상태를 공유한다는 점, 하나의 서비스가 자신의 두뇌 용량을 초과하지 않을 정도로 작개 쪼갠다는 점 등의 특징도 설명하고 있어 다양한 각도에서 마이크로서비스의 본질을 생각하게 해준다.

이를 돕는 기술로 라이트스텝이나 허니코움의 제품 들이 제공하는 로그 집계 및 분산 추적 기술, 쿠버네티스, 스트리밍, 서버리스 등의 기술이 생태계를 풍부하게 한다고 소개하고 있어 보다 구체적인 감을 잡는 데 도움을 준다.

그럼에도 엄청난 변화를 수반하는 스타트업 시스템이나 보안에 민감하다거나 전통적인 RDBMS가 자랑하는 ACID를 핵심으로 하는 시스템에는 적합하지 않을 수 있다는 한계를 분명히 명시한다.

이렇듯 풍부하고 다양한 관점을 수반한 정의 및 기술은 마이크로서비스의 본질을 이해하는 데 충분하고도 넘친다는 생각이 들었고 그동안 애매하게 알고 있던 마이크로서비스의 개념 좌표를 머릿속에서 좀 더 명확하게 배치할 수 있게 많은 도움을 주었다.

한편 생각해보면 이는 단지 서비스 아케텍처에 국한되는 유행은 아닌 것 같다. 일상에서도 독립적인 영화나 드라마는 넷플릭스, Wavv와 같은 스트리밍 서비스에서 결합하고 있고 다양한 1인 기업들이 뭉쳐 거대한 서비스를 지탱하게 해주는 등의 사회적인 현상으로도 클라우드나 쿠버네티스와 같은 기술적인 영역에서도 마이크로서비스와 유사한 장점을 극대화하고자 하는 움직임은 거의 모든 영역을 장악해 나가는 듯 하다.

어쨌든 이 책은 개인적으로 처음 개념을 접했을 때 신선한 충격을 주었던 마이크로서비스가 무엇인지 이해하고 제대로 활용할 수 있는 안목을 갖추는 데 큰 도움을 준 명작이다.

이미 몇 년 전에 발간된 책이지만 이번 개정판은 그동안 이 개념이 발전하는 과도기에 있던 애매모호한 위치를 명확히 바로잡는 데 많은 도움을 준다. 가히 그동안 마이크로서비스 개념을 널리 알리고 사람을 모아 발전할 수 있게한 견인차 역할을 한 책 답게 명작이라는 생각이 들었다. 이 개념을 이해하는데 이 책을 통하지 않는다면 다른 방법으로는 너무 많은 시간과 노력을 낭비하게 될 것 같기 때문이다.

워낙 훌륭한 책임에도 그 중에서도 돋보이는 특징 몇가지를 소개해보고자 한다.

첫째, 보다 전통적이고 친숙한 모놀리식 시스템을 분해하는 과정으로 구체적으로 마이크로서비스를 어떻게 구축하고 설계해야 할지 쉽게 감을 잡을 수 있었다. 특히 동기 대 비동기 방식 구현을 어떻게 설계하는지 검토하는 과정은 본질 개념을 이해하는 데 많은 도움이 되었다.

둘쨰, DB 공유에 대한 독립성을 유지하면서 ACID를 어떻게 보장할 것인지에 대해 평소 늘 궁금했던 주제였고 데이터에 관심이 많은 사람으로써 호기심이 많은 주제였는데 명확하게 이해할 수 있었다. 특히 사가 패턴을 말로만 듣다가 구체적인 설계 방법과 원리가 소개되어 있어 인상적이었다.DB공유

셋째, 최근 트렌디한 기술이나 개념, 아키텍처를 학습하는 데 도움이 된다. 마이크로서비스 아키텍처만 다루는 것이 아닌 생태계의 관련 기술을 대부분 망라하고 있어 마이크로서비스에 관심없는 독자도 유익하게 활용할 수 있을 만한 다양한 기술들이 소개된다. 멀티태넌시와 페데레이션이나 심지어는 웹어셈블리와 같은 개념도 상세하게 소개해주고 있어 유익했다.기술스택

넷쨰, 콘웨이 법칙 등 유명 인사들의 발언이나 주장과 관련된 레퍼런스들이 다양하게 소개되고 있다. 이는 저자가 관련 분야에 정통함은 물론 긴 세월 동안 객관적인 시각을 견지하기 위해 노력해왔음을 보여주는 반증이라 생각한다.

그 외에도 보안이나 사용자 인터페이스 등 마이크로서비스를 소개하는 정도에 그치지 않고 추후 확장해서 고민하고 그 과정을 통해 시행착오와 비용을 크게 아껴줄 수 있도록 노력한 구성이 감동적이었다.

이 책은 마이크로서비스 구축을 검토한다거나 개념을 학습하는 데 있어 바이블이라 평하고 싶다. 마이크로서비스를 학습하면서 다양한 생태계의 기술 현주소를 파악하고 스스로의 지식을 업그레이드 하는 데 있어 큰 도움이 되는 양서이기에 반드시 일독을 권하고 싶다.


n********g 2023.07.24. 신고 공감 1 댓글 0
리뷰 총점 종이책
[BOOK] 마이크로서비스 아키텍처 구축
"[BOOK] 마이크로서비스 아키텍처 구축" 내용보기
[BOOK] 마이크로서비스 아키텍처 구축 - 샘 뉴먼 지음 / 정성권 옮김 부제: "대용량 시스템의 효율적인 분산 설계 기법"   요즘 서비스 어플리케이션을 만든다고하면 검토되는 것이 마이크로서비스 아키텍처(MSA, Microservices Architecture)입니다. 하나의 커다란 서비스 형태로 애플리케이션을 구현하는 모놀리식 아키텍처(Monolithic Architecture)에 대응 되는 개념으로 작고
"[BOOK] 마이크로서비스 아키텍처 구축" 내용보기

[BOOK] 마이크로서비스 아키텍처 구축 - 샘 뉴먼 지음 / 정성권 옮김

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

부제: "대용량 시스템의 효율적인 분산 설계 기법"

 

요즘 서비스 어플리케이션을 만든다고하면 검토되는 것이 마이크로서비스 아키텍처(MSA, Microservices Architecture)입니다. 하나의 커다란 서비스 형태로 애플리케이션을 구현하는 모놀리식 아키텍처(Monolithic Architecture)에 대응 되는 개념으로 작고 독립적인 여러 서비스들을 조합해서 애플리케이션을 구현하는 방식입니다.

 

특히 서비스 운영 환경이 물리머신, 가상머신에서 클라우드로 변화하고, 많은 서비스를 효율적으로 관리할 수 있는 다양한 솔루션들이 나타나면서 마이크로서비스 아키텍처의 도입이 점점 늘어나고 있습니다. 이 책의 초판이 출간되었던 때는 마이크로서비스 아키텍처가 넥플릭스나 아마존 같은 빅테크 회사들을 중심으로 도입되었습니다. 마이크로서비스 아키텍처를 도입한 빅테크 회사들의 사례가 공유되고 마이크로서비스의 개념과 철학이 확산되면서 6년이 지난 현재는 대부분의 서비스가 마이크로서비스로 만들어 지고 있습니다. 그리고 6년만에 이 책이 전면 개정판으로 출간되었습니다.

 

읽어보면 초판과 같은 책인지 의심이 들 정도로 다르지만 핵심 개념은 그대로 담겨있습니다. 초판으로 마이크로서비스 아키텍처에 대한 기본 개념을 배웠는데 이번 개정판으로 마이크로서비스와 연관된 많은 기술들을 정리할 수 있었습니다.

 

"한빛미디어 [나는 리뷰어다] 활동을 위해서 책을 제공받아 작성된 서평입니다."

리뷰 총점 종이책
[마이크로서비스 아키텍처 구축]
"[마이크로서비스 아키텍처 구축]" 내용보기
이 책은 2017년도에 나왔던, "마이크로서비스 아키텍처 구축"의 개정판입니다. 뭐 번역출판이 된 것이 6년만이러서 꽤 많은 내용이 개정되었습니다. 일단, 분량 자체가 이전 판이 330페이지 정도였지만, 개정된 것은 660페이지 정도로 2배 정로도 그 내용이 늘어났습니다. 물론 그만큼 가격 차이도 있었는데, 이전 판이 26000원이었지만, 개정판은 44000원이 되었습니다. 가격 차이만
"[마이크로서비스 아키텍처 구축]" 내용보기

이 책은 2017년도에 나왔던, "마이크로서비스 아키텍처 구축"의 개정판입니다.

뭐 번역출판이 된 것이 6년만이러서 꽤 많은 내용이 개정되었습니다.

일단, 분량 자체가 이전 판이 330페이지 정도였지만, 개정된 것은 660페이지 정도로 2배 정로도 그 내용이 늘어났습니다.

물론 그만큼 가격 차이도 있었는데, 이전 판이 26000원이었지만, 개정판은 44000원이 되었습니다.

가격 차이만 보고, "6년동안 물가가 무척 높아졌네" 라고 말하기에는, 내용 자체가 많이 달라졌기 때문에, 개정판이라고 하기 보다는 그냥 새로운 책이라고 하는 것이 좋을 것 같긴 합니다.

더욱이 이전 판의 경우에는 내용도 그렇고 번역 퀄리티도 그래서, 별로 읽어봤자 도움이 되는 것이 없었는데, 이번 개정판은, 책 가격의 가치를 충분히 하는 책이었습니다.

17년도에 나왔던 책에 실망했던 사람이라도, 새로운 책이라고 보고 다시 봐도 충분히 좋은 책이었습니다.

아마, 17년도에는 마이크로서비스를 소개하는 책이 별로 없었고, 또 그 개념도 새로운 상황이었기 때문에, 빨리 책을 출판해서 빨리 파는 것이 중요했다면, 지금은 관련 책들이 무척 많이 나왔기 때문에, 경쟁이 심화되어서, 그만큼 퀄리티 있는 책이 아니고서는, 팔리지 않기 때문에.. 경쟁으로 인한 퀄리티상승이 반영된 것이 아닌가 하는 생각이 들기도 했습니다.

뭐 각설하고,

책의 내용은 3부로 구성되어 있으며,

1부에서는 마이크로 서비스의 기본 개념들을 설명하고 있습니다.

기존의 모놀리식 아키텍처와의 차이점을 위주로 어떤 단계를 거쳐서 모놀리식에서 마이크로서비스로 발전해 왔는지를 설명하며, 동시에, 이 발전이 "그래서 모놀리식은 옛날 것이다" 라는 이야기를 하는 것은 아니었습니다. 어디까지나, 닭 잡는 칼과 소잡는 칼의 차이로, "마이크로서비스가 적합한 문제를 적절하게 적용해야 한다" 라는 것을 이야기하고 있습니다.

2부에서는 실제 구현을 하는 과정에서 따라야 하는 내용들을 설명하고 있습니다.

세부적으로는, 서비스들 사이의 협업을 원활하게 구현하기 위한 통신과 워크플로우, 그리고 마이크로 서비스의 핵심이 되는, 보안과 확장성, 또한 구현우 배포를 위한, 빌드/테스트/로그관리에 관한 이야기를 하고 있습니다.

3부에서는 마이스로서비스를 운영하기 위한 운영조직과 실 운영자의 성숙도 향상을 위해 고려해야 하는 내용들을 설명하고 있습니다.

마이크로서비스 구축을 위해 필요한 기본과 적용과정에서의 고려사항들을 잘 정리한 책입니다.

하지만, 그 난이도가 배경지식이 없는 초급자를 위한 내용은 아니었습니다.

일단, 책에서 다루고 있는 범위가 너무 넓고 (마이크로서비스의 모든 내용을 다 담으려고 하고 있지만, 그러기엔 책 한 권으로는 담아내기 힘들긴 하죠), 초급자와 중급자 사이의 개념 설명의 난이도 갭이 있습니다.

아마 가장 적합한 독자로는

1) 마이크로서비스에 대한 기본 개념을 갖고 있고

2) 현재 실무에서 모놀리식 서비스를 마이크로서비스로 마이그레이션 하려고 하다가 실패해 본 경험이 있어서, 어떤 문제들이 발생했고, 그것을 어떻게 풀어야 했는지에 대한 경험이 있거나

3) 아니면, 세미나 등을 통해서 경험 많은 사수나 교수같이 책의 내용을 설명해주고, 가이드해줄 수 있는 선배가 있는 사람

이런 사람이 볼때 최적의 효율을 낼 수 있는 교재라고 생각합니다.

최근 오라일리 책이 초급자를 위한 배려가 많아지고 있어서, 친절해지고 있다는 생각이 들었지만, 원래 오라일리 책이 이런 느낌이긴 했습니다. 완전 초급자가 볼 만한 책은 아니고, 어느정도 입문을 하고 난 후의 중급자 수준의 독자를 위한 책 말이죠.

이전 판본에 비하자면, 천지개벽의 수준으로 친절해진 책입니다만, 그럼에도 불구하고, 완전 초급자가 볼만한 책은 아니었습니다.

기존 레가시 혹은 모놀리식 시스템을 마이크로 서비스로 바꿔보기 위해 삽질을 해보고, "이렇게 하면 안된던데, 어떻게 해야 하지?" 라는 고민을 해본 사람을 위한 책이었습니다.

-----

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

-----

l*****6 2023.07.23. 신고 공감 0 댓글 0
리뷰 총점 종이책
마이크로서비스 아키텍처 구축
"마이크로서비스 아키텍처 구축" 내용보기
마이크로서비스가 아키텍처가 대유행하는 현재. 안 쓰면 뒤쳐지는 것 같아 무작정 도입하는 프로젝트가 많다. 이러한 이유로 도입을 하다보니 엉망진창으로 구성이 되는 경우가 상당하다. 이 책은 마이크로서비스를 도입해야 하는 경우와 아닌 경우,  모놀리틱서비스에서 전환하는 방법들과 서비스 단위, 통신, CI/CD, 보안 등 많은 내용을 다루고 있다. 단순 나열이 아닌 해당 방
"마이크로서비스 아키텍처 구축" 내용보기

 

마이크로서비스가 아키텍처가 대유행하는 현재.

안 쓰면 뒤쳐지는 것 같아 무작정 도입하는 프로젝트가 많다. 이러한 이유로 도입을 하다보니 엉망진창으로 구성이 되는 경우가 상당하다.

이 책은 마이크로서비스를 도입해야 하는 경우와 아닌 경우,  모놀리틱서비스에서 전환하는 방법들과 서비스 단위, 통신, CI/CD, 보안 등 많은 내용을 다루고 있다. 단순 나열이 아닌 해당 방식들간 비교와 장단점, 도입이 적절한 경우들도 예시로 들고있어 마이크로서비스 구축을 앞둔, 전환을 앞두고서 읽으면 상당한 도움이 되는 책이다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

l***v 2023.07.23. 신고 공감 0 댓글 0
리뷰 총점 종이책
마이크로서비스 아키텍처란 무엇인가
"마이크로서비스 아키텍처란 무엇인가" 내용보기
2010년대에 등장한 마이크로서비스 아키텍처(MSA)는 현재 소프트웨어 생태계에서도 많은 영향력을 끼치고 있는 것 같습니다. 실제로 우리가 알고 있는 유명한 서비스들은 MSA로 아키텍처를 전환하는 과정을 겪기도 했습니다. 아키텍처를 MSA로 구성하려는 목적이 있거나, 관심이 있다면 많은 통찰을 얻을 수 있는 책이라고 생각합니다. 책은 총 3부로 구성됩니다. 1부에서는 MSA의 핵
"마이크로서비스 아키텍처란 무엇인가" 내용보기

2010년대에 등장한 마이크로서비스 아키텍처(MSA)는 현재 소프트웨어 생태계에서도 많은 영향력을 끼치고 있는 것 같습니다. 실제로 우리가 알고 있는 유명한 서비스들은 MSA로 아키텍처를 전환하는 과정을 겪기도 했습니다. 아키텍처를 MSA로 구성하려는 목적이 있거나, 관심이 있다면 많은 통찰을 얻을 수 있는 책이라고 생각합니다.

책은 총 3부로 구성됩니다.

1부에서는 MSA의 핵심 아이디어를 설명하여 중요 개념들을 이해할 수 있게 도와줍니다.

2부에서는 MSA의 구현부를 다루고 있고 도움이 되는 기법과 기술들을 소개하고 있습니다.

3부에서는 사람과 조직에 대해 다루고 있습니다.

 

이 책은 기술적인 것만 다루는 것 이상으로 사람과 조직에 대한 내용까지 넓게 다루고 있어 실제 개발팀에서 MSA를 도입하기에 시행착오를 많이 줄일 수 있다는 생각이 듭니다. MSA를 잘 모르고, 처음 들어본 사람이라도 이 책을 통해 MSA가 무엇인지 이해하고, 시니어 소프트웨어 엔지니어들에게는 다양한 사례를 통해 실무에 적용하기에 큰 도움이 될 것이라고 생각합니다.

현재 회사에서 프론트엔드 개발을 진행하고 있어 MSA에서 UI를 다루는 부분은 더욱 재밌게 읽을 수 있었습니다.

 

MSA에서의 가장 중요한 점은 정말로 우리의 서비스에 MSA를 도입할 가치가 있는지를 판단하는 것이라고 생각하는데요. 여러 복잡함을 이겨내고 기존의 아키텍처보다 MSA가 가치있다고 판단이 된다면 도입하는 과정에 있어 많은 도움을 줄 수 있는 책으로 추천을 드리고 싶습니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

t*********4 2023.07.23. 신고 공감 0 댓글 0
리뷰 총점 종이책
[한빛미디어] 마이크로 서비스 아키텍처 구축
"[한빛미디어] 마이크로 서비스 아키텍처 구축" 내용보기
마이크로 아키텍처 기반의 서비스 하나를 만들기 위해 필요한 모든 지식들을 담은 총론 집. 마이크로 아키텍처 기반의 설계 혹은 서비스를 희망하는 개발자들이라면 이 책을 통해 시작해도 무방하다.     이제껏 나름 다양한 책들의 마이크로 아키텍처 관련 책들을 읽어왔지만, 이처럼 서비스 하나를 만드는 데에 필요한 모든 기술들에 대해서 총론을 나열한 책은 상당히 오랜만인듯
"[한빛미디어] 마이크로 서비스 아키텍처 구축" 내용보기

마이크로 아키텍처 기반의 서비스 하나를 만들기 위해 필요한 모든 지식들을 담은 총론 집. 마이크로 아키텍처 기반의 설계 혹은 서비스를 희망하는 개발자들이라면 이 책을 통해 시작해도 무방하다.

 

 

이제껏 나름 다양한 책들의 마이크로 아키텍처 관련 책들을 읽어왔지만, 이처럼 서비스 하나를 만드는 데에 필요한 모든 기술들에 대해서 총론을 나열한 책은 상당히 오랜만인듯하다.

 

 

그만큼 해당 책에서 다루는 내용은 기본적으로 마이크로 아키텍처에서 사용하는 보편적인 지식들을 다루고 있으며 언급한 각각의 기술만으로도 적게는 한 권에서 많게는 수십 권의 책이 나올 정도로 고도화된 전문 지식들을 간단 명료하게 설명하고 있다.

 

 

딱, 서비스를 구축하는 데에 필요한 그 정도의 필요 지식들에 대해서 언급했다는 점에서 해당 책은 담백했으며, 보다 자세한 내용을 알고 싶을 경우, 그와 관련된 저서에 대해 저자가 적극 추천하고 있다는 점에서 저자가 상당히 독자들을 배려하고 있음이 느껴졌다.

 

 

또한 실무자 입장에서는 어찌 보면 당연히 고려하고 넘어갈 법한 내용들을 주니어들 혹은 이제 막 마이크로 아키텍처를 시작한 사람들의 입장에서 명확히 집고 갔다는 점이 해당 도서가 다른 도서와 구분되는 특징이라 할 수 있다.

 

 

또한 책의 끝부분에서 마이크로 아키텍처 기술이 사용하는 용어를 부록으로 정리하여 제공함으로써 잊을법한 전문용어들에 대해서 쉽게 다시 상기시킬 수 있는 접근 요소를 제공하고 있다.

 

 

【책의 구성】 "마이크로 서비스 아키텍처 구축"의 구성은?

 

책의 구성은 크게 세 부분으로 나뉘어있다.

  • 기초
  • 구현
  • 사람

 

 

기초 파트에서는 마이크로 서비스의 정의가 무엇인지에서부터 마이크로 서비스 구축에 필요한 기본적인 상식들에 대해서 정리한 파트이다.

 

 

구현 파트에서는 기초 파트에서 배웠던 내용들을 기반으로 하여 실무에서 접할만한 내용들인 마이크로 서비스들 간의 통신, 마이크로 서비스들의 워크플로 구성, 빌드, 배포, 테스트의 내용들을 다루고 있으며 이 과정에서 k8s, ci/cd 개념 등의 내용들에 대해 첨언하고 있다.

 

 

사람 파트에서는 사용자에게 노출되는 FE를 비롯한 조직의 형태, 구성, 오픈소스 등의 내용을 다루고 있다.

 

 

각 파트에 포함된 챕터들은 제목을 근간으로 그에 해당하는 세부내용들로 분화되어 저자가 겪었던 그리고 배워야 할 내용들에 대해서 핵심 위주로 잘 나열하여 설명하고 있다.

 

 

또한 챕터 마지막에서는 해당 장에서 배웠던 내용에 대해 다시 한번 상기 시킴으로써 학습효과를 강화하는 구성을 취하였다.

 


 

1 챕터 : 마이크로 서비스란?

 

 

이 챕터에서 필자가 가장 인상 깊게 살펴보았던, 학습했던 내용은 아무 곳이나 마이크로 서비스를 사용하지 말라는 것이었다.

 

 

마이크로 서비스는 말 그대로 마이크로 + 서비스 두 단어의 합성어이다. 서비스를 잘게 나누어 마이크로하게 사람들에게 제공하는 것. 그것이 우리가 아는 마이크로 서비스이다.

 

 

이와 대조되는 군으로 모놀리스 시스템을 들 수 있는데, 요즘 대다수의 책들에서는 모놀리스는 절대로 사용해서는 안 되는 시스템 구조이며, 시대의 뒷방으로 물러난 퇴물 취급을 하는 경향이 강했다. 하지만 이 책에서의 저자는 오히려 마이크로 서비스 자체를 오용하는 경우가 많다며, 모놀리스 서비스 역시 적재적소로 사용한다면 마이크로 서비스 못지않은 훨씬 좋은 서비스 구성이 될 수 있음을 강조하고 있다.

 


 

3 챕터 : 모놀리스 분해

 

 

이 장에서는 기존의 서비스를 어떻게 마이크로 서비스로 쪼게 어 나눌지에 대해서 간략하게 정리하고 있다.

 

 

어찌 보면 이 책에서 가장 핵심이라 생각되는 부분이며, 이 책에서 가장 간단하며 명료한 챕터라 할 수 있다.

 

 

옛말에 이런 말이 있다.

 

 

'천 리 길도 한 걸음부터..'

 

 

저자는 기존의 서비스를 마이크로 서비스로 변화할 때 소소한 단위의 기능부터 마이크로 서비스로 전환하길 권장하고 있다. 실무자 입장에선 정말 극히 공감이 가는 내용이다.

 

 

본인이 프로젝트를 한번 딱 보고 조각가인 양, 필요한 부분 안 필요한 부분 단위로 척척 나눌 수 있는 능력을 갖췄다면 한 번에 전환을 해도 되지만. 보통은 그렇게 많은 양을 한 번에 전환하게 되면 반드시 장애를 겪게 된다.

 

 

가장 중요한 것은.. 차분히 그리고 꾸준히 하는 것에 있음을 잊어선 안된다.

 


 

4챕터 : 마이크로 서비스 통신 방식

 

 

보편적으로 통신 방식은 네 가지 정도가 있다. 동기/비동기/Message Broker/공용 스토리지

 

 

각각은 모두 저마다의 장단점을 갖고 있다. 어떤 통신 방법이야말로 화타가 울고 갈 치료법이다! 이렇게 말할 수 있는 것은 없다

 

 

동기의 경우, resp가 필요하고 해당 응답이 그다음 처리에 사용되는 경우에 보편적으로 사용되며

 

 

비동기의 경우, 병렬로 처리해도 되는 요청의 경우 보편적으로 사용된다.

 

 

공용 스토리지(DB, NAS)의 경우에는 대용량 파일을 주고받거나 혹은 레거시 한 환경까지 서비스를 제공하는 경우 많이 사용되며

 

 

요즘 각광받고 있는 Message Broker를 이용한 방식은 여러 workers를 배치하여 message를 구독하는 형태를 취함으로써 비동기 처리 효과 + 안정적인 서빙이 가능하게 되었다.

 

 

【 마이크로 서비스 아키텍처 구축을 읽고 나서 】

 

 

어떤 기술이든 알맞은 위치에 알맞은 형태로 사용한다면 옛날에 탄생한 것일지라도 목적에 맞게 잘 쓰일 수 있다. 최신 기술을 적용하는 것은 재미나고 신나는 일이다. 모든 새로운 것이 나오면 무엇인지 모르게 사용해 보고 싶고 들뜨는 것이 사람 심성 아니겠는가?

 

 

다만 신기술이라고 해도 결국에는 그 기본은 옛날에 만들어졌던 기술들을 토대로 쌓아 올려진 것이 태반이다. 더욱이 지금처럼 고도화된 세상에서 옛것에 기초하지 않고 완전히 새로 생겨난 기술은 없다고 봐도 무방하다.

 

 

따라서 저자가 말한 것과 같이. 옛날 접근 방식이든 최신 접근 방식이든 본인이 구축하려는 서비스의 목적에 맞게, 지금 놓인 환경에 맞게 '최신'이 아닌 '최선'의 접근 방법을 찾기 위해 분투해야 한다.

0***m 2023.07.23. 신고 공감 0 댓글 0
리뷰 총점 종이책
마이크로서비스 아키텍처 제대로 기본기 쌓기~!!
"마이크로서비스 아키텍처 제대로 기본기 쌓기~!!" 내용보기
마이크로서비스 아키텍처는 하나의 기술 트렌드로 자리잡혀 가고 있다.  서비스를 도메인별로 분리하여 각 도메인별 독립적 변경, 배포를 가능하게 하고, 다른 서비스에 영향을 주지 않기에 좀 더 안정적인 서비스를 운영할 수 있다는 장점도 있다. 그래서 아직도 레거시를 많이 운영하고 있는 개발자가 시스템을 MSA로 전환을 한다고 아래와 같은 2가지의 선택지가 있을 것 같다.
"마이크로서비스 아키텍처 제대로 기본기 쌓기~!!" 내용보기

 

마이크로서비스 아키텍처는 하나의 기술 트렌드로 자리잡혀 가고 있다. 

서비스를 도메인별로 분리하여 각 도메인별 독립적 변경, 배포를 가능하게 하고, 다른 서비스에 영향을 주지 않기에 좀 더 안정적인 서비스를 운영할 수 있다는 장점도 있다.

그래서 아직도 레거시를 많이 운영하고 있는 개발자가 시스템을 MSA로 전환을 한다고 아래와 같은 2가지의 선택지가 있을 것 같다.

  1. 레거시를 점진적으로 마이크로서비스로 구축
  2. MSA 로 신규 구축 

말로만 들으면 MSA로 서비스를 구축을 하면 안정적이고, 기존 모놀리스보다 장점이 많아 보이는데, 과연 그럴까 하는 의문도 든다.

기존 레거시가 과연 MSA로 구축할 만큼 사용자나 비용적인 측면에서 타당한지?

MSA로 전환을 하면서 생기는 문제들이 오히려 안정성을 낮추는 건 아닌지?

여러 도메인별로 서비스가 나뉘면서 관리할 포인트가 많이 생기지는 않는지?

아니면 MSA로 전환할 전문 지식이 있는지?

마이크로서비스 아키텍처를 잘 모르고, 막상 MSA로 전환을 하면 여러가지 문제에 닥치게 될텐데, 이 때 필요한 책이 ‘마이크로서비스 아키텍처 구축’이란 책인 것 같다.

우선 다른 책들과 다르게 마이크로서비스를 구축하는 실습을 위주로 다루지 않는다. 우리가 마이크로서비스 구축을 하기위해 시작 단계에서부터 이게 과연 우리 서비스와 맞는지까지 모든 것을 다시 생각해보게 해주는 책이다.

전면 개정판으로 나오면서 내용도 많이 최신화 되었고, 책을 읽으면서 기존 레거시를 마이크로서비스로 전환을 하려고 하는 사람들에게 많은 도움이 될 것 같은 책인 것 같다.

MSA를 도입부터 기술까지 전반적인 이론적인 내용과 경험을 담고 있는 책이기 때문에 꼭 한 번 읽어보면 좋은 책이라 추천한다. 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

j****5 2023.07.23. 신고 공감 0 댓글 0
리뷰 총점 종이책
빠르고 간결한 서비스 구축 : 비용과 기술적 도전
"빠르고 간결한 서비스 구축 : 비용과 기술적 도전" 내용보기
마이크로서비스에 대한 내용을 접한 후 그 간결함에 이끌려 신규로 진행하는 프로젝트에 실험적으로 적용 해보기도 했다. 하지만 서비스의 간결함 뒤에는 기반 기술의 복잡함이 숨어있었다. 마이크로서비스 아키텍처의 경우 각 기능이 독립적으로 개발되고 배포될 수 있어서, 빠른 개발과 배포가 가능하다. 또한, 각 마이크로서비스의 관리가 쉽고, 장애 발생 시 해당 서비스만 디
"빠르고 간결한 서비스 구축 : 비용과 기술적 도전" 내용보기

마이크로서비스에 대한 내용을 접한 후 그 간결함에 이끌려 신규로 진행하는 프로젝트에 실험적으로 적용 해보기도 했다. 하지만 서비스의 간결함 뒤에는 기반 기술의 복잡함이 숨어있었다.

마이크로서비스 아키텍처의 경우 각 기능이 독립적으로 개발되고 배포될 수 있어서, 빠른 개발과 배포가 가능하다. 또한, 각 마이크로서비스의 관리가 쉽고, 장애 발생 시 해당 서비스만 디버깅하고 배포할 수 있어 다른 서비스에 영향을 최소화하는 점에서도 큰 이점을 느꼈다.

그러나, 이 책에서 서술한 것처럼 시스템 자체를 운영하고 관리하기 위해서는 기술적인 지식과 높은 수준의 전문 기술력이 필요하다. 각 마이크로서비스 간의 연동과 통신을 관리하는 것은 쉽지 않았고, 분산 시스템의 복잡성에 대한 이해가 요구된다. 따라서, 프로젝트에서 이러한 인력과 기술 지식을 확보하기 위한 추가적인 비용이 발생하게 된다. (시간 or 현금)

이 책은 개발자들에게 마이크로서비스 아키텍처에 대한 시각과 인사이트를 제공한다. 하지만, 모든 프로젝트에 적합한 것은 아니다. 팀 규모가 작고 단순한 프로젝트에는 오히려 기술 및 비용 부담이 커지므로, 적용을 고려할 때에는 신중한 판단이 필요하며 점진적인 전환이 필요하다.

이 책은 현업에서 얻은 경험을 바탕으로 하는 뛰어난 설계와 개발 원칙을 제시하고 있으며, 기존의 모놀리식 아키텍처에서 마이크로서비스 아키텍처로 전환을 고려하는 개발자들에게 많은 도움이 될 것 같다. 다만, 비용 측면에서 신중한 고려가 필요하며, 기술적인 부분에서는 팀의 역량을 고려하여 적용 여부를 결정하는 것이 좋을 것 같다.

[한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.]

k******a 2023.07.23. 신고 공감 0 댓글 0
리뷰 총점 종이책
마이크로서비스 아키텍처 구축
"마이크로서비스 아키텍처 구축" 내용보기
마이크로서비스 아키텍처는 2010년대 초반부터 등장한 소프트웨어 접근 방식입니다. 애플리케이션을 작은 독립적인 단위로 나누어 개발하고 운영하는 방법인데요. 초기에는 혼합된 반응이 있었지만, 유연성과 확장성으로 인해 점점 더 많은 기업에서 도입하고 있습니다. 마이크로서비스의 바이블 같은 책을 살펴보도록 하겠습니다. 살펴볼 책은 ‘마이크로서비스 아키텍처 구축’입니
"마이크로서비스 아키텍처 구축" 내용보기

마이크로서비스 아키텍처는 2010년대 초반부터 등장한 소프트웨어 접근 방식입니다.

애플리케이션을 작은 독립적인 단위로 나누어 개발하고 운영하는 방법인데요.
초기에는 혼합된 반응이 있었지만, 유연성과 확장성으로 인해 점점 더 많은 기업에서 도입하고 있습니다.

마이크로서비스의 바이블 같은 책을 살펴보도록 하겠습니다.

살펴볼 책은 ‘마이크로서비스 아키텍처 구축’입니다.

주로 대규모의 복잡한 애플리케이션을 만들 때 마이크로서비스로 구축합니다.

마이크로서비스 아키텍처 구축을 도입하기 전 고충이 있으실 텐데요.
마이크로서비스 분리의 어려움을 느끼는 분들도 계실 겁니다.

어려운 이유는 기존의 모놀리식 애플리케이션을 마이크로서비스로 전환하는 것은 비용과 시간이 많이 들기 때문입니다.

도입 시의 장단점을 고려하여 적절한 상황에서 적용하는 것이 중요합니다.

마이크로서비스의 핵심 개념과 회복 탄력성에 관해 살펴보도록 하겠습니다.


 

◆ 소프트웨어 개발에 필요한 회복 탄력성
회복 탄력성은 시스템이 예기치 않은 장애에도 빠르게 복구되고 안정성을 유지하는 능력입니다.

장애는 언제든 발생할 수 있는데요.
이 문제를 해결하려면 여러 안정성 패턴과 기법을 적용하여 위험을 분산시키고 기능 저하를 고려해야 합니다.

또한, 카오스 엔지니어링을 통해 시스템을 테스트하고 비난보다는 문제 해결에 초점을 두어야 합니다.

CAP 정리를 이해하여 시스템 설계에 적절한 선택을 해야 합니다.

이를 통해 시스템의 회복 탄력성을 향상할 수 있습니다.


 

◆ 마이크로서비스의 핵심 개념
마이크로서비스의 핵심 개념 중 하나는 독립적 배포성입니다.

각각의 마이크로서비스는 독립적으로 개발, 테스트, 배포되며, 다른 서비스와 무관하게 운영될 수 있습니다.

이로 인해 시스템 전체의 안정성과 확장성이 향상되며, 개발과 배포가 더욱 빠르고 유연해집니다.

또한, 도메인 중심의 모델링 유연성은 각 서비스가 특정 비즈니스 도메인에 집중되어 독립적으로 발전할 수 있습니다.

기술 스택이나 데이터베이스 선택에 대한 자유도가 높습니다.

이러한 특징으로 인해 마이크로서비스 아키텍처는 현대적인 애플리케이션 개발에 많은 관심을 받고 있습니다.


 

끝으로 마이크로서비스 아키텍처에 대한 기업들의 관심이 커지고 있습니다.

1판도 많은 관심을 받았지만, 저자는 그때 담지 못한 이야기까지 이번 책에 담기 위해 노력했는데요.
모든 장을 다 검토하고 문장을 다듬으면서 독자들의 이해를 도우려고 힘썼습니다.

1~2부에서는 마이크로서비스의 알아야 할 핵심 아이디어와 구현할 수 있는 도움 되는 기법과 기술을 알려줍니다.

3부에서는 마이크로서비스 조직 구조와 아키텍트의 방향에 대한 주제를 다룹니다.

마이크로서비스 전문가의 핵심 조언과 아키텍처 구축 시 올바른 의사결정을 할 수 있도록 도와줍니다.

책의 목차를 보면 주제별 형식으로 구성되어 있습니다.

자신이 원하는 주제를 보고 싶을 때 낯선 용어가 있을 수 있는데요.
그럴 땐 책의 뒤쪽에 용어집이 수록되어 있으므로 참고하고 읽어보시길 바랍니다.

마이크로서비스 아키텍처를 도입 중이거나 고민 중이신 분들에게 이 책을 추천합니다.


 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
 

n*******e 2023.07.22. 신고 공감 0 댓글 0