728x90

 

1. 배경 설명

애플리케이션이나 시스템을 운영 중인 환경에서 새로운 버전을 배포할 때, 서비스 중단 없이 안정적으로 배포하는 전략은 매우 중요합니다. 특히 클라우드 기반 시스템이나 컨테이너 환경에서는 무중단 배포가 요구되며, 이를 위한 다양한 배포 전략이 개발되었습니다. 그 중 대표적인 전략이 **롤링 업데이트(Rolling Update)**입니다.


2. 개념 또는 정의

**롤링 업데이트(Rolling Update)**는 전체 시스템을 한 번에 교체하지 않고, 소규모 단위(서버 또는 인스턴스)를 순차적으로 새로운 버전으로 교체해나가는 배포 전략입니다. 이 방식은 서비스를 중단하지 않으면서도 점진적으로 버전을 전환할 수 있도록 설계된 무중단 배포 방법입니다.


3. 어떤 기술인지 구체적으로 설명

롤링 업데이트는 다음과 같은 방식으로 동작합니다:

  1. 다수의 인스턴스로 구성된 애플리케이션이 있다고 가정합니다.
  2. 구버전 인스턴스 중 일부(예: 하나 또는 몇 개)를 중지합니다.
  3. 해당 인스턴스를 새로운 버전으로 교체하여 실행합니다.
  4. 정상 동작 여부를 확인한 뒤, 다음 인스턴스로 이동하여 위 과정을 반복합니다.
  5. 모든 인스턴스가 새로운 버전으로 교체되면 롤링 업데이트 완료.

이 방식은 **컨테이너 오케스트레이션 시스템(예: Kubernetes)**에서 기본 제공되며, YAML 파일을 통해 전략을 선언적으로 정의할 수 있습니다.


4. 주요 기술

  • Kubernetes의 Deployment 전략 중 하나로 기본 제공
    • strategy.type: RollingUpdate
    • maxUnavailable, maxSurge 설정을 통해 동시 업그레이드 수 조절 가능
  • AWS CodeDeploy, Azure DevOps, Spinnaker 등에서도 지원
  • Blue-Green, Canary 배포와 결합 가능 (예: 롤링 카나리)

5. 활용 방법 및 전망

  • 서비스 무중단 배포에 필수: 대규모 서비스에서 사용자 경험을 해치지 않고 업데이트 가능
  • 자동 롤백 기능과 결합: 업데이트 중 오류 발생 시 자동으로 구버전 복구 가능
  • 마이크로서비스와 궁합: 각 마이크로서비스를 개별적으로 롤링 업데이트
  • DevOps 및 GitOps 문화와 연계: CI/CD 파이프라인에 자연스럽게 통합

향후 전망

  • 점점 더 많은 기업이 클라우드 네이티브 아키텍처로 전환함에 따라, 롤링 업데이트의 수요와 중요성은 더욱 증가할 것으로 보입니다.
  • **AI 기반 운영 자동화(AIOps)**와 연계되어 업데이트 시점 예측, 실패 가능성 평가 등의 지능형 배포 기술도 발전 중입니다.

6. 유사 전략과 비교

전략방식 특징 사용
롤링 업데이트 순차 교체 무중단, 점진적 변경 Kubernetes 기본 배포
블루-그린(Blue-Green) 전체 교체 두 환경 유지, 전환 빠름 안정성 중시
카나리(Canary) 일부 사용자 대상 실사용자 테스트 가능 민감한 서비스 업데이트

정보기술연구모임
https://cafe.naver.com/itpewiki

728x90

'IT 자료 > Software engineering' 카테고리의 다른 글

PAF(Prevention-Appraisal-Failure) 모델  (0) 2025.05.16
GitHub(깃허브)  (0) 2025.05.13
빌딩(Building)  (0) 2025.05.11
UML과 SysML의 차이점  (1) 2025.05.10
블랙박스 테스트(Black-box Testing)  (1) 2025.05.10

+ Recent posts