본문 바로가기
2. 책 & 영화 리뷰

[도서] 클라우드 네이티브 애플리케이션 디자인 패턴 - 카순 외

by soosun 2023. 11. 26.

요즘 SW개발 프로젝트들 중에 클라우드 기반이 아닌 것들이 있을까?

물론 그것이 꼭 클라우드 네이티브를 말하는 것은 아닐지라도,

아마 대부분의 프로젝트들은 클라우드 기반의 프로젝트일 것이다.

 

SW개발은 인프라 환경과 밀접하게 연관되어 있다.

인프라 환경에 최적화한 설계를 기반으로 개발을 해야 최적의 성능과 품질을 확보 할 수 있다.

대부분의 개발자들이 환경의 변화에 빠르게 적응하고 준비를 하고 있겠지만,

어느 시점에 한번쯤은 전체적인 측면에서 정리를 해보면 체계적인 개발역량 향상에 상당한 도움이 된다.

이책은 클라우드 네이티브 환경에서 개발을 진행할때 참조할만한 다양한 패턴들을 설명해주고 있다.

 

ㅇ 책의 주요 내용

- 서두에서 이야기한 것처럼 클라우드 네이티브 환경에서는 MSA가 필수이기 때문에, 이책의 제목에 MSA가 들어 있지 않아도 내용의 대부분은 MSA 아키텍처의 디자인 패턴에 대해 다루고 있다.  

 

- 첫 챕터에 SOA와 MSA의 구조적 차이점에 대해 언급되고 있으며, 이후는 아래의 목차처럼 다양한 디자인 패턴들로 이루어져 있다.

- 특히, "정의 - 어떻게 동작할까요 - 어떻게 사용할수 있나요 - 고려해야할 사항들 - 관련 패턴들"의 포맷으로 각 패턴들을

설명하고 있는 점이 특징

- 디자인 패턴에 대한 개념적 설명이 주된 내용이고 샘플코드 등은 제공하지 않는다. 

=> 전체적으로 클라우드 네이티브 환경에서 MSA 기반의 어플리케이션 설계 패턴들에 대한 개념 설명에 집중한다. 

      디자인 패턴 정리가 필요한 개발자들, 특히 아키텍트들에게 참고가 될만한 구성이다.

 

< 목차 >

CHAPTER 1 클라우드 네이티브 애플리케이션이란?
1.1 클라우드 네이티브의 개념
1.2 클라우드 네이티브 애플리케이션 개발 방법론
1.3 클라우드 네이티브 애플리케이션 디자인 패턴
1.4 클라우드 네이티브 애플리케이션 참조 모델
1.5 마치며

CHAPTER 2 통신 패턴
2.1 동기 메시징 패턴
2.2 비동기 메시징 패턴
2.3 서비스 정의 패턴
2.4 동기 메시징 패턴 구현에 사용할 수 있는 기술
2.5 비동기 메시징 패턴 구현 기술
2.6 테스팅
2.7 보안
2.8 관측 가능성 및 모니터링
2.9 데브옵스
2.10 마치며

CHAPTER 3 연결성 및 조합 패턴
3.1 연결성 패턴
3.2 서비스 조합 패턴
3.3 마치며

CHAPTER 4 데이터 관리 패턴
4.1 데이터 아키텍처
4.2 데이터의 타입과 형태
4.3 데이터 저장소
4.4 데이터 관리
4.5 데이터 조합 패턴
4.6 데이터 확장 패턴
4.7 성능 최적화 패턴
4.8 신뢰성 패턴
4.9 보안: 볼트 키 패턴
4.10 데이터 관리 패턴 구현 기술
4.11 테스팅
4.12 보안
4.13 관측 가능성 및 모니터링
4.14 데브옵스
4.15 마치며

CHAPTER 5 이벤트 주도 아키텍처 패턴
5.1 이벤트 주도 아키텍처
5.2 이벤트 전달 패턴
5.3 상태 관리 패턴
5.4 오케스트레이션 패턴
5.5 이벤트 주도 아키텍처에서 사용하는 기술
5.6 테스팅
5.7 보안
5.8 관측 가능성 및 모니터링
5.9 데브옵스
5.10 마치며

CHAPTER 6 스트림 프로세싱 패턴
6.1 스트림이란?
6.2 스트림 프로세싱이란?
6.3 스트리밍 데이터 프로세싱 패턴
6.4 확장성 및 성능 최적화 패턴
6.5 신뢰성 패턴
6.6 사용 기술들
6.7 테스팅
6.8 보안
6.9 관측 가능성 및 모니터링
6.10 데브옵스
6.11 마치며

CHAPTER 7 API 관리 및 사용 패턴
7.1 API 관리 패턴
7.2 API 사용 패턴
7.3 마치며

CHAPTER 8 클라우드 네이티브 패턴 적용하기
8.1 온라인 쇼핑몰 시스템 만들기
8.2 고수준 아키텍처 만들기
8.3 외부 API 만들기
8.4 서비스 연결
8.5 데이터 관리
8.6 이벤트 주도 아키텍처
8.7 스트림 프로세싱
8.8 클라우드 환경에서 동적 관리 기능 구현
8.9 마치며

댓글