클라우드 네이티브 스프링
도서명:클라우드 네이티브 스프링
저자/출판사:아제이,마하잔,무니쉬,쿠마르,굽타,시암,순다르/에이콘출판
쪽수:464쪽
출판일:2018-11-27
ISBN:9791161752457
목차
1장. 클라우드 네이티브 소개
__클라우드 네이티브가 필요한 이유
__클라우드 네이티브란?
____클라우드 플랫폼으로 이동
____클라우드 네이티브로 이동
____서버 리스로 이동
__클라우드 네이티브와 마이크로서비스
__클라우드 애플리케이션의 12가지 요소
____마이크로서비스 실행을 위한 서비스 생태계
__마이크로서비스 도입
____일체형 애플리케이션 변환
요약
2장. 첫 번째 클라우드 네이티브 애플리케이션
__개발 도구 설정
____IDE 선택
____인터넷 연결 설정
__개발 생명주기의 이해
____요구 사항/사용자 스토리
____아키텍처
____설계
____테스트와 개발
____구축과 배포
__프레임워크 선택
____드롭위자드
____버텍스
____스프링 부트
__product 서비스 작성
____메이븐 프로젝트 생성
____스프링 부트 애플리케이션 클래스 작성
____서비스 및 도메인 객체 작성
____서비스 실행
____브라우저에서의 서비스 테스트
____배포본 생성
__기본적인 클라우드 네이티브 기능 추가
____구성 외부화
____서비스 미터링(metering)
____서비스 등록과 검색
__요약
3장. 클라우드 네이티브 애플리케이션 설계
__트리오: REST, HTTP, JSON
__API의 발달과 유행
__API 게이트웨이의 역할
____API 게이트웨이의 장점
__애플리케이션 분리
____경계가 있는 컨텍스트/도메인 주도 설계
____업스트림 및 다운스트림 서비스 분류
____비즈니스 이벤트
__마이크로서비스 식별
____마이크로서비스와 서비스지향 아키텍처의 차이점
____서비스 분류
__마이크로서비스 설계 지침
__디자인 및 배포 패턴
__마이크로서비스를 위한 데이터 아키텍처
____명령 조회 책임 분리
____데이터 복제
____목적에 맞춘 선택
__서비스 보****
__요약
4장. 클라우드 네이티브 애플리케이션 확장
__제품 조회 서비스 구현
____간단한 제품 테이블
____캐싱
____분산 캐시
____데이터 모델과 서비스를 분리하기 위해 CQRS 적용
__데이터 업데이트 서비스
____REST 규약
____유효성 검사와 오류 메시지
____CQRS 패턴의 데이터 업데이트 구현
____비동기 메시징
____골든 소스 업데이트
____데이터 업데이트 시 이벤트 발생
____쿼리 모델 업데이트
__요약
5장. 클라우드 네이티브 애플리케이션 테스트
__개발 전에 테스트 케이스 작성
____TDD
____BDD
__테스트 패턴
____A/B 테스트
____테스트 더블
__테스트 유형
____단위 테스트
____통합 테스트
____부하 테스트
____회귀 테스트
____코드 리뷰와 커버리지
__제품 서비스 테스트
____큐컴버를 이용한 BDD
____스프링 부트 테스트
____JaCoCo를 이용한 코드 커버리지
__요약
6장. 클라우드 네이티브 애플리케이션 배포
__배포 모델
____가상화
____PaaS
____Containers
____도커 이미지 빌드
__배포 패턴
____블루/그린 배포
____카나리아 배포
____은밀한 개시
____자동화를 위한 CI/CD 적용
요약
__
7장. 클라우드 네이티브 애플리케이션 런타임
__런타임의 필요성
__참조 런타임 아키텍처 구현
____서비스 레지스트리
____컨피그 서버
____마이크로서비스의 프론트엔드
__쿠버네티스: 컨테이너 오케스트레이션
____쿠버네티스 아키텍처와 서비스
____Minikube
____쿠버네티스에서 product 서비스 실행
__서비스로서의 플랫폼
____PaaS의 사례
____클라우드 파운드리
____피보탈 클라우드 파운드리
__요약
8장. AWS 플랫폼에 배포
__AWS 플랫폼
__AWS 플랫폼의 배포 옵션
____Beanstalk에 스프링 부트 API 배포
____Amazon Elastic Container Registry에 컨테이너 이미지 푸시
____ECS에 스프링 부트 애플리케이션 배포
____AWS Lambda에 배포
__요약
9장. Azure 플랫폼에 배포
__Azure 플랫폼
__Azure 플랫폼의 배포 옵션
____Azure App Service에 스프링 부트 API 배포
____Azure Container Service에 도커 컨테이너 배포
____Azure Service Fabric에 스프링 부트 API 배포
____Azure Function
__요약
10장. 서비스 통합
__XaaS
__XaaS 구축 시의 주요 설계 고려 사항
__서드파티 API와의 통합
__요약
11장. API 디자인 모범 사례
__API 디자인
____API 리소스 식별
____API 설계 지침
__API 모델링
____Open API
____RESTful API 모델링 언어(RAML)
__API 게이트웨이 배포 모델
__요약
12장. 디지털 트랜스포메이션
__애플리케이션 포트폴리오
____포트폴리오 분석: 비즈니스 및 기술 요소
__일체형 애플리케이션을 분산형 클라우드 네이티브 애플리케이션으로 변경
____일체형 애플리케이션을 분산형 애플리케이션으로 변환
____고객 여정을 도메인 주도 디자인으로 매핑
____아키텍처 런웨이 정의
____개발자 빌드
____일체형 애플리케이션 분해
____변환 과정 정리
__자체 플랫폼 서비스 구축(제어 혹은 위임)
__요약