37
1
장
클라우드 네이티브 애플리케이션이란?
서 확인하실 수 있습니다.
컨테이너화
이전 단계까지 설명한 대부분의 내용은 마이크로서비스 각각을 컨테이너화하는 것으로도 설명
할 수 있습니다. 클라우드 네이티브 애플리케이션을 만드는 데에 컨테이너화가 필수는 아니지
만, 컨테이너화를 통해 대부분의 특성과 요구사항을 더 쉽게 구현할 수 있습니다.
클라우드 네이티브 애플리케이션의 모든 의존성과 실행 환경, 설정들을 한데 묶어서 단일 패키
지로 만드는 것은 컨테이너화로 쉽게 끝낼 수 있습니다. 도커와 같은 기술을 사용한 컨테이너
화는 마이크로서비스 코드를
불변
immutable
으로 만들어서 원하는 시점에 즉각 시작하거나 중지
할 수 있으며 문제가 있는 인스턴스를 수정하거나 업그레이드하는 대신 그냥 버리는 것으로 해
결할 수 있습니다. 이를 위해서는 마이크로서비스 자체가 빠르게 시작할 수 있고 종료하기 전
정리할 수 있는 기능을 제공해야 합니다. 이런 여러 가지 이유로, 마이크로서비스는 컨테이너
전용 프레임워크와 기술을 사용해야 가장 쉽게 컨테이너화할 수 있습니다. 예를 들어 애플리케
이션의 구조적인 특성상 마이크로서비스를 아주 빠르게 시작할 수 없는 경우, 쿠버네티스와 같
은 컨테이너 오케스트레이션 시스템을 사용해서 애플리케이션이나 서비스가 동작할 준비가 되
었는지 확인하고 검사해서 사용자에게 상태 정보를 제공할 수도 있습니다.
마이크로서비스를 구현하면 다른 마이크로서비스와 연결하거나 외부 시스템에
API
형태로 비
스니스 기능을 제공해야 할 필요도 발생합니다. ...