1부. 클라우드 네이티브 컨텍스트
1장. ‘클라우드 네이티브’로 정의한 단어 계속 사용하기
1.1 오늘날 애플리케이션 요구 사항
1.1.1 무중단
1.1.2 짧아진 피드백 주기
1.1.3 모바일과 멀티 디바이스 지원
1.1.4 사물 인터넷이라고 알려진 커넥티드 디바이스
1.1.5 데이터 기반
1.2 클라우드 네이티브 소프트웨어 소개
1.2.1 ‘클라우드 네이티브’의 정의
1.2.2 클라우드 네이티브 소프트웨어 멘탈 모델
1.2.3 클라우드 네이티브 소프트웨어의 작동
1.3 클라우드 네이티브와 세계 평화
1.3.1 클라우드와 클라우드 네이티브
1.3.2 클라우드 네이티브가 아닌 것은 무엇인가?
1.3.3 클라우드 네이티브는 훌륭히 동작한다
요약
2장. 프로덕션 환경에서 클라우드 네이티브 애플리케이션 실행
2.1 장애물들
2.1.1 스노우플레이크
2.1.2 위험한 배포
2.1.3 변화는 예외다
2.1.4 프로덕션 설치성
2.2 조력자
2.2.1 지속적인 딜리버리
2.2.2 반복성
2.2.3 안전한 배포
2.2.4 변화는 비일비재하다
요약
3장. 클라우드 네이티브 소프트웨어 플랫폼
3.1 클라우드(네이티브 플랫폼 진화
3.1.1 클라우드로부터 시작됐다
3.1.2 클라우드 네이티브 발신음
3.2 클라우드 네이티브 플랫폼의 핵심 원리
3.2.1 먼저 컨테이너를 이야기해보자
3.2.2 ‘지속적인 변화’에 대한 지원
3.2.3 ‘고도로 분산’에 대한 지원
3.3 누가 무엇을 합니까?
3.4 추가적인 클라우드 네이티브 기능
3.4.1 SDLC 전체를 지원하는 플랫폼
3.4.2 보안, 변경 제어, 규정 준수(제어 기능
3.4.3 컨테이너에 들어가는 내용 제어
3.4.4 업그레이드와 취약성 패치
3.4.5 변경 제어
요약
2부. 클라우드 네이티브 패턴
4장. 이벤트 기반 마이크로서비스: 단순히 요청/응답만을 의미하지 않는다
4.1 우리는 (보통 명령형 프로그래밍을 배운다
4.2 이벤
이 책에서 다루는 내용
■ 클라우드 네이티브 앱의 생명 주기
■ 클라우드 규모의 설정 관리
■ 무중단 업그레이드, 버전화된 서비스, 병렬 배포
■ 서비스 탐색과 동적 라우팅
■ 재시도와 서킷 브레이커 등과 같은 서비스 간 상호 작용 관리
이 책의 대상 독자
‘클라우드’로 가는 것은 ‘애플리케이션을 어디에 배포하는가’보다 ‘애플리케이션을 어떻게 설계하는가’에 더 중점을 둔다. 이 책은 동적이고 분산된 가상화 클라우드 환경에서 성공할 수 있는 강력한 애플리케이션을 개발하기 위한 지침을 제시한다. 클라우드 네이티브 애플리케이션의 멘탈 모델과 함께 구축을 지원하는 패턴, 사례, 도구를 제시하며 앱, 데이터, 서비스, 라우팅 등을 다루는 실사례와 전문가의 조언이 들어있다.
이 책은 기본적으로 아키텍처를 다루며, 여기에 포함된 설계 관련 논의를 지원하는 코드 예제를 포함한다. 독자는 여기서 다루는 패턴과 과거에 적용했을 법한 방법의 차이를 언급한다는 점을 알게 될 것이다. 그러나 과거 패턴에 대한 경험이나 지식은 필요하지 않다. 패턴 자체뿐만 아니라 그 패턴에 대한 동기, 그리고 그것이 적용되는 맥락의 뉘앙스를 다루고 있으므로, 독자는 소프트웨어 업계에서 쌓은 경력과 상관없이 중요한 가치를 발견할 수 있다.
책 전반에 걸쳐 많은 코드 예제가 제시되지만 프로그래밍 책은 아니다. 또한 기본적인 사항을 모르더라도 프로그래밍하는 법을 가르쳐주지는 않는다. 코드 예시는 자바로 돼 있지만, 어떤 언어로든 자신의 경험을 통해 문제없이 따라갈 수 있을 것이다. 특히 HTTP를 통한 클라이언트/서비스 상호작용에 대한 기본 지식을 갖췄다면 도움이 되지만 반드시 필요하지는 않다.
이 책의 구성
이 책은 두 개의 부와 12개의 장으로 구성돼 있다.
첫 번째 부는 클라우드 네이티브 컨텍스트를 정의하고 소프트웨어가 배포되는 환경의 특징을 설명한다.
1장에서는 클라우드 네이티브를 정의하고 클라우드와 구분한다. 이로써 이후 설명할 패턴에 관해 구축 가능한 멘탈 모델을