24
클라우드 네이티브 애플리케이션 디자인 패턴
는 다른 시스템에서 사용할 수 있는 파사드
facade
라고 불리는 간단한 인터페이스를 제공하기도
합니다.
마이크로서비스는 데이터베이스를 함께 사용하지 않으며 외부에서는 오직 서비스 인터페이스
를 통해서만 데이터에 접근할 수 있습니다. 각각의 마이크로서비스는 탄력성과 보안성 등 수많
은 기본 요건을 충족시킬 수 있는 서비스 간 통신 기능과 비즈니스 로직을 구현해야만 합니다.
클라우드 네이티브 애플리케이션이 마이크로서비스의 조합으로 만들어지는 것이다보니 마이
크로서비스 아키텍처에 적용되는 대부분의 개념은 클라우드 네이티브에도 거의 동일하게 적용
됩니다. 이 책에서는 따라서 마이크로서비스 아키텍처의 기본 원리와 대부분의 패턴을 다루어
볼 것입니다.
1.1.21.1.2
컨테이너와 컨테이너 오케스트레이션 컨테이너와 컨테이너 오케스트레이션
마이크로서비스가 클라우드 네이티브 애플리케이션 설계 및 개발에서 중요한 역할을 맡고 있
다면 패키징과 실행에서 컨테이너가 그만큼 중요한 역할을 담당하고 있습니다. 클라우드 네이
티브 애플리케이션을 개발하는 경우 마이크로서비스는 컨테이너 이미지로 패키징하고 컨테이
너 실행 환경에서 동작합니다. 이런 과정에 어떤 의미가 있는지 자세히 살펴보겠습니다.
컨테이너란
?
컨테이너는 컨테이너 전용 파일 시스템을 통해 컨테이너 이미지를 제공받습니다. 컨테이너 이
미지는 애플리케이션 코드와 의존성 라이브러리, 실행 환경 등 애플리케이션 실행에 필요한 모
든 것을 가지고 있는 이진 데이터라고 할 수 ...