Source: ByteByteGo

1️⃣ Multi-Service Deployment (동시 배포)

개념 : 여러 서비스를 한 번에 동시에 업그레이드

장점

  1. 구현이 가장 단순
  2. 빠르게 전체 반영 가능

단점

  1. 의존성 문제 추적 어려움
  2. 장애 발생 시 원인 분석 복잡
  3. 안전한 롤백이 어려움
  4. 대규모 장애 위험

작은 조직/단순 시스템에는 가능

마이크로서비스 환경에서는 위험

2️⃣ Blue-Green Deployment

개념: 두 개의 동일한 환경 운영

  1. Blue = 현재 운영(Production)
  2. Green = 다음 버전(Staging → Production 전환 예정)

테스트 완료 후 트래픽을 Green으로 전환

Green이 새로운 Production이 됨

장점

  1. 롤백 매우 쉬움 (트래픽만 다시 전환)
  2. 다운타임 거의 없음

단점

  1. 인프라 비용 2배
  2. 환경 동기화 필요

안정성 높은 기업 환경에서 선호

3️⃣ Canary Deployment

개념: 일부 사용자에게만 새 버전 점진적 배포

  1. 예: 5% → 20% → 50% → 100%

장점

  1. 비용 효율적 (환경 2개 필요 없음)
  2. 점진적 위험 관리
  3. 빠른 롤백 가능

단점

  1. 프로덕션에서 테스트
  2. 모니터링 필수
  3. 점진적 트래픽 조정 로직 필요

실무에서 가장 많이 쓰이는 전략

4️⃣ A/B Test

개념: 서로 다른 버전을 동시에 운영

  1. 각 버전이 사용자 그룹에 실험 수행
  2. 기능 성능 비교

장점

  1. 기능 실험에 매우 효과적
  2. 비용 낮음

단점

  1. 기능이 의도치 않게 노출될 위험
  2. 실험 제어 로직 필요

제품 개선 및 실험 중심 조직에서 사용


전략 비교 요약

전략 비용 안정성 롤백 난이도 복잡도

동시 배포 낮음 낮음 어려움 낮음

Blue-Green 높음 매우 높음 매우 쉬움 중간

Canary 중간 높음 쉬움 높음

A/B Test 낮음 중간 보통 중간

구조적 분석

  1. 동시 배포 = 위험 집중
  2. Blue-Green = 환경 분리
  3. Canary = 트래픽 분산
  4. A/B = 실험 중심

실제 장애가 발생하는 이유

대부분의 배포 장애는 이것 때문이다:

  1. DB 스키마 변경과 코드 배포 불일치
  2. Feature Flag 없이 코드 먼저 배포
  3. 캐시 무효화 전략 미흡
  4. 트래픽 급증 대비 부족
  5. 롤백 스크립트 미준비
  6. 의존 서비스 버전 충돌

배포 전략보다 더 중요한 것은: 모니터링 + 롤백 자동화 + Feature Flag