ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Kubernetes) Application 배포
    Cloud/Kubernetes 2022. 10. 24. 23:32
    학습 목표 : 몇가지 Application 배포 방식에 대해 알아본다.

    Application 배포(Update) 방식

    • 기본적인 Application 배포는 Application을 중단하고 업데이트를 진행하여 서비스가 중단되는 시점(downtime)이 생긴다.

     

    • downtime을 극복하기위한 무중단 배포방식이 사용된다.

     

    • Rolling Update (Rolling 배포)

        -  무중단 방식의 가장 기본적인 방식으로 사용중인 인스턴스 내에서 새버전을 점진적으로 교체한다.

        -  장점

            -  인스턴스마다 차례로 배포를 진행하여 상황에따라 쉽게 Rollback이 가능하다.

            -  추가적인 인스턴스를 늘리지 않아도 되고 간편하게 관리가 가능하다.

        -  단점

            -  사용중인 인스턴스에 트래픽이 몰릴 수 있다.

            -  배포중에 신버전과 구버전이 공존하므로 호환성 문제가 발생할 수 있다.

     

    • Blue/Green Deployment

        -  Blue(구버전)과 Green(신버전)으로 나눈다.

        -  Load Balancer를 통해 구버전의 모든 트래픽을 한번에 신버전 쪽으로 전환하는 방식

        -  장점

            -  신버전에 구버전의 인스턴스가 그대로 남아있어 손쉬운 Rollback이 가능하다.

            -  구버전의 환경을 다음 배포에 재사용할 수 있다.

            -  운영환경에 영향을 주지않고 새버전을 테스트할 수 있다.

        -  단점

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

            -  새로운 환경에 대한 테스트가 전제되어야 한다.

     

    • Canary Release (Canary 배포)

        -  옛날 광부들이 유독가스감지를위해 Canary 새를 이용한것을 유래로 잠재적 문제 상황을
           미리 감지하기위한 방식

        -  신버전을 소수의 사용자에게 배포하여 문제가 없는지 확인한 후, 점차 사용자를 늘려 배포한다.

        -  Blue/Green Deployment와 유사한 면이 있지만 트래픽을 한 번에 바꾸는 것이 아니라 단계적으로
           전환하기 때문에 부정적 영향을 최소화하고 트래픽 양을 조절하여 Rollback할 수 있다.

        -  A/B 테스트, 대조군과 실험군을 나누어 특정 UI나 Algorithm 효과 비교 테스트를 할 수 있다.

        -  문제상황을 빠르게 감지가 가능하나 네트워크 트래픽 제어에 부담이 갈 수 있다.



    댓글

Designed by Tistory.