애플리케이션의 배포와 운영을 고려한 7가지 설계 패턴

카순 인드라시리, 스리스칸다라자 수호타얀 지음

박수현 옮김

 

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

 

2022년 12월

2022 나는 리뷰어다 활동의 아홉 번째 리뷰

 

12월에 리뷰할 책은 "클라우드 네이티브 애플리케이션 디자인 패턴"이다.

벌써 2022 나는 리뷰어다 활동도 마지막 12월이 되었다.

 

2022년 한해는 이직후로 굉장히 바쁘게 1년을 보낸 것 같다.

(하지만 지금 또 다시 이직 준비중이다.)

 

더 실력있는 개발자가 되자라고 다짐했었는데 그만큼 노력을 많이 하지 않은 것 같아 후회도 많이 남는 2022년이다.

 

아무튼 리뷰를 시작해보자.

 

우선, 클라우드 네이트브 아키텍처란 무엇일까?

비즈니스 기능별로 독립적인 마이크로서비스들이 느슨하게 결합된 소프트웨어 애플리케이션을 통칭하는 말이다.

각 마이크로서비스는 각각의 실행 환경(퍼블릭, 프라이빗, 하이브리드, 멀티클라우드)에서 실행되며 자동화되고 확장성을 지원하며 탄력적인 관리 및 관찰을 제공한다.

 

클라우드 환경은 민첩함과 신뢰성, 경제성, 확장성이라는 장점 덕분에 클라우드 네이티브 애플리케이션 개발이 점점 더 각광받고 있다. 최근 애플리케이션의 배포 및 운영에 대한 관심이 늘어나면서 기존의 개발 패턴이나 기술을 적용하기는 힘든 상황이 되고 있다.

 

이 책에서는 이런 문제점들을 API와 데이터, 이벤트, 스트림 기반 패턴을 통해 해결해볼 것이다. 이 방법들을 통해 클라우드 네이티브 애플리케이션의 목적에 맞게 설계하고 개발하고 배포할 수 있으며 최소의 비용과 시간, 노력으로 애플리케이션을 관리하고 유지보수 할 수 있다.

 

클라우드와 클라우드를 기반으로 하는 네이티브 애플리케이션은 변화 속도가 굉장히 빠르다.

기존의 상업 애플리케이션 뿐만 아니라 ML, AI와 같이 새롭게 각광 받는 분야의 애플리케이션들 역시 클라우드 기반으로 개발하면서 다양한 도메인들이 클라우드로 쏟아져 들어오는 상황이다.

 

이런 상황에서 개발하고자 하는 애플리케이션에 적합한 구조나 메시지큐, 데이터베이스 등을 선택하는 것조차 매우 어렵다.

 

클라우드 네이티브 애플리케이션은 다양한 디자인 패텬을 통해 구성하고 개발할 수 있다. 이 책에서는 주로 클라우드 네이티브 애플리케이션의 비즈니스 로직을 만들 때 반드시 적용해야 할 개발패턴을 살펴본다.

 

또한, 이 책은 클라우드 네이티브 애플리케이션을 개발하거나, 혹은 기존의 애플리케이션을 클라우드 네이티브로 전환하고자 할 때 어떤 기술 스택을 사용하고 어떤 구조를 사용할 것인지에 대한 전반적인 방향을 제시해 줄 수 있다. AWS나 Azure, GCP와 같은 퍼블릭 클라우드 환경뿐 아니라 온프레미스 환경에서도 사용할 수 있는 다양한 구조와 그에 잘 맞는 소프트웨어 및 애플리케이션을 소개한다.

 

목차를 살펴보자.

 

1장. 클라우드 네이티브란?

2장. 통신 패턴

3장. 연결 및 구성 패턴

4장. 데이터 관리 패턴

5장. 이벤트 기반 아키텍처 패턴

6장. 스트림 처리 패턴

7장. API 관리 및 사용 패턴

8장. 실례로 살펴보는 클라우드 네이티브 패턴

 

으로 구성이 되어 있다.

 

애플리케이션의 특성에 따라, 그리고 개발할 때 사용하는 패턴에 따라 배포나 확장성, 보안, 관측, 가능성 구현이 서로 다를 수 있다. 이런 다양한 패턴이 서로 어떤 차이가 있는지, 장단점은 무엇인지 생각하면서 이 책을 보면 좋을것이다.

 

Love Yourself.

+ Recent posts