0Pricing
DevOps Bootcamp · 강의

블루/그린 배포

다운타임을 최소화하고 신속한 롤백을 지원하도록 GitHub Actions로 블루/그린 배포 전략을 설정합니다.

블루/그린 배포은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

블루/그린 배포란 무엇인가요?

환영합니다! 이 강의에서는 새 소프트웨어를 출시하는 강력한 전략인 블루/그린 배포를 자세히 살펴봅니다.

블루/그린 배포는 배포 중 중단 시간과 위험을 최소화하여 사용자가 항상 원활한 경험을 하도록 설계되었습니다.

블루와 그린 이해하기

"블루"와 "그린"이라는 이름의 동일한 프로덕션 환경이 두 개 있다고 생각해 보십시오.

  • 블루: 현재 운영 중인 환경으로, 모든 사용자 트래픽을 처리합니다.
  • 그린: 새 버전을 배포하고 테스트하는 데 사용하는 비활성 상태의 동일한 환경입니다.

블루/그린 작동 방식

과정은 간단하지만 효과적입니다.

  1. 새 애플리케이션 버전을 그린(비활성) 환경에 배포합니다.
  2. 그린에서 새 버전을 철저히 테스트합니다.
  3. 확신이 들면 모든 사용자 트래픽을 블루에서 그린으로 전환합니다.
  4. 이제 이전 블루 환경은 비활성 상태이므로 빠른 롤백이나 업데이트를 위해 유지할 수 있습니다.

블루/그린을 사용하는 이유

이 전략은 다음과 같은 큰 이점을 제공합니다.

  • 중단 시간 제로: 사용자가 중단 없이 새 버전으로 원활하게 전환됩니다.
  • 즉시 롤백: 문제가 발생하면 트래픽을 안정적인 블루 환경으로 다시 전환하면 됩니다.
  • 위험 감소: 실제 운영과 유사한 환경에서 새 버전을 테스트한 후 공개할 수 있습니다.

필요한 항목

블루/그린을 구현하려면 일반적으로 다음이 필요합니다.

  • 로드 밸런서: 트래픽을 블루 또는 그린 환경으로 전달합니다.
  • 동일한 환경 두 개: 일관성을 보장하기 위해 클라우드 기반으로 구성하는 경우가 많습니다.
  • 자동화 도구: 배포와 트래픽 전환을 관리하는 GitHub 액션과 같은 도구입니다.

GitHub 액션으로 오케스트레이션하기

GitHub 액션은 블루/그린 배포의 모든 단계를 자동화할 수 있습니다.

다음 작업을 수행하는 워크플로를 정의할 수 있습니다.

  • 비활성 환경에 빌드하고 배포합니다.
  • 새 배포를 대상으로 자동화된 테스트를 실행합니다.
  • 로드 밸런서의 API나 스크립트를 통해 트래픽 전환을 트리거합니다.

새 버전 배포하기

다음은 새 앱 버전을 '그린' 환경에 배포하는 간단한 GitHub 액션 코드 조각입니다. environment 이름을 사용하는 방식에 주목하시기 바랍니다.

name: Deploy to Green

on:
  push:
    branches:
      - main

jobs:
  deploy-green:
    runs-on: ubuntu-latest
    environment: Green # Target the Green environment
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Deploy app to Green
        run: |
          echo "Deploying application version ${{ github.sha }} to Green environment..."
          # Your actual deployment commands go here
          # e.g., deploy to a specific AWS EC2 instance or Kubernetes namespace

트래픽 전환하기

배포와 테스트가 성공적으로 완료되면 마지막 단계는 트래픽을 전환하는 것입니다. 이 과정에는 로드 밸런서나 DNS 레코드를 업데이트하는 작업이 자주 포함됩니다.

다음은 이 전환을 트리거하는 개념적인 GitHub 액션 단계입니다.

name: Switch Traffic to Green

on:
  workflow_dispatch: # Manual trigger for traffic switch

jobs:
  switch-traffic:
    runs-on: ubuntu-latest
    steps:
      - name: Update Load Balancer to Green
        run: |
          echo "Switching load balancer traffic to Green environment..."
          # Call your load balancer's API or a script here
          # e.g., aws elbv2 modify-target-group-attributes ...
          # or kubectl apply -f green-ingress.yaml

즉시 롤백

트래픽을 그린으로 전환한 후 심각한 버그가 나타나면 어떻게 해야 할까요?

블루/그린에서는 롤백이 즉시 가능합니다! 로드 밸런서의 트래픽을 원래의 안정적인 블루 환경으로 다시 전환하기만 하면 됩니다.

이를 통해 장애의 영향과 복구 시간을 크게 줄일 수 있습니다.

중요 고려 사항

블루/그린은 강력하지만 다음과 같은 고려 사항이 있습니다.

  • 리소스 중복: 두 개의 전체 환경을 실행하므로 인프라 비용이 두 배가 될 수 있습니다.
  • 데이터베이스 마이그레이션: 블루와 그린 모두 동일한 데이터 저장소에 액세스해야 할 수 있으므로 데이터베이스 변경을 처리하는 일이 복잡할 수 있습니다.
  • 상태 저장 앱: 상태를 지속적으로 유지하는 애플리케이션은 신중한 계획이 필요합니다.

블루/그린 배포 퀴즈

블루/그린 배포에 대한 이해도를 확인해 보겠습니다.

강의 요약

잘하셨습니다! 블루/그린 배포에 대해 배웠습니다.

  • 블루와 그린이라는 동일한 환경 두 개를 사용하여 새 버전을 배포합니다.
  • 중단 시간 제로와 즉시 롤백을 제공합니다.
  • GitHub 액션으로 배포와 트래픽 전환을 자동화할 수 있습니다.
  • 리소스 비용과 데이터베이스 변경 사항을 미리 계획해야 한다는 점을 기억하십시오!

자주 묻는 질문

“블루/그린 배포” 강의는 무료인가요?

네 — “블루/그린 배포” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.

“블루/그린 배포”에서 뭘 배우나요?

다운타임을 최소화하고 신속한 롤백을 지원하도록 GitHub Actions로 블루/그린 배포 전략을 설정합니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“블루/그린 배포” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 블루/그린 배포
  2. Actions를 사용한 카나리 릴리스
  3. 롤백 및 재해 복구
  4. 기능 플래그 및 점진적 배포
← DevOps Bootcamp(으)로 돌아가기