40
클라우드 네이티브 애플리케이션 디자인 패턴
1.2.51.2.5
동적 환경에서 실행 동적 환경에서 실행
클라우드 네이티브 애플리케이션을 실행하는 단계를 위해 이전 단계에서 실행할 환경에 맞춰
애플리케이션을 준비하고 설정할 수 있습니다. 여기서 핵심은 애플리케이션이 실행 환경과는
완전히 독립적이며, 개발이나 검증, 운영과 같은 다양한 환경에서 애플리케이션 코드 수정 없
이 실행이 가능해야 한다는 점입니다. 컨테이너 형태로 애플리케이션을 배포한다면 실행 환경
은 대개 컨테이너 오케스트레이션 플랫폼이 포함된 로컬 환경이나 퍼블릭, 하이브리드, 프라이
빗 클라우드, 멀티 클라우드 환경일 것입니다.
컨테이너 오케스트레이션 플랫폼으로 많이 선택되는 쿠버네티스를 추상화된 범용 실행 환경으
로 사용하면 멀티 클라우드를 포함한 여러 실행 환경에서 비슷한 방식으로 애플리케이션을 배
포하고 실행할 수 있습니다. 컨테이너 프로비저닝, 자원 관리, 불변성, 오토스케일링과 같은 동
적 환경의 특성들을 전부 쿠버네티스가 제공하는 기능만으로 구현할 수 있기 때문입니다. 그
외 컨테이너 오케스트레이션 플랫폼은 대부분 동적 실행 환경과 관련된 기능들을 제공하기 때
문에, 애플리케이션에서는 오토스케일링 등과 같이 애플리케이션이 반드시 사용해야 하는 기
능들만 신경 쓰면 됩니다.
쿠버네티스와 같은 컨테이너 오케스트레이션 플랫폼은 기본적으로 애플리케이션을 스테이트
리스 프로세스
stateless
process
, 즉 애플리케이션의 상태를 관리하거나 저장하지 않는 프로세스로
간주하고 ...