무중단 배포 방식

yshjft·2022년 7월 20일
0

CI/CD 사용해보기

목록 보기
2/4

무중단 배포란?

어플리케이션을 중단 없이 배포하는 것을 의미한다.

무중단 배포 기법

1) Rolling Update

  • 새로운 버전으로 점진적으로 교체해 간다.
  • 서비스 중인 인스턴스 하나를 로드밸런서에서 라우팅하지 않도록 한 뒤, 새 버전을 적용하여 다시 라우팅하도록 한다.

장점

  • 인스턴스마다 차례로 배포를 진행하기에 상황에 따라 손쉽게 롤백이 가능하다
  • 인스턴스를 늘릴 필요가 없다.

단점

  • 새 버전을 배포할때 인스턴스의 수가 감소하기 때문에 사용중인 인스턴스에 트래픽이 몰릴 수 있다.
  • 구버전과 신버전이 공존하기에 호환성 문제가 발생할 수 있다.

2) Blue/Green Deployment

  • Blue : 구버전
  • Green : 신버전
  • 로드밸런서(ex. nginx)를 통해 모든 트래픽을 한번에 신버전 쪽으로 전환하는 방식이다.

장점

  • 구버전의 인스턴스가 남아 있어서 손쉬운 롤백이 가능하다.
  • 구버전의 환경을 다음 배포에 재사용할 수 있다.

단점

  • 시스템 자원이 두배로 필요하다.

Canary Release

잠재적 문제 상황을 미리 발견하기 위한 방식이다. 신버전을 소수의 유저들에게만 배포를 해보고 문제가 없는것을 확인해가며 점차 많은 유저들에게 배포하는 기법이다.

장점

문제 상황을 빠르게 감지

단점

네트워크 트래픽 제어 부담

참고

무중단 배포 방식

profile
꾸준히 나아가자 🐢

0개의 댓글