개발자 끄적끄적

배포 전략 본문

소프트웨어공학

배포 전략

햏치 2024. 3. 12. 22:50

<배포 전략>
- Production env로 배포할 때 서비스가 중단되는 시간이 없도록하는 무중단(zero down time)배포가 중요
- 배포 시 문제가 발생할 때 rollback(예전 버전으로 돌아감) 필요
- 배포전략
  - Rolling Update
  - Blue green 배포
  - Canary



<Rolling Update>
- 기존 인프라에 구 서비스를 제공하는 서버를 하나씩 순차적으로 새로운 버전으로 대체하는 방식
- 단점 
  - 구버전과 새버전의 서비스가 혼재
  - 서버에 새버전으로 배포될 때 서버에 과부하 가능성이 있다


<Blue/green 배포>
- 2개의 동일한 운영 환경을 준비하여 동시에 교체하는 방법-
여분의 인프라 준비를 해야하지만, Rolling update의 구버전과 신버전이 동시에 서비스 되는 시간이없으며 배포동안 문제가 발생했을 때 Rollback이 쉽다



<Canary 배포>
- 구 버전의 서비스를 제공하는 서버들 중에서 일부 서버에 새 버전의 애플리케이션을 배포하고 이 서버들에 일부 사용자 그룹의 트래픽을 분산하도록한다. 별 문제가 발생하지  않으면 나머지 서버들도 교체하면서 사용자 비율도 증가시킨다
- Canary는 소수의 사용자에게만 배포되기 때문에 blue/green 방식보다 상대적으로 영향이 적다
- Capacity testing 수행

'소프트웨어공학' 카테고리의 다른 글

RAD(Rapid Application Development), Lean Startup  (0) 2024.03.12
DevOps  (0) 2024.03.12
애자일 개요 및 원칙  (0) 2024.03.11