본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

마이크로서비스 아키텍처 구축 가이드 상세페이지

컴퓨터/IT 개발/프로그래밍

마이크로서비스 아키텍처 구축 가이드

일 잘하는 PM이 되기 위한 실무 밀착 가이드
소장종이책 정가32,000
전자책 정가20%25,600
판매가25,600
마이크로서비스 아키텍처 구축 가이드 표지 이미지

마이크로서비스 아키텍처 구축 가이드작품 소개

<마이크로서비스 아키텍처 구축 가이드> 국내 환경에 최적화된 마이크로서비스 아키텍처 구축 프로세스



마이크로서비스 아키텍처가 세상에 알려진 지 오랜 시간이 지났지만 실무 현장에서는 아직도 마이크로서비스 아키텍처 도입에 대한 많은 의문점을 가지고 있다. 이 책은 마이크로서비스 아키텍처와 관련하여 실무자가 가장 많이 했던 질문과 그에 대한 답변을 담고 있다. 따라서 이 책으로 마이크로서비스 아키텍처에 대한 막연했던 궁금증을 풀 수 있으며 왜 도입해야 하는지 알 수 있다. 또한 마이크로서비스 아키텍처를 정확하게 이해할 수 있도록 핵심적인 특징에 대해 살펴보고 마이크로서비스 아키텍처를 도입하면 어떤 목표를 달성할 수 있는지, 어떻게 목표를 수립해야 하는지를 설명한다. 그리고 국내 실정에 맞게 마이크로서비스 아키텍처를 실무에 적용할 수 있도록 단계별로 고려해야 하는 내용과 전략에 대해 설명하며 서비스를 구축할 때 필요한 아키텍처 스타일, 개발 프로세스, 설계 원칙, 구현 패턴 등을 알려준다.


출판사 서평

실무에 최적화된 마이크로서비스 아키텍처 도입 및 운영을 위한 노하우



이 책은 크게 2부로 나눠져 있다. 1부에는 마이크로서비스 아키텍처를 도입하기 전에 반드시 생각해봐야 할 체크포인트를 정리했다. 먼저 마이크로서비스 아키텍처를 정확하게 이해하기 위해 명확한 정의와 핵심 특징에 대해 알아보고 마이크로서비스 아키텍처를 도입하는 이유가 무엇인지 살펴본다. 특히 마이크로서비스 아키텍처와 관련하여 실무자가 가장 많이 했던 질문과 그에 대한 답변을 살펴보면서 마이크로서비스 아키텍처를 도입하는 것이 바람직한지, 도입 후 생길 수 있는 구현 이슈는 어떤 것들이 있고 해결 방법은 무엇인지 알아본다.



2부에서는 마이크로서비스 아키텍처를 성공적으로 적용하기 위한 방법을 단계별로 살펴본다. 먼저 시스템의 특성이나 개선 목표에 따라 마이크로서비스 아키텍처 적용이 적합한지 판단하는 방법에 대해 설명한다. 그리고 도입 후 달성할 수 있는 목표를 정의하고 그 목표를 수립하는 과정을 살펴본다. 그다음 시스템의 주요 업무를 파악하고 서비스를 분할해서 도출하는 과정에 대해 설명하고 도입 목표를 만족시키는 서비스 선정 방법을 소개한다. 또한 서비스를 설계하는 데 필요한 기본 내용을 설명하며 서비스 역할과 관계 구체화 및 도입 목표 달성 검증 방법에 대해 살펴본다.





★ 대상 독자



이 책은 마이크로서비스 아키텍처를 도입 및 구축하려고 하는 시스템 담당자, PM, PL, 개발자 등을 포함하여 마이크로서비스 아키텍처에 관심 있는 모든 독자를 대상으로 한다. 마이크로서비스 아키텍처로 구축되어 있는 시스템의 개선과 애플리케이션 현대화에 관심 있는 독자에게도 도움이 될 것이다.





★ 이 책의 구성



1부_마이크로서비스 아키텍처 이해하기



1장_마이크로서비스 아키텍처란?

마이크로서비스 아키텍처의 명확한 정의와 핵심적인 특징을 살펴보고 이해하기 어려운 이유와 도입했을 때의 장점 등에 대해 설명한다. 또한 마이크로서비스 아키텍처를 도입한 대표적인 기업들의 공통적인 특징을 살펴보고 마이크로서비스 아키텍처를 적용하는 방식에 대해 알아본다.



2장_어떻게 적용해야 할까?

우리 시스템에 마이크로서비스 아키텍처가 적합할지, 프로젝트 일정 수립과 비용 산정은 어떻게 하는지, 데이터베이스는 어디까지 분리해야 하는지 등 시스템 책임자, PM, 아키텍트, 개발자가 마이크로서비스 아키텍처에 대해 관심을 가질만한 내용을 질문과 답변 형식으로 소개한다.



3장_데이터베이스를 분리한다고?

