인프라 & 클라우드 · 중급
무중단 서비스를 위한 대표적인 배포 전략인 롤링 배포(Rolling Deployment), 블루/그린 배포(Blue/Green Deployment), 카나리 배포(Canary Deployment)의 차이점과 각각의 장단점을 설명하고, 어떤 상황에서 어떤 전략이 적합한지 비교하여 설명해주세요.
힌트 · 각 전략의 동작 방식, 리소스 사용량, 롤백 용이성, 위험도 관리 측면에서 비교하고 적합한 사용 시나리오를 제시합니다.
롤링 업데이트블루/그린카나리트래픽 전환리스크 최소화
모범답안
무중단 배포 전략은 크게 롤링, 블루/그린, 카나리 배포로 나눌 수 있습니다.
롤링 배포는 점진적으로 새 버전을 배포하는 방식으로, 서버를 하나씩 업데이트하며 전체 서비스 중단 없이 배포할 수 있습니다. 하지만 배포 시간이 길고, 배포 중 오류 발생 시 롤백이 복잡할 수 있습니다.
블루/그린 배포는 기존 환경(Blue)과 동일한 새 환경(Green)을 구축하고, 새 버전을 Green 환경에 배포한 후 트래픽을 한 번에 전환하는 방식입니다. 롤백이 매우 빠르고 간단하지만, 두 배의 리소스가 필요합니다.
카나리 배포는 일부 사용자에게만 새 버전을 먼저 배포하여 안정성을 검증하는 방식입니다. 위험을 최소화하고 사용자 경험을 테스트할 수 있지만, 모니터링 시스템이 중요하고, 배포 과정이 복잡할 수 있습니다.
일반적으로 안정성이 중요한 서비스에는 블루/그린 배포, 빠르게 기능을 검증하고 싶을 때는 카나리 배포, 리소스 효율성이 중요할 때는 롤링 배포를 선택합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 CI/CD 파이프라인 면접 질문
- 일반적인 CI/CD 파이프라인은 어떤 주요 단계들로 구성되며, 각 단계에서 어떤 작업들이 수행되는지 설명해주세요.
- Jenkins, GitLab CI, GitHub Actions와 같은 CI/CD 도구들이 각각 어떤 장단점을 가지고 있으며, 특정 프로젝트 환경에 따라 어떤 기준으로 도구를 선택할 수 있을지 비교 설명해주세요.
- CI/CD 파이프라인에서 자동화된 테스트가 왜 중요하며, 단위 테스트(Unit Test), 통합 테스트(Integration Test), E2E 테스트(End-to-End Test)가 파이프라인의 어느 단계에서 주로 수행되는지 구체적인 예시와 함께 설명해주세요.
- Docker와 Kubernetes 같은 컨테이너 기술이 CI/CD 파이프라인과 어떻게 연동되어 애플리케이션의 빌드, 테스트, 배포 과정을 효율화할 수 있는지 설명해주세요.
- Infrastructure as Code(IaC)가 CI/CD 파이프라인에서 어떤 역할을 수행하며, IaC를 CI/CD에 통합했을 때 얻을 수 있는 이점은 무엇인지 설명해주세요.
- CI/CD 파이프라인 구축 시 고려해야 할 보안 취약점과 이를 방지하기 위한 주요 보안 실천 방안에는 어떤 것들이 있는지 설명해주세요.