목차

목차

▣ 01장: 아마존 비즈니스 민첩성의 비밀 1.1 성공한 인터넷 기업들과 비즈니스 민첩성 ___1.1.1 성공 사례: 아마존의 배포 속도 ___1.1.2 클라우드 인프라의 등장 ___1.1.3 클라우드 인프라에 어울리는 애플리케이션의 조건 ______스케일 업과 스케일 아웃 ______특정 서비스만 탄력성 있게 확장(스케일 아웃) ______클라우드 프렌들리와 클라우드 네이티브 1.2 마이크로서비스란 무엇인가? ___1.2.1 모노리스와 마이크로서비스 비교 ___1.2.2 SOA와 마이크로서비스 1.3 마이크로서비스를 위한 조건은 무엇인가? ___1.3.1 조직의 변화: 업무 기능 중심 팀 ___1.3.2 관리체계의 변화: 자율적인 분권 거버넌스, 폴리글랏 ___1.3.3 개발 생명주기의 변화: 프로젝트가 아니라 제품 중심으로 ___1.3.4 개발 환경의 변화: 인프라 자동화 ___1.3.5 저장소의 변화: 통합 저장소가 아닌 분권 데이터 관리 ___1.3.6 위기 대응 방식의 변화: 실패를 고려한 설계 1.4 정리 ▣ 02장: MSA의 이해 2.1 리액티브 선언: 현대 애플리케이션이 갖춰야 할 바람직한 속성들 2.2 강 결합에서 느슨한 결합의 아키텍처로의 변화 2.3 마이크로서비스의 외부 아키텍처와 내부 아키텍처 2.4 MSA 구성요소 및 MSA 패턴 ___2.4.1 인프라 구성요소 ______퍼블릭 클라우드와 베어 메탈, 프라이빗 클라우드 환경 ______VM과 컨테이너 ______컨테이너 오케스트레이션 ______그 밖의 다양한 클라우드 인프라 서비스 ___2.4.2 마이크로서비스 운영과 관리를 위한 플랫폼 패턴 ______개발 지원 환경: 데브옵스 인프라 구성 ______빌드/배포 파이프라인 설계 ______마이크로서비스 생태계와 운영 관리 요소의 탄생 ______경험으로 획득한 지혜: 마이크로서비스 관리/운영 패턴 ______스프링 클라우드: 스프링 부트 + 넷플릭스 OSS ______다양한 서비스의 등록 및 탐색을 위한 서비스 레지스트리, 서비스 디스커버리 패턴 ______서비스 단일 진입을 위한 API 게이트웨이 패턴 ______BFF 패턴 ______외부 구성 저장소 패턴 ______인증/인가 패턴 ______장애 및 실패 처리를 위한 서킷 브레이커 패턴 ______모니터링과 추적 패턴 ______중앙화된 로그 집계 패턴 ______MSA 기술 변화 흐름 ______서비스 메시 패턴 ___2.4.3 애플리케이션 패턴 ______UI 컴포지트 패턴 또는 마이크로 프런트엔드 ______마이크로서비스 통신 패턴 ______저장소 분리 패턴 ______분산 트랜잭션 처리 패턴 ______읽기와 쓰기 분리: CQRS 패턴 ______API 조합과 CQRS ______쓰기 최적화: 이벤트 소싱 패턴 2.5 정리 ▣ 03장: 마이크로서비스 애플리케이션 아키텍처 3.1 비즈니스 로직은 어디에? - 관심사의 분리 ___3.1.1 데이터베이스 중심 아키텍처의 문제점 3.2 헥사고날 아키텍처와 클린 아키텍처 ___3.2.1 레이어드 아키텍처 ___3.2.2 헥사고날 아키텍처 ___3.2.3 클린 아키텍처 3.3 마이크로서비스의 내부 구조 정의 ___3.3.1 바람직한 마이크로서비스의 내부 아키텍처: 클린 마이크로서비스 ___3.3.2 내부 영역 - 업무 규칙 ______트랜잭션 스크립트 패턴 ______도메인 모델 패턴 ______도메인 주도 설계의 애그리거트 패턴 ___3.3.3 외부 영역 - 세부사항 ______API 퍼블리싱 어댑터 ______API 프락시 어댑터 ______저장소 처리 어댑터 ______도메인 이벤트 발행 어댑터 ______도메인 이벤트 핸들러 3.4 정리 ▣ 04장: 마이크로서비스와 애자일 개발 프로세스 4.1 도메인 주도 설계와 마이크로서비스 4.2 기민한 설계/개발 프로세스 ___4.2.1 점진/반복적인 스크럼 생명주기 ___4.2.2 아키텍처 정의와 마이크로서비스 도출 ___4.2.3 스프린트 내 개발 공정 4.3 정리 ▣ 05장: 마이크로서비스 설계 5.1 마이크로서비스를 도출하는 방법 ___5.1.1 비즈니스 능력에 근거한 도출 ___5.1.2 DDD의 바운디드 컨텍스트 기반 도출 5.2 DDD에서의 설계 5.3 DDD의 전략적 설계 ___5.3.1 도메인과 서브도메인 ___5.3.2 유비쿼터스 언어와 도메인 모델, 바운디드 컨텍스트 ___5.3.3 컨텍스트 매핑 ______주요 컨텍스트