민프

[CI-CD] 무중단 배포 방식 (Rolling, BlueGreen, Canary) 본문

DevOps/[CI-CD]

[CI-CD] 무중단 배포 방식 (Rolling, BlueGreen, Canary)

민프야 2025. 7. 1. 21:00

무중단 배포란 무엇인가?

무중단 배포(Zero Downtime Deployment)란

서버를 새 버전으로 배포할 때 기존 서비스에 끊김 없이 사용자에게 지속적으로 서비스를 제공하는 방식입니다.

 

전통적인 방식처럼 배포 중에 서비스가 잠시 중단되거나 에러가 발생하는 걸 방지하는 목적 입니다.


왜 무중단 배포가 필요한가?

서비스가 중단되면 사용자 경험은 나빠지고, 트래픽 손실과 매출 손실까지 이어집니다.

또한 DevOps와 CI/CD가 기본이 된 지금, 자동화된 안정적인 배포 환경은 필수입니다.

 

(실무에서는 배포하는 동안 다른 개발자들도 서버를 사용할 수 없어서 약간의 개발 딜레이가 발생하여 필수적으로 필요한 부분 같습니다.)

항목
설명
사용성 유지 고객의 UX를 해치지 않음 (특히 B2C 서비스는 타격 큼)
수익 손실 방지 서비스 중단은 곧 매출 손실로 이어짐
자동화 배포 필수 요소 DevOps, CI/CD의 핵심은 안정성과 자동화
실시간 트래픽 트래픽이 항상 있는 서비스에서 불가피

 


주요 무중단 배포 방식

 

방식 설명 장점 단점
Rolling Update 하나씩 기존 서버를 새 버전으로 교체 구현이 간단 구버전과 신버전이 섞여 있음
Blue-Green 구버전(Blue)과 신버전(Green)을 분리하여 전체 스위칭 완벽한 테스트 후 전환 가능롤백이 빠름 두 환경을 동시에 유지 → 비용 증가
Canary 신버전을 일부 사용자에게만 배포, 점진적으로 확대 점진적 배포로 리스크 낮춤 설정 복잡, 모니터링 필수

1. Rolling 배포

https://llshl.tistory.com/47

 

  • 기존 인스턴스를 하나씩 신버전으로 교체
  • 기존 서버 중 일부는 구버전, 일부는 신버전으로 동작
  • 장점
    • 구현이 쉽고 비용이 적음
    • 손쉬운 롤백
  • 단점
    • 버전 불일치로 장애 위험 있음
    • 새 버전 배포 시 인스턴스 수가 감소함으로 사용중인 인스턴스에 트래픽이 몰릴 수 있음.

아래 사진에서보면 저는 ECS에 Rolling 배포를 적용하였는데

신 버전이 실행되고, 이전 버전은 중지가 되고 다시 실행되는 것을 확인할 수 있습니다.

ECS- Task Rolling배포


2.  Blue Green 배포

https://llshl.tistory.com/47

 

  • Blue(기존)과 Green(신규)를 완전히 분리
  • Green이 완전히 준비되면 트래픽을 전환
  • 장점
    • 배포 후 테스트 가능, 롤백 쉬움
  • 단점
    • 두 세트를 유지해야 하므로 비용 증가

3.  Canary 배포

https://llshl.tistory.com/47

  • 일부 사용자에게만 신버전 제공 후 점진적으로 확대
  • 장점
    • 실사용자 환경에서 점진적 테스트 가능
  • 단점
    • 트래픽 분기 처리 및 모니터링이 복잡함

참고링크

https://llshl.tistory.com/47

 

[Infra] 무중단 배포 방식(Rolling / BlueGreen / Canary)

무중단 배포에 대해 알아보자. 1. 무중단 배포란? 말 그대로 애플리케이션의 중단 없이 배포를 하는 것을 말한다. 애플리케이션은 언제 중단될까? v1 서비스가 실행 중일 때 v2 버전을 다운로드 받

llshl.tistory.com

https://docs.aws.amazon.com/ko_kr/codedeploy/latest/userguide/deployment-steps.html

 

https://www.samsungsds.com/kr/insights/1256264_4627.html

 

무중단 배포 아키텍처(Zero Downtime Deployment)- 글로벌 서비스 운영의 필수 요소 | 인사이트리포트 |

 

www.samsungsds.com

 

Comments