콘텐츠 바로가기
본문 바로가기


블로그 전체검색
클라우드 네이티브 애플리케이션 디자인 패턴

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

카순 인드라시리,스리스칸다라자 수호타얀 저/박수현 역

내용 평점 5점

구성 평점 5점

- 개요
클라우드 네이티브 애플리케이션이라 함은 기존의 Monolithic Architecture 에서 MSA(Micro Service Architecture) 설계한 애플리케이션을 클라우드 환경에서 운영함을 말할 수 있다.
클라우드 환경 내에서 애플리케이션 서비스 제공은 쉽게 Scale-Up, Scale-Out이 가능해야 하며, 이를 위한 방법을 각 Chapter에서 소개하고 있다.
Chapter 구성은 Chapter를 이루는 개념에 대해서 소개하고, 이를 해결할 수 있는 방법론에 대해서 설명한다.
각각의 방법론이 가지는 Trade-off를 소개한 뒤, 각 방법론이 적용된 기술을 소개 한다.
마지막으로 보안적 관점과 CI/CD 를 하기 위해 테스트, 모니터링, 배포적 관점에서 적용 방안에 대해서 설명한다.

- 목차
Chap1. 클라우드 네이티브 애플리케이션이란?
이번 장은 클라우드 네이티브 애플리케이션의 개념과 이를 뒷바침하는 기술에 대해서 간략히 소개하고 있다.
클라우드 네이티브 애플리케이션 개발은 클라우드 환경 내 배포함에 따라서, 기존 모놀로그 애플리케이션 개발과 다르게 좀더 세분화된 개발 사이클을 가지며 이를 소개하고 있다.
마지막으로 이 도서에서 소개할 디자인 패턴에 대해서 간략하게 설명하고 있다.

Chap2. 통신 패턴
이번 장은 서비스 간 통신 시, 다양한 방법론에 대해서 설명한다.
MSA로 설계한 애플리케이션은 서비스별로 분리된 Container화 했음을 의미한다.
각각의 서비스간 데이터를 주고 받기 위해서 통신을 해야하며, 동기적 방법론과 비동기적 방법론으로 나뉠 수 있다.

Chap3. 연결성 및 조합 패턴
Chap2에서 서비스 간 통신에 대한 설명을 하였다. 이번 장은 통신을 하기 위한 구체화로써, 연결성과 조합에 대해서 설명한다.
서비스의 연결이라 함은 MSA간 또는 외부의 다른 시스템 간 연결함을 말하며, 이를 통해서 원하는 결과를 가질 수 있음을 말한다.
서비스 연결 전략은 서비스 관리소에서 지원되는 방식을 가져와서 직접 연결 하거나, 프록시를 통해서 간접적으로 연결을 지원하는 방식으로 나뉠 수 있다.

Chap4. 데이터 관리 패턴
이번 장은 애플리케이션의 영속성을 위해 관리되어야 하는 데이터를 관리하는 방법론에 대해서 설명한다.
서비스의 속성에 따라서 SQL과 NOSQL로 나뉘어서 사용할 수 있으며, 내부에서도 좀더 세분화된 방법론으로 적용할 수 있다.
또한, 데이터의 크기가 커짐에 따라서, 필요한 샤딩에 대해서도 소개한다.

Chap5. 이벤트 주도 아키텍처 패턴
이번 장은 비동기 처리와 분산 처리가 목적인 이벤트 방식의 애플리케이션에 대해서 설명한다.
이벤트 전달은 최소 한번 전달 보장이 이루어져야 하며, 애플리케이션의 목적에 따라서 적용가능한 이벤트 전달 패턴이 달라질 수 있다.

Chap6. 스트림 프로세싱 패턴
이번 장은 Chap5에서 다루었던 이벤트 주도 아키텍처 패턴의 심화로써, 이벤트 발생된 순서 또는 처리되어야 하는 순서가 중요시 되는
애플리케이션에 적용하는 스트림 프로세싱 패턴에 대해서 설명한다.

Chap7. API 관리 및 사용 패턴
이번 장은 서비스 내 API 구현 후 애플리케이션 내 도입 시, 효율적인 API 관리를 위한 방법론 대해서 설명하고 있다.

Chap8. 클라우드 네이티브 패턴 적용하기
이번 장은 Chap2 ~ 7에서 다루었던 방법론을 어떻게 적용할 수 있는지에 대한 예제 사례를 가지고 설명하고 있다.

- 마무리
단언컨데 쉬운내용도 아니며, 간단한 내용도 아니다.
클라우드 네이티브 애플리케이션 디자인 패턴은 많은 사람들의 시련과 고난 속에서 해결을 위한 고민의 결과물이다.
애플리케이션 설계라 함은 하드웨어, 소프트웨어, 네트워크 등 다양한 환경를 고려해가며 이루져야 한다.
또한, 확장성 있고 신뢰성을 가질 수 있어야 한다.
실제 환경 내에서 초석을 쌓아올리는 애플리케이션은 거의 없다.
기존에 있는 애플리케이션을 요구사항에 따라서 개발되어지며 진화하는 경우가 대부분이다.
이 도서에서 제시한 방법론들을 활용해서, 점진적으로 도입함으로써 클라우드 환경에 좀더 적합한 애플리케이션으로 나아갈 수 있기를 희망한다.

- 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다



 
취소

댓글쓰기

저장
덧글 작성
0/1,000

댓글 수 0

댓글쓰기
첫 댓글을 작성해주세요.

PYBLOGWEB1