소프트웨어 무중단 배포 전략

1. 소프트웨어 무중단 배포의 개념 및 필요성

  • Software Zero Downtime Deployment Strategies
개념실행 중인 소프트웨어의 변경 사항 적용을 위해 서비스 중단 없이 시스템에 새로운 버전을 배포하는 방식
필요성사용자 경험 향상중단 없는 서비스 사용을 통한 사용자 경험/만족도 향상
비즈니스 연속성 보장중단 없이 배포 가능하므로 서비스 운영 영향 최소화
빠른 피드백 제공신규 버전 배포 시 실시간 피드백 및 문제 대응 가능
  • 신규 버전의 소프트웨어 적용을 위해 롤링, 블루/그린, 카나리 배포 등 적절한 무중단 배포 전략을 선택하여 서비스 연속성, 가용성, 신뢰성 확보

 

2. 소프트웨어 무중단 배포 전략의 종류

(1) 롤링 배포 (Rolling Deployment)

개념구버전 서버를 하나씩 신버전으로 교체하여, 두 버전이 일시 공존하며 점진적으로 배포
메커
니즘
배포
절차
① 인스턴스 제외: 로드밸런서에 연결된 Old ver. 중 일부(예: 1대)를 트래픽 처리에서 제외
② 업데이트: 제외된 해당 서버에 New ver. 애플리케이션을 배포
③ 재투입: New ver. 서버의 상태(Health Check)가 정상이면 다시 로드밸런서에 연결
④ 반복: 남은 Old ver. 서버들도 위 과정을 순차적으로 반복
⑤ 완료: 모든 서버가 New ver. 교체되면 배포 종료. (배포 중에는 Old와 New Version 공존)

(2) 블루/그린 배포 (Blue/Green Deployment)

개념신버전 환경을 별도로 구축해 테스트한 뒤, 트래픽을 한순간에 전환하여 즉시 배포
메커
니즘
배포
절차
① 환경 준비: 현재 운영 중인 환경(Blue)과 동일한 스펙의 새로운 환경(Green) 준비
② 신버전 배포: Green 환경에 New ver. 배포하고 구동. 실제 사용자 트래픽은 Blue로만 연결
③ 내부 검증: 운영자와 개발자가 Green 환경에 접속해 기능과 성능을 테스트
④ 트래픽 스위칭: 로드밸런서 설정을 변경하여 모든 트래픽을 Blue → Green 한 번에 전환
⑤ 대기 및 종료: Blue 환경은 롤백을 위해 대기하고 안정화가 완료되면 리소스 제거

(3) 카나리 배포 (Canary Deployment)

개념소수 사용자에게 신버전을 먼저 노출해 검증한 뒤, 단계적으로 전체 트래픽을 전환
메커
니즘
배포
절차
① 소수 배포: New ver. 환경 소규모 생성, 라우팅 규칙으로 소수 트래픽(예: 5%)만 v2로 연결
② 모니터링: New ver.로 유입된 트래픽에서 발생하는 에러율, 응답 속도, 리소스 사용량 감시
③ 점진적 확대: 문제가 없다면 New ver. 트래픽 비중 단계별 증가(예: 10% → 30% → 50%)
④ 전면 교체: 특정 시점 혹은 100% 도달 시 Old ver.을 완전히 내리고 New ver. 만 운영
⑤ 중단 시나리오: 트래픽 전환 중 오류 발견 시 트래픽 차단, 롤백하여 대다수 사용자를 보호
  • 롤링, 블루/그린, 카나리 배포 특징에 따라 운영 시스템과 서비스에 적절한 배포 전략 선택 필요

 

3. 소프트웨어 무중단 배포 전략 비교

비교 항목롤링 배포블루/그린 배포카나리 배포
전환 방식순차적 전환즉시 전환검증 후 전환
필요 인프라기존 인프라 활용인프라 2배 필요일부 인프라 추가 필요
롤백 방식역순 롤백 배포트래픽만 원복소수 트래픽만 차단
장점비용 최소화신속한 롤백 가능점진적 배포로 안정화
단점배포 시간 증가인프라 비용 증가배포 복잡성 증가
적용 사례MSA, 클라우드 시스템금융권, 대규모 서비스글로벌 서비스, UX 개선
  • 비용 최소화 필요 시 롤링, 배포 안정성과 신속한 롤백 필요 시 블루그린, 영향도 최소화 필요 시 카나리 배포 전략 선택 권장
  • 소프트웨어 무중단 배포의 필수 요소로 클라이언트의 요청을 특정 서버 또는 VM으로만 전달하도록 L4 스위치 등 리버스 프록시와 로드밸런서를 통해 제어 필요

 
[참고]

  • CNCF, Amina Reshma, Mastering deployment strategies, 2023.5
  • dev.to, Jason Skowronski, Intro to deployment strategies: blue-green, canary, and more, 2018.11

콘텐츠 사용 시 출처 표기 부탁 드리고, 댓글은 큰 힘이 됩니다^^