메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

소프트웨어 아키텍처 The Hard Parts

분산 아키텍처를 위한 모던 트레이드오프 분석

한빛미디어

번역서

판매중

  • 저자 : 닐 포드 , 마크 리처즈 , 프라모드 세달라지 , 세막 데그하니
  • 번역 : 이일웅
  • 출간 : 2022-10-01
  • 페이지 : 508 쪽
  • ISBN : 9791169210294
  • eISBN : 9791169216203
  • 물류코드 :11029
  • 초급 초중급 중급 중고급 고급
1 2 3 4 5
4.8점 (59명)
좋아요 : 6

책소개

소프트웨어 아키텍처 문제-해결을 위한 지식과 실용적 프레임워크를 다루는 안내서

 

『소프트웨어 아키텍처 101』의 실무편에 해당하는 후속작이다. 분산 아키텍처를 구축할 때 서비스를 나눠야 하는 경우와 합쳐야 하는 경우를 각각 세분도(granularity) 분해인과 통합인이라는 두 가지 관점에서 바라보고, 어떻게 하면 아키텍트가 객관적으로 트레이드오프를 분석해서 올바른 의사 결정을 내릴 수 있는지 이야기한다. 전작이 소프트웨어 아키텍처의 중심 철학과 다양한 아키텍처의 세계를 빠르게 훑어보는 개론서였다면, 『소프트웨어 아키텍처 The Hard Parts』는 제목에 걸맞게 실무 아키텍처링을 할 때 가장 난해한, 그러나 한번 결정되면 바꾸기 어렵고 근본적인 영향을 미치는 부분(hard part)을 진지하게 살펴본다.

 

 

 

940_상세이미지_소프트웨어 아키텍처 The Hard Parts.jpg

저자소개

닐 포드 저자

닐 포드

엔드투엔드 소프트웨어 개발과 인도를 전문으로 하는 글로벌 IT 컨설팅 회사, 쏘우트웍스(ThoughtWorks)의 이사이자 소프트웨어 아키텍트, 밈 랭글러(meme wrangler)이다. 쏘우트웍스에 입사하기 전에는 미국에서 유명한 교육/훈련 개발 회사인 DSW Group에서 최고 기술 책임자(CTO)를 역임했다.

 

 

마크 리처즈 저자

마크 리처즈

마이크로서비스 등의 분산 아키텍처의 설계와 구현에 참여한 소프트웨어 아키텍트 경력자다. 개발자를 소프트웨어 아키텍트 세계로 안내하는 ‘DeveloperToArchitect.com’을 처음 만들었다.

 

프라모드 세달라지 저자

프라모드 세달라지

쏘우트웍스의 데이터 및 데브옵스 담당 이사다. 애플리케이션 개발, 신속한 변화를 위한 데이터베이스 개발, 진화 데이터베이스 설계, 알고리즘 디자인, 데이터베이스 관리에 깊은 지식이 있다.

세막 데그하니 저자

세막 데그하니

데이터 메시 창시자. 쏘우트웍스(Thoughworks)사의 기술 담당 이사이며 기업의 분산 시스템과 데이터 아키텍처에 초점을 두고 있습니다. 쏘우트웍스를 포함한 여러 기술 자문 위원회의 멤버이기도 합니다. 궁극적으로 아키텍처, 데이터, 오너십을 포함한 모든 것의 탈중앙화를 옹호합니다.

 

이일웅 역자

이일웅

20년 가까이 국내외 엔터프라이즈 현장에서 자바 전문 풀스택 개발자, 소프트웨어 아키텍트로 프로젝트에 참여해 왔다. 어느덧 50대를 바라보는 중년 아재가 되었지만 아직도 기술이 궁금한 엔지니어다. 20여 권의 IT 전문서를 번역하며 동료, 후배 개발자들과 지식과 경험을 나누는 일에도 힘쓰고 있다. 집에서는 세 여인의 분에 넘치는 사랑을 받고 사는, 세상에서 제일 행복한 딸바보 아빠다. 

목차

chapter 1 ‘베스트 프랙티스’가 없다면?

1.1 왜 ‘하드 파트’인가?

1.2 소프트웨어 아키텍처에 관한 영원불변의 조언

1.3 아키텍처에서 데이터의 중요성

1.4 아키텍처 결정 레코드

1.5 아키텍처 피트니스 함수

1.6 아키텍처 vs. 설계: 정의는 간단명료하게

1.7 한빛가이버 사가

 

 

PART 1 따로 떼어놓기

 

chapter 2 아키텍처 퀀텀

2.1 아키텍처 퀀텀

2.2 한빛가이버 사가: 퀀텀의 이해


chapter 3 아키텍처 모듈성

3.1 모듈화 동인

3.2 한빛가이버 사가: 비즈니스 케이스 만들기

 

chapter 4 아키텍처 분해

4.1 분해 가능한 코드베이스인가?

4.2 컴포넌트 기반 분해

4.3 전술적 분기

4.4 한빛가이버 사가: 어떤 방식으로 분해할 것인가?

 

chapter 5 컴포넌트 기반 분해 패턴

5.1 컴포넌트 식별 및 사이징 패턴

5.2 공통 도메인 컴포넌트 수집 패턴

5.3 컴포넌트 눌러 펴기 패턴

5.4 컴포넌트 디펜던시 결정 패턴

5.5 컴포넌트 도메인 생성 패턴

5.6 도메인 서비스 생성 패턴

5.7 정리하기

 

chapter 6 운영 데이터 분리

6.1 데이터 분해인

6.2 모놀리식 데이터 분해

_1단계 데이터베이스 분석과 데이터 도메인 생성

