본문 바로가기
👨‍🏫일문일답

무중단 배포(zero-downtime deployment)

by 캔 2024. 3. 4.

서비스를 중단하지 않고 배포하는 방법이다. 로드밸런서와 두 개 이상의 인스턴스를 사용하여 진행한다. 블루그린, 카나리, 롤링 전략이 있다.

 

블루-그린 배포 전략은 기존 환경과 동일한 새 인스턴스(그린)에 배포 후 로드밸런서를 통해 트래픽을 기존 인스턴스(블루)에서 새로운 환경으로 전환하는 방식이다.

 

카나리 배포 전략은 기존 버전과 새로운 버전을 "같이 운영"하되, 새로운 버전의 비율을 점진적으로 늘려가며 이상이 없는지 확인 후 새로운 버전으로 전환하는 방식이다.

 

롤링 배포 전략은 기존에 인스턴스 중 일부를 "중단"한 뒤 새로운 버전을 배포한 다음, 트래픽을 기존 인스턴스에서 새로운 인스턴스로 전환하는 방식이다.

장단점

블루-그린 배포 전략 -> 버전 간 호환성 문제 없음. 추가적인 인스턴스 필요.

카나리 배포 전략 -> 새로운 버전으로 점진적으로 전환하면서 테스트와 배포를 동시에 수행 가능. 버전 간 호환성 문제 발생 가능.

롤링 배포 전략 -> 추가적인 인스턴스 필요 없음. 제한된 인스턴스 내에서 점진적으로 전환하기 때문에 처리 용량 감소로 가용성 저하 위험. 버전 간 호환성 문제 발생 가능.

'👨‍🏫일문일답' 카테고리의 다른 글

Concurrency Issue and Thread-safety  (0) 2024.04.06
AJAX 사용 시 CSRF 토큰 쿠키 httpOnly 옵션 사용 여부?  (0) 2024.03.17
프로세스 스케쥴링 방식  (0) 2024.01.29
프로세스 스케쥴링  (0) 2024.01.29
트랩  (0) 2024.01.29