Skip to Content

Kubernetes에 대한 청록색 배포란?

Kubernetes 청록색 배포라는 소프트웨어 개발 라이프사이클 전략을 지원하며, 여기에는 프로덕션 환경에서 애플리케이션의 새로운 버전과 이전 버전을 동시에 실행하는 것이 포함됩니다. 청록색 배포란 무엇이며, Kubernetes 애플리케이션에 이러한 전술을 구현해야 하는 이유를 알아보세요. 

청록색 배포란?

청록색 배포는 프로덕션 환경에서 애플리케이션의 새 버전과 이전 버전을 동시에 실행하는 소프트웨어 개발 라이프사이클 전략입니다. 배포 후 사용자는 점차 이전 버전(파란색)에서 애플리케이션의 최신 버전(녹색)으로 마이그레이션됩니다. 

소프트웨어 업데이트를 빠르게 제공하기 위해 개발자는 지속적으로 기능을 배포할 수 있는 방법이 필요했습니다. 전통적으로 코드 배포에는 다운타임이 필요했기 때문에 매주 또는 매월 특정 날짜에 실행되었습니다. 이 전략은 소프트웨어 업데이트 속도를 늦추고 지속적 배포 지원하지 않습니다.

청록색 배포는 프로덕션 환경에서 애플리케이션의 이전 버전과 새 버전을 모두 실행하여 이 문제를 해결합니다. 파란색 버전은 기존 애플리케이션이고, 녹색 버전은 새로운 애플리케이션입니다. 사용자는 배포된 후 새로운 녹색 버전으로 천천히 이동합니다. 사용자가 새로운 녹색 버전으로 이동한 후, 버그나 심각한 오류로 인해 코드를 이전 버전으로 롤백해야 하는 경우 파란색 버전이 장애 조치로 작동할 수 있습니다.

Kubernetes를 통한 청록색 vs. 롤링 배포

많은 엔터프라이즈 환경에서 프로덕션은 여러 서버에서 실행됩니다. 여러 버전을 동시에 실행하는 대신, 롤링 배포는 하나의 애플리케이션 버전에서 작동하며 각 서버를 개별적으로 업데이트합니다. 

로드 밸런서 뒤에 두 개의 서버가 있고 단일 프로덕션 애플리케이션을 실행한다고 가정해 보십시오. 롤링 배포에서 개발자는 서버 한 대를 회전시키지 않고 애플리케이션을 업데이트한 다음 서버를 다시 회전시킵니다. 두 번째 서버는 회전이 중단된 다음 업데이트 됩니다. 대부분의 롤링 환경에는 3개의 서버가 있어, 새 버전 환경에 오류가 있는 경우 단일 서버가 장애 조치 역할을 할 수 있습니다.

Kubernetes의 청록색 대 카나리아

카나리아 배포는 청록색 배포와 유사하지만, 카나리아 배포는 모든 사용자를 새로운 버전으로 천천히 이동시키는 대신 특정 사용자를 애플리케이션의 최신 버전으로 보냅니다. 이는 베타 테스트에 관심이 있는 사용자와 함께 새로운 애플리케이션을 테스트하거나 피드백을 위해 새로운 사용자와 함께 새로운 기능을 자동으로 테스트하기 위한 훌륭한 전략입니다.

일반적으로 카나리아 배포는 소규모 사용자 하위 집합에서 사용되며, 원래 버전은 여전히 대다수의 사용자에 대해 실행됩니다. 소수의 사용자들만이 새로운 버전으로 이동하기 때문에, 인프라는 비용이 적게 들고, 소수의 사용자를 지원하기 위해 너무 진보할 필요가 없습니다.

청록색 배포의 장점

모든 지속적 배포리 환경에서 청록색 구축은 여러 가지 이점을 제공합니다. 청록색 배포는 애플리케이션 기능 업데이트의 전달을 가속화합니다. 개발자는 더 이상 새로운 코드를 배포하기 위해 창을 기다릴 필요가 없으며, 이는 잠재적으로 몇 개월 동안 배포를 지연시킬 수 있습니다.

세 가지 배포 유형 중, 청록색 배포는 다른 배포 유형보다 안전합니다. 두 애플리케이션 버전 모두 동시에 실행되므로 개발자는 많은 노력 없이 변경 사항을 롤백할 수 있습니다. 사용자는 필요한 경우 구축 또는 롤백 중에 다운타임을 경험하거나 생산성을 잃지 않습니다.

청록색 배포의 단점

청록색 구축의 가장 큰 단점은 비용입니다. 기업은 애플리케이션의 청색 및 녹색 버전을 모두 호스팅할 수 있는 이중 환경에 대한 IT 예산을 지불해야 합니다. 또한, 두 환경의 유지보수 및 모니터링을 위해 직원의 간접비를 지불합니다.

기업의 또 다른 장애물은 데이터베이스 동기화입니다. 데이터베이스 변경은 쉽게 롤백되지 않으므로, 특히 녹색 및 파란색 환경이 동일한 데이터베이스를 사용하는 경우 테이블 및 데이터베이스 스키마에 대한 업데이트를 신중하게 수행해야 합니다. 프로덕션 데이터베이스에 배포하기 전에 두 환경 모두 신중하게 테스트해야 합니다.

Kubernetes를 통해 청록색 배포를 사용해야 하는 경우

지속적인 배송과 Kubernetes의 만남. 개발자는 Kubernetes 같은 오케스트레이션 도구를 사용하여 애플리케이션을 자동으로 배포할 수 있습니다. Kubernetes 파란색 및 녹색 환경을 오케스트레이션하는 데 사용할 수 있으며, 개발자는 코드를 배포하고 Kubernetes가 스테이징 환경에서 프로덕션으로 코드를 홍보할 수 있도록 할 수 있습니다.

컨테이너화된 환경은 애플리케이션 포드를 신속하게 파괴하고 재구축하여 블루 또는 그린 버전을 실행할 수 있도록 하기 때문에 블루-그린 배포에 적합합니다. 컨테이너 애플리케이션에 오류가 발생하면 개발자는 변경 사항을 파란색 버전으로 보다 쉽게 롤백할 수 있습니다.

연락처
질문하기

퓨어스토리지 제품이나 인증 관련 질문이나 코멘트가 있으신가요?   저희가 도와드립니다.

데모 예약

라이브 데모를 예약하고 퓨어스토리지가 데이터를 어떻게 강력한 결과로 전환해주는지 직접 확인해 보세요. 

연락하기: +82 2 6001-3330

언론홍보팀:  pr@purestorage.com

 

퓨어스토리지코리아 주소

30F 아셈타워,

517 영동대로,

강남구, 서울

대한민국

korea@purestorage.com

닫기
지원하지 않는 브라우저입니다.

오래된 브라우저는 보안상 위험을 초래할 수 있습니다. 최상의 경험을 위해서는 다음과 같은 최신 브라우저로 업데이트하세요.