
35
1
장
클라우드 네이티브 애플리케이션이란?
메인 개체 클러스터
domain
object
cluster
입니다.
각각의 바운디드 컨텍스트는 마이크로서비스와
1
:
1
로 대응할 수도, 아닐 수도 있습니다. 클라
우드 네이티브 애플리케이션을 설계할 때는 일반적으로 바운디드 컨텍스트별로 서비스를 만들
고, 설계를 진행하면서 점차 애그리거트 단위로 서비스를 더 잘게 쪼개는 경향이 있습니다. 애
플리케이션에 대한 도메인 주도 설계가 끝나면 마이크로서비스를 정의함과 동시에 서비스들에
대한 정의 및 인터페이스, 그리고 통신 방식도 결정하게 됩니다.
1.2.21.2.2
애플리케이션 개발 애플리케이션 개발
개발 단계에서는 비즈니스 기능이 동작하는 방식에 기반하여 애플리케이션과 서비스 인터페이
스들을 구현합니다. 이 절에서는 클라우드 네이티브 애플리케이션을 만들기 위한 개발 단계의
핵심 요소를 짚어봅니다.
독립 코드베이스
클라우드 네이티브 애플리케이션를 구성하는 각 마이크로서비스는 깃과 같은 버전 관리 시스
템 기반 코드베이스를 가져야 합니다. 각 서비스를 하나 이상의 인스턴스 형태로 배포하고 실
행합니다. [그림
1
-
7
]과 같이 서비스들은 개발이나 검증, 운영과 같이 각기 다른 독립적인 환
경에 배포하고 실행하지만 모두 같은 코드베이스를 사용합니다. 물론 각 환경에 따라 동일한
코드베이스의 ...