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
'Spring & Backend' 카테고리의 다른 글
| 멀티 태스킹 시스템의 한계에 대해서 설명해주세요. (0) | 2025.07.17 |
|---|---|
| 브라우저 메모리 캐시와 디스크 캐시가 무엇인지 설명해주세요. (2) | 2025.07.17 |
| 단일 프로세스 시스템에 대해서 설명해주세요. (2) | 2025.07.16 |
| Keep Alive에 대해 설명해 주세요. (0) | 2025.07.15 |
| 컨테이너의 장점 (0) | 2025.07.14 |