_2단계 데이터 도메인에 테이블 할당

_3단계 데이터 도메인에 접속하는 데이터베이스 커넥션 분리

_4단계 개별 데이터베이스 서버로 스키마 이전

_5단계 독립적 데이터베이스 서버로 전환

6.3 데이터베이스 타입 선택

6.4 한빛가이버 사가: 폴리글랏 데이터베이스

 

chapter 7 서비스 세분도

7.1 세분도 분해인

7.2 세분도 통합인

7.3 적정 균형점 찾기

7.4 한빛가이버 사가: 티켓 배정 세분도

7.5 한빛가이버 사가: 고객 등록 세분도

 

 

PART 2 다시 합치기

 

chapter 8 재사용 패턴

8.1 코드 복제

8.2 공유 라이브러리

8.3 공유 서비스

8.4 사이드카와 서비스 메시

8.5 한빛가이버 사가: 공통 인프라 로직

8.6 코드 재사용: 어떤 경우에 가치 있는가?

8.7 한빛가이버 사가: 공유 도메인 기능

 

chapter 9 데이터 오너십과 분산 트랜잭션

9.1 데이터 오너십 할당

9.2 단독 오너십

9.3 공통 오너십

9.4 공동 오너십

9.5 서비스 통합 기법

9.6 데이터 오너십 요약

9.7 분산 트랜잭션

9.8 최종 일관성 패턴

9.9 한빛가이버 사가: 티켓 처리 관련 데이터 오너십

 

chapter 10 분산 데이터 액세스

10.1 서비스 간 통신 패턴

10.2 컬럼 스키마 복제 패턴

10.3 복제 캐싱 패턴

10.4 데이터 도메인 패턴

10.5 한빛가이버 사가: 티켓 배정 관련 데이터 액세스

 

chapter 11 분산 워크플로 관리

11.1 오케스트레이션 통신 스타일

11.2 코레오그래피 통신 스타일

11.3 오케스트레이션과 코레오그래피의 트레이드오프

11.4 한빛가이버 사가: 워크플로 관리

 

chapter 12 트랜잭셔널 사가

12.1 트랜잭셔널 사가 패턴

12.2 상태 관리와 최종 일관성

12.3 사가 관리 기법

12.4 한빛가이버 사가: 원자적 트랜잭션과 보상 업데이트

 

chapter 13 계약

13.1 엄격한 계약 vs. 느슨한 계약

13.2 스탬프 커플링

13.3 한빛가이버 사가: 티켓 계약 관리

 

chapter 14 분석 데이터 관리

14.1 예전 접근 방법

14.2 데이터 메시

14.3 한빛가이버 사가: 데이터 메시

 

chapter 15 자신만의 트레이드오프 분석

15.1 서로 연관된 차원 확인

15.2 트레이드오프 기법

15.3 한빛가이버 사가: 에필로그

부록 A 중요 개념과 용어 색인

부록 B 아키텍처 결정 레코드 색인

부록 C 트레이드오프 색인

부록 D 미주

출판사리뷰

마이크로서비스 아키텍처 구축을 위한 패턴과 분석 기법

 

소프트웨어 아키텍트에게는 그 어느 하나 쉬운 결정이 없다. 수많은 상충 관계에 맞서 의사 결정을 내리고, 선택해야 하는 '하드 파트'만이 기다리고 있을 뿐이다.

이 책은 분산 아키텍처를 구축할 때, 아키텍트가 트레이드오프를 객관적으로 분석하여 의사 결정을 내리기까지의 모든 과정을 상세히 가이드한다. 하지만 그동안 수없이 많이 다뤄졌던 ‘최고의 솔루션’이나 ‘모범 사례’가 아니라, 각 아키텍처 방법론과 패턴의 장단점을 있는 그대로 담아냈다. 또한 리팩토링을 앞둔 가상 애플리케이션 서비스 팀의 이야기를 따라가며, 그들의 고민과 인사이트, 팁까지 현장감 있게 만나볼 수 있다

 

 

주요 내용

  • 트레이드오프 분석과 함께 의사 결정을 효과적으로 문서화하기
  • 서비스 세분화를 통해 더 나은 결정을 내리는 방법
  • 모놀리식(monolithic) 애플리케이션 분리의 복잡도
  • 서비스간 계약 관리 및 분리
  • 고도로 분산된 아키텍처에서 데이터 처리하기
  • 애플리케이션을 분리할 때 워크플로와 트랜잭션을 관리하는 패턴 학습

 

추천사

 

『소프트웨어 아키텍처 The Hard Parts』는 고도로 결합된 시스템을 분해해 다시 쌓아올리는 데 꼭 필요한 인사이트, 프랙티스, 실제 사례를 아낌없이 제공합니다. 이 책을 읽고 나면, 효과적인 트레이드오프 분석 기술을 확보해 더 나은 아키텍처 의사 결정을 내리게 될 것입니다.

_주스트 반 위넨, 인퓨즈 컨설팅 공동 창업자 겸 경영자

 

‘진흙잡탕’을 쪼개는 건 쉬운 일이 아닙니다. 이 책을 읽고 나면 어떤 서비스를 따로 빼내야 하고 어떤 서비스를 함께 두는 게 좋을지 알게 해주는, 코드부터 데이터까지 큰 그림을 바라보는 안목이 생길 것입니다.

_루벤 디아즈-마르티네즈, 코드사이 소프트웨어 개발자

독자리뷰

오탈자 보기

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
소프트웨어 아키텍처 The Hard Parts
* 제목 :
* 별점평가
1 2 3 4 5
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
소프트웨어 아키텍처 The Hard Parts
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
소프트웨어 아키텍처 The Hard Parts
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?