마이크로서비스 아키텍처 구현에 대한 질문과 답변을 담았다. 아키텍처 스타일과 동작 방식을 비교하여 서비스 간의 참조가 생각보다 적은 이유를 이론적으로 설명하며 REST API로 데이터를 조합하는 방식을 예시 코드로 보여준다. 또한 실제 속도를 측정하여 모놀리식 아키텍처로 구현한 경우와 비교해본다. 그리고 여러 서비스의 트랜잭션에서 자동 롤백과 동시성이 보장이 안 되는 상황을 살펴보고 실제 영향에 대해서 설명한다.





2부_마이크로서비스 아키텍처 적용하기



4장_서비스 선정하기

마이크로서비스 아키텍처의 서비스를 선정하고 설계하는 절차에 대해 전반적으로 살펴본다. 그리고 마이크로서비스 아키텍처 도입 목표 수립 과정과 서비스를 선정할 때 시행착오를 줄이면서 안정적으로 서비스를 분할할 수 있는 방법에 대해 소개한다.



5장_서비스 설계 원칙

서비스를 설계하는 데에 필요한 기본 지식을 소개한다. 먼저 마이크로서비스 아키텍처에 널리 사용되는 REST API, SPA, 클라우드 네이티브 애플리케이션에 대해 알아보고 전통적인 웹 아키텍처와의 차이점과 전통적인 웹 시스템을 마이크로서비스 아키텍처로 전환할 때 고려해야 하는 점을 살펴본다. 그리고 서비스처럼 화면을 업무 단위로 분할할 때 필요한 프런트엔드의 분리 및 조합 기술을 알아본다. 또한 서비스 간의 건전한 의존 관계를 형성하기 위한 기본 원칙과 서비스 간의 의존 관계를 약하게 하여 변경을 쉽게 하고 장애 영향도를 낮추는 설계 원칙에 대해 알아본다.



6장_서비스 설계하기

선정한 서비스 동작을 설계하여 서비스 역할을 구체화하고 서비스 간의 관계를 도출하는 방법에 대해 소개한다. 또한 각자 익숙한 설계 방법으로 서비스 동작을 기술하여 서비스 간의 참조나 여러 서비스에 걸친 트랜잭션으로 발생할 수 있는 구현 이슈를 탐지하는 방법에 대해 알아본다. 그리고 서비스별로 변경 및 배포를 독립적으로 할 수 있도록 프로세스와 조직을 확인해보고 장애 격리, 확장성 등을 검토하여 마이크로서비스 아키텍처 도입 목표를 만족할 수 있는지 살펴본다. 마지막으로 마이크로서비스 아키텍처 서비스를 설계하는 데 도움이 될만한 다양한 예시를 소개한다.



7장_서비스 개발하기

마이크로서비스 아키텍처로 시스템을 개발하는 데에 필요한 내용을 소개한다. 먼저 시스템의 기본 동작을 결정하는 사용자의 인증/인가 방식에 대해 살펴본다. 그다음 사용자 로그인 상태를 관리하는 다양한 방식을 알아보고 각각의 방식을 기반으로 한 사용자의 인증/인가 방식을 확인해본다. 그리고 서비스가 다른 서비스를 참조할 때 데이터 유형에 따른 구현 방식을 살펴보고, 참조 성능을 최적화하는 방법에 대해 알아본다. 또한 서비스 간의 데이터 참조나 트랜잭션 구현에 필요한 기술을 알아본다. 마지막으로 외부 요인으로 서비스에 장애가 발생할 수 있는 유형을 살펴보고 이를 회피할 방법에 대해 설명한다.





추천사



최근에 클라우드 네이티브 같은 환경과 여러 설루션이 등장하여 마이크로서비스 아키텍처를 구현하기가 수월해졌다. 따라서 마이크로서비스 아키텍처를 구현하기 위한 서비스를 적재적소에 활용한다면 최소한의 인력과 시간으로 완벽하게 장애를 대비할 수 있는 고가용성의 시스템을 구성하고 운영할 수 있다. 이 책은 다양한 사례와 예시 코드를 제공하며 마이크로서비스 아키텍처 구축을 위한 노하우와 설계 시 고려해야 할 핵심 내용을 잘 짚어준다. 이 책에서 다루고 있는 사례들이 현장에서 고민하고 있는 부분과 일치하는 것이 많아서 큰 도움이 되었다. 마이크로서비스 아키텍처를 도입하고자 하는 조직이나 구성원에게 이 책이 훌륭한 가이드가 되어줄 것이다.

_권민승 - 백엔드 개발자



이 책의 제목이 내용을 아주 잘 담고 있다. 시중에 마이크로서비스 관련 책은 많이 있지만 실제 구현과 관련된 내용을 이렇게 자세하게 언급한 책은 처음인 것 같다. 매우 실용적인 예시를 담고 있어서 마이크로서비스 아키텍처 도입을 고민하는 독자나 조직에게 큰 도움이 될 것이다.

