Source: ByteByteGo
1️⃣ Multi-Service Deployment (동시 배포)
개념 : 여러 서비스를 한 번에 동시에 업그레이드
장점
- 구현이 가장 단순
- 빠르게 전체 반영 가능
단점
- 의존성 문제 추적 어려움
- 장애 발생 시 원인 분석 복잡
- 안전한 롤백이 어려움
- 대규모 장애 위험
작은 조직/단순 시스템에는 가능
마이크로서비스 환경에서는 위험
2️⃣ Blue-Green Deployment
개념: 두 개의 동일한 환경 운영
- Blue = 현재 운영(Production)
- Green = 다음 버전(Staging → Production 전환 예정)
테스트 완료 후 트래픽을 Green으로 전환
Green이 새로운 Production이 됨
장점
- 롤백 매우 쉬움 (트래픽만 다시 전환)
- 다운타임 거의 없음
단점
- 인프라 비용 2배
- 환경 동기화 필요
안정성 높은 기업 환경에서 선호
3️⃣ Canary Deployment
개념: 일부 사용자에게만 새 버전 점진적 배포
- 예: 5% → 20% → 50% → 100%
장점
- 비용 효율적 (환경 2개 필요 없음)
- 점진적 위험 관리
- 빠른 롤백 가능
단점
- 프로덕션에서 테스트
- 모니터링 필수
- 점진적 트래픽 조정 로직 필요
실무에서 가장 많이 쓰이는 전략
4️⃣ A/B Test
개념: 서로 다른 버전을 동시에 운영
- 각 버전이 사용자 그룹에 실험 수행
- 기능 성능 비교
장점
- 기능 실험에 매우 효과적
- 비용 낮음
단점
- 기능이 의도치 않게 노출될 위험
- 실험 제어 로직 필요
제품 개선 및 실험 중심 조직에서 사용
전략 비교 요약
전략 비용 안정성 롤백 난이도 복잡도
동시 배포 낮음 낮음 어려움 낮음
Blue-Green 높음 매우 높음 매우 쉬움 중간
Canary 중간 높음 쉬움 높음
A/B Test 낮음 중간 보통 중간
구조적 분석
- 동시 배포 = 위험 집중
- Blue-Green = 환경 분리
- Canary = 트래픽 분산
- A/B = 실험 중심
실제 장애가 발생하는 이유
대부분의 배포 장애는 이것 때문이다:
- DB 스키마 변경과 코드 배포 불일치
- Feature Flag 없이 코드 먼저 배포
- 캐시 무효화 전략 미흡
- 트래픽 급증 대비 부족
- 롤백 스크립트 미준비
- 의존 서비스 버전 충돌
배포 전략보다 더 중요한 것은: 모니터링 + 롤백 자동화 + Feature Flag