이미 소장하고 있다면 판매해 보세요.
|
[01부] 동향
◎ 01장: 마이크로서비스 설계하고 실행하기 1.1 마이크로서비스 애플리케이션이란 무엇인가? __1.1.1 분해를 통한 확장 __1.1.2 핵심 원칙 __1.1.3 누가 마이크로서비스를 사용할까? __1.1.4 왜 마이크로서비스가 올바른 선택인가? 1.2 무엇이 마이크로서비스를 어렵게 만드는가? __1.2.1 설계상의 어려움 __1.2.2 운영상의 도전 과제 1.3 마이크로서비스 개발 라이프사이클 __1.3.1 마이크로서비스 설계하기 __1.3.2 마이크로서비스 배포하기 __1.3.3 마이크로서비스 관찰하기 1.4 운영에 대해 인지하고 책임지는 엔지니어링 문화 요약 ◎ 02장: 마이크로서비스 적용 사례: 심플뱅크(SimpleBank) 2.1 심플뱅크는 무슨 일을 하는가? 2.2 마이크로서비스가 올바른 선택인가? __2.2.1 금융 소프트웨어의 위험과 관성 __2.2.2 마찰 감소와 지속 가능한 가치의 전달 2.3 새로운 기능을 개발하기 __2.3.1 도메인 모델링을 통한 마이크로서비스 식별하기 __2.3.2 서비스 간의 협업 __2.3.3 서비스의 자율적 구성 2.4 서비스를 외부에 노출하기 2.5 운영 환경에 기능 반영하기 __2.5.1 품질 관리와 자동 배포 __2.5.2 회복성 __2.5.3 투명성 2.6 마이크로서비스 개발 확장하기 __2.6.1 기술적 다변화 __2.6.2 격리 2.7 다음 주제는? 요약 [02부] 설계 ◎ 03장: 마이크로서비스 애플리케이션의 아키텍처 3.1 전체 아키텍처 __3.1.1 모놀리식에서 마이크로서비스로 __3.1.2 아키텍트의 역할 __3.1.3 아키텍처 원칙 __3.1.4 4 계층 마이크로서비스 애플리케이션 3.2 마이크로서비스 플랫폼 __3.2.1 운영 플랫폼 매핑 3.3 서비스 __3.3.1 역량(capabilities) __3.3.2 집계 및 상위 주문 서비스 __3.3.3 중요 경로와 중요하지 않은 경로 3.4 커뮤니케이션 __3.4.1 언제 동기식 메시지를 사용하는가 __3.4.2 언제 비동기식 메시지를 사용하는가 __3.4.3 비동기식 커뮤니케이션 패턴 __3.4.4 다른 서비스 찾기 3.5 애플리케이션 경계(boundary) __3.5.1 API 게이트웨이 __3.5.2 프런트엔드를 위한 백엔드 __3.5.3 컨슈머-주도 게이트웨이 3.6 클라이언트 __3.6.1 모놀리식 프런트엔드 __3.6.2 마이크로 프런트엔드 요약 ◎ 04장: 신규 기능 설계하기 4.1 심플뱅크의 새로운 기능 4.2 비즈니스 역량의 범위 지정하기 __4.2.1 역량과 도메인 모델링 __4.2.2 투자 전략 생성하기 __4.2.3 내포된 컨텍스트와 서비스 __4.2.4 도전 과제와 한계 4.3 유스케이스로 범위 정하기 __4.3.1 투자 전략 주문 제출하기 __4.3.2 액션과 저장소 __4.3.3 조율과 자율적 구성 4.4 변동 가능성에 따라 범위 정하기 4.5 기술적 역량 __4.5.1 알림 보내기 __4.5.2 기술 역량은 언제 사용하는가 4.6 모호함 다루기 __4.6.1 큰 규모의 서비스로 시작하기 __4.6.2 향후 분해를 위한 준비 __4.6.3 제거와 이관 4.7 조직의 서비스 오너십 요약 ◎ 05장: 마이크로서비스에서의 트랜잭션과 질의 5.1 분산 애플리케이션에서 일관된 트랜잭션 __5.1.1 왜 분산 트랜잭션을 사용할 수 없는가? 5.2 이벤트 기반 커뮤니케이션 __5.2.1 이벤트와 자율적 구성 5.3 사가(Sagas) 패턴 __5.3.1 자율적으로 구성된 사가 패턴 __5.3.2 조율된 사가 패턴 __5.3.3 중첩된(interwoven) 사가 패턴 __5.3.4 일관성 패턴 __5.3.5 이벤트 소싱 5.4 분산된 환경에서의 질의 __5.4.1 데이터 복제본 저장하기 __5.4.2 질의와 명령 분리하기 __5.4.3 CQRS의 어려운 점 __5.4.4 분석과 리포팅 5.5 참고 자료 요약 ◎ 06장: 신뢰할 수 있는 서비스 설계하기 6.1 신뢰성 정의하기 6.2 잠재 위험 찾아내기 __6.2.1 장애의 원인 __6.2.2 장애의 전파 6.3 신뢰할 수 있는 커뮤니케이션 설계하기 __6.3.1 재시도 __6.3.2 폴백 __6.3.3 타임아웃 __6.3.4 회로 차단기 __6.3.5 비동기 커뮤니케이션 6.4 서비스 신뢰성 극대화하기 __6.4.1 부하 분산과 서비스 상태 __6.4.2 비율 제한 __6.4.3 신뢰성 검증과 장애 내성 6.5 기본적으로 안전하게 __6.5.1 프레임워크 __6.5.2 서비스 메시 요약 ◎ 07장: 재사용할 수 있는 마이크로서비스 프레임워크 구축하기 7.1 마이크로서비스 섀시 7.2 마이크로서비스 섀시의 목적은 무엇인가? __7.2.1 위험 제거 __7.2.2 신속한 기반 구축(bootstrapping) 7.3 섀시 설계 __7.3.1 서비스 디스커버리 __7.3.2 관측 가능성 7.4 섀시를 사용해 구현된 기능 살펴보기 7.5 혼재성이 마이크로서비스의 약속 중 하나가 아니었나? 요약 [03부] 배포 ◎ 08장: 마이크로서비스 배포하기 8.1 왜 배포가 중요한가? __8.1.1 안정성과 가용성 8.2 마이크로서비스 운영 환경 __8.2.1 마이크로서비스 운영 환경의 기능 __8.2.2 자동화와 속도 8.3 서비스를 배포하는 빠른 방법 __8.3.1 서비스 시작하기 __8.3.2 가상 머신 배포하기 __8.3.3 서비스의 여러 인스턴스 실행하기 __8.3.4 부하 분산기 추가하기 __8.3.5 무엇을 배웠나? 8.4 서비스 산출물 만들기 __8.4.1 산출물이란 무엇인가? __8.4.2 불변성 __8.4.3 서비스 산출물의 유형 __8.4.4 설정 8.5 서비스와 호스트의 모델 __8.5.1 호스트별 단일 서비스 __8.5.2 호스트별 여러 정적 서비스 __8.5.3 호스트별 여러 서비스 스케줄링 8.6 무중단 서비스 배포 __8.6.1 GCE에 카나리와 롤링 배포 요약 ◎ 09장: 컨테이너와 스케줄러를 이용해 배포하기 9.1 서비스를 컨테이너화하기 __9.1.1 이미지 작업하기 __9.1.2 이미지 빌드하기 __9.1.3 컨테이너 실행하기 __9.1.4 이미지 저장하기 9.2 클러스터에 배포하기 __9.2.1 파드 설계하고 실행하기 __9.2.2 부하 분산하기 __9.2.3 간략하게 내부 살펴보기 __9.2.4 상태 점검 __9.2.5 새로운 버전 배포하기 __9.2.6 롤링 백 __9.2.7 여러 서비스 연결하기 요약 ◎ 10장: 마이크로서비스 전달 파이프라인 구축하기 10.1 배포를 지루하게 만들기 __10.1.1 배포 파이프라인 10.2 젠킨스로 파이프라인 만들기 __10.2.1 빌드 파이프라인 설정하기 __10.2.2 이미지 빌드하기 __10.2.3 테스트 실행하기 __10.2.4 산출물 게시하기 __10.2.5 스테이징 환경에 배포하기 __10.2.6 스테이징 환경 __10.2.7 운영 환경에 배포하기 10.3 재사용할 수 있는 파이프라인 단계 만들기 __10.3.1 절차적 빌드 파이프라인과 선언적 빌드 파이프라인 비교 10.4 영향을 줄이는 배포와 출시 기법 __10.4.1 다크 런치(dark launches) __10.4.2 기능 플래그 요약 [04부] 관측 가능성과 소유권 ◎ 11장: 모니터링 시스템 구축하기 11.1 견고한 모니터링 스택 __11.1.1 좋은 모니터링은 계층화돼 있다 __11.1.2 골든 시그널 __11.1.3 메트릭의 유형 __11.1.4 추천 관례 11.2 프로메테우스와 그라파나로 심플뱅크 모니터링하기 __11.2.1 메트릭 수집 인프라스트럭처 설정하기 __11.2.2 인프라스트럭처 메트릭 수집하기 - 래빗엠큐 __11.2.3 심플뱅크의 주문 제출 계측하기 __11.2.4 경보 설정하기 11.3 감지할 수 있고 조치 가능한 경보 발생하기 __11.3.1 문제가 발생했을 때 누가 알아야 하는가? __11.3.2 원인이 아닌 증상 11.4 애플리케이션 전체 관찰하기 요약 ◎ 12장: 로그와 추적 정보로 동작 이해하기 12.1 서비스 간의 작동 이해하기 12.2 일관되고 구조적이며 읽기 편한 로그 생성하기 __12.2.1 로그에 포함할 유용한 정보 __12.2.2 구조와 가독성 12.3 심플뱅크를 위한 로깅 인프라스트럭처 구축하기 __12.3.1 ELK와 플루언트디 기반 솔루션 __12.3.2 로깅 솔루션 설정하기 __12.3.3 수집할 로그 구성하기 __12.3.4 모래사장에서 바늘 찾기 __12.3.5 올바른 정보를 로그로 남기기 12.4 서비스 간 상호작용 추적하기 __12.4.1 요청 연관 짓기: 트레이스와 스팬 __12.4.2 서비스에서 추적 구성하기 12.5 트레이스 시각화하기 요약 ◎ 13장: 마이크로서비스 팀 구성하기 13.1 효과적인 팀 구성하기 __13.1.1 콘웨이의 법칙 __13.1.2 효과적인 팀을 위한 원칙 13.2 팀 모델 __13.2.1 기능에 의해 그룹 짓기 __13.2.2 기능적 조직을 넘어서 협업하기 __13.2.3 팀 경계 설정하기 __13.2.4 인프라스트럭처, 플랫폼, 제품 __13.2.5 누가 비상대기할 것인가? __13.2.6 지식 공유하기 13.3 마이크로서비스 팀을 위한 추천 관습 __13.3.1 마이크로서비스의 다양한 변경 요인 __13.3.2 아키텍처의 역할 __13.3.3 동질성과 기술적 유연성 __13.3.4 오픈 소스 모델 __13.3.5 설계 검토 __13.3.6 살아있는 문서 __13.3.7 애플리케이션에 관한 질문에 답하기 13.4 추가 자료 요약 ◎ 부록: 미니큐브에 젠킨스 설치하기 |
Morgan Bruce
김민석의 다른 상품