1️⃣ Blue-Green Deployment

개념: 동일한 환경을 두 개 운영 (Blue, Green)

배포 전: 현재 운영 중인 버전이 Blue

새 버전 배포: Green 환경에 먼저 배포

정상 확인 후: 트래픽을 Blue → Green 으로 전환

실패 시: Blue로 빠르게 롤백 가능
장점: 전환이 빠르고 안전
단점: 인프라 비용 2배 필요



---

2️⃣ Canary Deployment (카나리아 배포)

개념: 소수 사용자에게만 새로운 버전 노출

점진적으로 트래픽 비율 증가 (예: 1% → 10% → 50% → 100%)

문제가 생기면 빠르게 차단 가능
장점: 리스크 최소화
단점: 관리 복잡, 모니터링 필수



---

3️⃣ Rolling Deployment

개념: 서버 그룹을 순차적으로 교체

예: 10대 중 1대씩 교체하여 점진적으로 전체 전환

전체 무중단, 하지만 장애 복구 시 복잡 장점: 리소스 절약
단점: 롤백 어려움, 중간 상태 관리 필요



---

4️⃣ Feature Toggle / Feature Flag

개념: 코드 배포는 모두 완료, 실제 기능 오픈 여부는 설정으로 제어

문제 발생 시 기능 단위로 즉시 Off 가능 장점: 코드 롤백 없이 운영 가능
단점: 코드 복잡도 증가, 관리 필요



---

5️⃣ Shadow Deployment (섀도우 배포)

개념: 새 버전에 실제 트래픽 복제, 응답은 사용하지 않음 (테스트 목적)

실시간 부하/정합성 검증 가능
장점: 사용자 영향 없음
단점: 완전한 무중단 X (실서비스 전환 아님)



---

💡 보통 선택 조합

Cloud 환경 (Kubernetes 등): Rolling + Canary

대규모 기업 서비스: Blue-Green + Feature Toggle

초기 실험: Shadow → Canary → Full Deploy

LIST

+ Recent posts