본문 바로가기

Programmer

배포 전략 - 롤링/카나리/블루 그린

새로운 버전의 Application 이 개발완료되어 배포할때 크게 3가지의 전략을 가진다. 

1. 롤링 ( Rolling )

- 인스턴스를 정해놓은 단위로 교체하는 방식이다.  서비스를 구성하는 총 서버의 댓수가 10대라면 2대씩 롤링 업데이트를 진행하겠다고 한다면, 새로운 버전 2대가 생성되고, 정상적으로 서비스가 가능한 상태일때 트래픽이 2대로 전환되고, 구버전 2대는 서비스에서 제외한다. ( draining ) 이 방식으로 2대씩 순차적으로 새로운 버전으로 교체되는 방식이다. 이 방식은 가용 리소스가 적은 상태에서도 배포가 가능하다. 

 

2. 카나리 배포 ( Canary )

  - 카나리의 명칭은 예측한 것처럼 카나리아라는 새의 이름에서 따왔고, 이 새가 유독가스에 굉장히 민감한 동물로 석탄 광산에서 유독가스의 누출 위험을 알리는 용도로 사용되었었다. 즉, 미리 위험을 감지하여 대응할 수 있도록 하는 배포 방식이다. 

  - 특정 유저를 대상으로 서비스 트래픽을 새로운 버전으로 이전하여 문제가 없는지 확인하고 문제가 없으면 전체 트래픽을 전환하는 방식이다. A/B 테스트나, Google Play에서 배포하는 특정 % 기반의 방식도 이 카나리 배포 방식이다. 

 

3. 블루 그린 ( Blue/Green )

  - 구 버전을 블루 신 버전을 그린이라고 해서 붙여진 이름으로, 동일한 서버를 미리 구축한뒤에 라우팅을 순간적으로 전환하여 새로운 버전을 배포하는 방식이다. 빠른 롤백이 가능한 장점이 있고, 운영 환경을 유지한채로 새롭게 배포될 버전의 테스트도 가능한 구성이 되나, 자원이 두배로 필요하게 되어 비용이 많이 방생하는 단점 도 존재한다. 

 

'Programmer' 카테고리의 다른 글

배포 전략 - 롤링/카나리/블루 그린  (0) 2021.06.26
UTC 와 GMT  (0) 2017.07.21
코드 리뷰 및 커밋 메시지 관련하여 참고할 사항  (0) 2016.09.15