카테고리 없음

쿠버네티스 - 디플로이먼트의 배포 방식 :: 리크리에이트, 블루그린, 카나리

한소희DE 2022. 3. 27. 22:24

목차

배포 방식 - 리크리에이트

배포 방식 - 블루/그린

배포 방식 - 카나리

 

 

 


오늘은 롤링업데이트 방식 설명에 이어, 나머지 배포 방식 3가지를 간단히 소개해보는 포스팅을 작성해보도록 하겠다.

 

 

 

01. 배포 방식 - 리크리에이트

리크리에이트 배포 방식은 말그대로 re-create 하는 것이다.

즉, 업데이트 시 모든 서버를 중지하고 새로운 버전으로 배포한 뒤 다시 서비스를 올리는 방식이다.

이는 자원을 추가적으로 사용하지 않는다는 점에서 장점이 있지만, 다운타임이 발생한다는 치명적 단점이 있기 때문에 일반적으로 사용하지는 않는다. 

 

  • 장점: 자원을 추가적으로 사용하지 않음
  • 단점: 다운타임이 발생

 

 

 

 

 

 

 

02. 배포 방식 - 블루/그린

블루그린 방식에서, 블루는 구 버전 & 그린은 신 버전을 의미한다.

블루 '앤' 그린이라는 이름에서 유추할 수 있듯, 우리가 배포하고자 하는 신 버전 서버들도 모두 배포한다. 즉 동일한 환경으로 두 버전을 모두 배포하는 전략이다. Endpoint를 한 번에 신 버전을 바라보도록 바꾸어주면 업데이트가 가능한 원리다.

이 또한 롤링업데이트 만큼은 아니지만 많이 사용되는 배포 방식이다.

 

  • 장점: 무중단 배포. 롤링업데이트 처럼 두 버전이 공존하지 않으므로, 두 버전이 공존하면 안 될 경우 용이. 문제 시 롤백 용이
  • 단점: 동일 환경의 서버 자원이 두 배로 필요함.

 

 

 

 

03. 배포 방식 - 카나리

카나리는 카나리아 라는 새의 이름에서 따 온 명칭이다.

(카나리아는 탄광에서 유독가스의 누출 위험을 알리는 용도로 사용됐다. 인간보다 유독가스에 더 민감하기 때문이다.)

어원에서 알 수 있듯, 이는 위험을 잘 감지할 수 있도록 배포하는 방식이다.

 

신 버전의 일부를 배포하고, 대부분의 트래픽은 아직 구 버전을 바라보게 한다. (보통 20%는 신 버전을, 80%는 구 버전을 바라보게 하지만, 이는 회사마다 사이트환경마다 개발자마다 기준이 다르다.)

그후 신 버전으로 들어오는 트래픽에서 이상이 없는지, DB 이슈는 없는지 등을 테스트해본다. 불특정 집단에 대한 테스트가 될 수 있겠다.

이 또한 무중단으로 업데이트가 가능하며, 이와 같은 특성에 의해 A/B테스트도 가능하다.

또한 새 버전의 이상 없음이 판단되면, 새 버전으로 가는 트래픽의 비율을 증가시킨다.

 

 

  • 장점: 무중단 배포. 위험 감지에 효과적이며 문제 시 리스크가 적음. 문제 시 롤백 용이
  • 단점: 두 가지 버전을 동시에 관리해야 하는 이슈 발생. 원래 필요한 자원의 수보다 많은 자원이 필요

 

 

 

 

 

만약 롤링 업데이트에 대해서도 궁금하다면 아래 이전 포스팅을 참고하면 좋을 것 같다.

https://eng-sohee.tistory.com/133

 

쿠버네티스 - 디플로이먼트의 배포 방식 :: 롤링 업데이트

목차 배포 방식 - 롤링업데이트 디플로이먼트는 애플리케이션을 배포하고 업데이트를 수행하는 리소스다. 이를 통해 배포하는 방식은 크게 네 가지로 분류되며, 방법마다 장단점이 존재한다.

eng-sohee.tistory.com

 

 

 

 

 

 

 

 

공부를 통해 배운 내용을 작성하고 있습니다. 혹여 해당 포스팅에서 잘못된 부분이 있을 경우, 알려주시면 빠르게 수정 조치 하도록 하겠습니다. 오늘도 읽어주셔서 감사합니다!