_백재연 - GDE for Google Cloud



실무 현장에서 마이크로서비스 아키텍처를 적용할 때 가장 어려워하는 부분이 서비스 설계와 구현에 대한 것이다. 특히 서비스를 분할할 때 명확한 기준이 존재하지 않아서 각 시스템의 특성에 맞는 설계가 필요한데 이 책에 이와 관련한 내용이 담겨 있다. 또한 저자가 국내 상황을 명확히 인지하고 있어 실무 현장에 적합하게 적용할 수 있는 팁이 많이 포함되어 있다. 단순히 패턴이나 이론 설명으로 그치는 것이 아니라 다양한 예시와 구현 코드, 테스트 결과 등을 제공함으로써 마이크로서비스 아키텍처를 설계하고자 하는 독자에게 많은 도움을 줄 것이다.

_이장현 - 삼성SDS



이 책은 마이크로서비스 아키텍처의 기본 개념부터 구현 및 구축에 대한 내용까지 폭넓고 상세하게 다루고 있다. 무엇보다 다양한 그림을 활용한 직관적인 설명으로 마이크로서비스 아키텍처에 대해 좀 더 쉽게 이해할 수 있었다. 또한 마이크로서비스 아키텍처를 구축하고 관리할 때 생길 수 있는 문제를 해결하기 위한 인사이트를 얻을 수 있으며 이와 관련한 유용한 조언도 가득하다. 기존 모놀리식 아키텍처 기반의 대용량 시스템에서 마이크로서비스 아키텍처로 전환을 고민하고 있다면 이 책을 추천한다.

_이석곤 - (주)아이알컴퍼니



이 책은 저자가 현장을 돌아다니며 많은 시행착오와 뼈아픈 장애를 경험하면서 얻은 노하우와 지식의 결정체이다. 다른 책과 비교했을 때 확실한 차별성을 가지고 있다. 단순히 개발을 어떻게 해야 하는지에 대한 내용이 아니라 마이크로서비스 아키텍처 도입 목표 수립부터 시스템 개발 완료까지 모든 단계를 다루며 중요한 핵심 포인트를 놓치지 않고 설명해준다.

_임재봉 - Elastic.co



저자 소개

김용욱

삼성SDS에 입사하여 엔터프라이즈 시스템 개발자/운영자, 임베디드 소프트웨어 개발자, 패키지/서비스 설루션 소프트웨어 아키텍트로 근무하다 2018년부터 마이크로서비스 아키텍처를 시스템에 적용하고자 할 때 도움을 주는 역할을 하고 있다. 클린 코드, 리팩터링, TDD 같은 애자일 프랙티스에 관심이 많으며 좋은 세미나 영상을 발견하면 자막을 만들어 주변에 소개하는 활동도 하고 있다.

목차

1부. 마이크로서비스 아키텍처 이해하기



1장. 마이크로서비스 아키텍처란?

1.1 일반적인 정의

1.2 정확하게 무엇인가?

1.3 마이크로서비스 아키텍처의 대표적인 사례와 특징

1.4 점진적인 전환 vs 빅뱅 전환



2장. 어떻게 적용해야 할까?

질문1. 우리 시스템에 마이크로서비스 아키텍처가 적합할까?

질문2. 엔터프라이즈 시스템에도 어울릴까?

질문3. 프로젝트 일정은 어떻게 수립해야 할까?

질문4. 프로젝트 비용은 어떻게 산정해야 할까?

질문5. 서비스는 분리하고 데이터베이스만 열어주면 안 될까?

질문6. 데이터베이스는 어디까지 분리해야 충분할까?

질문7. 도메인 주도 설계를 배워야 할까?

질문8. 우리 시스템은 왜 마이크로서비스 아키텍처를 도입했을까?

질문9. 우리 시스템은 마이크로서비스 아키텍처일까?



3장. 데이터베이스를 분리한다고?

질문1. 서비스 간의 통신이 너무 많지 않겠어?

질문2. REST API 참조로 속도가 나오겠어?

질문3. 자동으로 롤백이 안 된다고?

질문4. 동시성 이슈는?





2부. 마이크로서비스 아키텍처 적용하기



4장. 서비스 선정하기

4.1 서비스 선정 및 설계 절차

4.2 적합성 검토

4.3 도입 목표 수립

4.4 분할 가능한 업무 식별

4.5 서비스 선정

4.5 서비스 선정 예시



5장. 서비스 설계 원칙

5.1 아키텍처

5.2 설계 원칙



6장. 서비스 설계하기

6.1 개요

6.2 검토 항목

6.3 설계 예시

6.4 사례 살펴보기



7장. 서비스 개발하기

7.1 세션 관리와 접근 제어

7.2 서비스 간 데이터 참조 가이드

7.3 트랜잭션 관리: 원자성과 독립성

7.4 서비스 간 장애 차단


리뷰

구매자 별점

4.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

1명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전