04. DevOps,CICD

롤링 업데이트(Rolling Update)는 소프트웨어 배포 방식

카이저일공 2024. 1. 20. 20:21
롤링 업데이트(Rolling Update)란?

롤링 업데이트(Rolling Update)란?

롤링 업데이트는 시스템 업데이트를 점진적으로 수행하는 방식으로, 서비스 중단을 최소화하고 리스크를 관리하는 데 유용합니다.

가. 롤링 업데이트의 특징

  • 점진적 배포: 업데이트가 일괄적으로 이루어지는 것이 아니라, 시스템의 일부분에만 순차적으로 적용됩니다.
  • 서비스 중단 최소화: 업데이트 중에도 시스템의 나머지 부분이 정상 작동하여 서비스 중단 시간을 최소화합니다.
  • 위험 감소: 전체 시스템에 대한 업데이트가 아니므로, 문제 발생 시 영향을 제한하고 빠른 대응이 가능합니다.

나. 롤링 업데이트의 과정

  1. 준비 단계: 새 버전의 애플리케이션을 준비하고, 업데이트를 위한 계획을 세웁니다.
  2. 부분적 배포: 시스템의 일부 인스턴스에만 새 버전을 배포합니다.
  3. 모니터링 및 검증: 새 버전이 정상적으로 작동하는지 모니터링하고 검증합니다.
  4. 순차적 업데이트: 나머지 인스턴스에도 점차적으로 업데이트를 진행합니다.

다. 롤링 업데이트 종류

  1. 기본 롤링 업데이트: 시스템의 인스턴스를 하나씩 순차적으로 업데이트합니다.
  2. 블루/그린 배포: "블루" 버전과 "그린" 버전이 동시에 배포됩니다.
  3. 카나리 배포: 새 버전을 소수의 사용자에게만 처음 제공합니다.
  4. A/B 테스팅: 두 가지 버전을 다른 그룹의 사용자에게 제공합니다.
  5. 피처 플래그(Feature Flag): 새 기능을 코드에 포함시키되, 활성화/비활성화를 제어합니다.

라. 사용 사례

클라우드 서비스 및 마이크로서비스 아키텍처에서 자주 사용됩니다.

마. 주의사항

  • 리소스 관리: 동시에 여러 버전의 애플리케이션이 실행되므로, 리소스 관리가 중요합니다.
  • 호환성 확인: 새로운 버전이 기존 시스템과 호환되는지 사전에 확인해야 합니다.

'04. DevOps,CICD' 카테고리의 다른 글

ArgoCD vs Flux: 장단점과 사용 사례  (1) 2024.01.23
ArgoCD vs Spinnaker  (0) 2024.01.20
Gitops Overview  (0) 2024.01.18
DevOps vs GitOps  (0) 2024.01.18
DevSecOps의 주요 보안 요소  (0) 2024.01.18