문제
**불변 인프라(Immutable Infrastructure)**와 GitOps의 개념을 각각 설명하고, 컨테이너 기반 마이크로서비스 환경에서 이 두 접근법이 결합되어 사용되는 이유와 그 효과를 서술하시오.
정답
불변 인프라는 배포 후 서버나 컨테이너를 수정하지 않고 새 버전으로 완전 교체하는 방식이다. GitOps는 Git 저장소를 통해 인프라와 애플리케이션의 선언적 구성을 관리하고, Git 변경사항을 기반으로 자동 배포하는 운영 방법론이다. 컨테이너 환경에서는 불변 인프라가 컨테이너 이미지의 불변성과 일치하여 일관된 배포를 보장하고, GitOps가 쿠버네티스의 선언적 구성과 결합되어 버전 제어된 자동화 배포를 실현한다. 이를 통해 배포 일관성, 롤백 용이성, 구성 드리프트 방지, 감사 추적성을 확보할 수 있다.
불변 인프라GitOps선언적 구성자동 배포컨테이너 이미지불변성일관된 배포롤백구성 드리프트감사 추적
해설
불변 인프라는 Pet vs Cattle 개념에서 Cattle 방식으로, 서버를 수정하지 않고 교체한다. GitOps는 ArgoCD, Flux 같은 도구로 구현되며, Git을 통한 선언적 구성 관리가 핵심이다. 컨테이너는 태생적으로 불변이므로 불변 인프라와 자연스럽게 결합되고, 쿠버네티스의 YAML 기반 선언적 구성은 GitOps의 Git 기반 관리와 완벽히 호환된다. 두 접근법의 결합으로 인프라와 애플리케이션의 상태가 Git에서 관리되어 완전한 추적 가능성과 재현성을 확보할 수 있다.