반응형
롤링 배포(Rolling Deployment)
- 무중단 배포의 가장 기본적인 방식
- 사용 중인 인스턴스 내에서 새 버전을 점진적으로 교체하는 방식
- 서비스 중인 인스턴스 하나를 로드밸런서에서 제거한 뒤, 새 버전을 배포 후 다시 라우팅하도록 하는 과정을 반복하여 모든 인스턴스에 새 버전의 애플리케이션을 배포
- 인스턴스마다 차례로 배포를 진행하기 때문에 상황에 따라 손쉽게 롤백이 가능한 장점
- 새 버전을 배포할 때 로드 밸런싱에 연결된 인스턴스 수가 감소하기 때문에 서비스 처리 용량을 고려해야 함
- 또한 서버가 여러대일 경우 배포가 진행되는 동안 구버전과 신버전이 공존하기 때문에 호환성 문제가 발생할 수 있음
블루-그린 배포(Blue-Green Deployment)
- 블루를 구버전, 그린을 신버전으로 지칭
- 신규 서버가 배포 완료 상태가 되기 까지 기존 서버다 동작하다, 신규 서버가 준비되면 로드 밸런서의 방향을 변경
- 배포 속도가 빠르며, 장애가 발생했을 때 로드 밸런서가 기존 서버를 가리키면 되기 때문에 롤백이 쉬움
- 추가적인 서버로 인한 비용이 단점
카나리 배포
- 위험을 빠르게 감지할 수 있는 배포전략
- 지정된 서버 또는 특정 User에게만 배포했다가 정상적이면 전체를 배포
- 새로운 버전으로 인한 위험을 최소화
- 신/구 버전 애플리케이션 동시 존재하므로 호환성문제 발생
참고
더보기
https://dev.to/mostlyjason/intro-to-deployment-strategies-blue-green-canary-and-more-3a3
Intro to deployment strategies: blue-green, canary, and more
With modern CI/CD and microservices, developers deploy more frequently, but they must avoid breaking production. We describe deployment strategies so you can deploy with confidence.
dev.to
반응형