728x90
반응형
Blue/Green 배포는 애플리케이션의 새로운 버전을 릴리스할 때 기존 환경을 안전하게 유지하면서, 업데이트를 점진적이고 안전하게 수행하기 위해 고안된 배포 전략이다. 이 방식은 두 가지 환경(blue와 green)을 설정하여 새로운 버전의 안정성을 검증하고, 장애가 발생할 경우 신속하게 복구할 수 있게 해준다. 이를 통해 시스템의 가용성과 안정성을 극대화할 수 있다.
Blue/Green 배포의 구조와 과정
- Blue 환경: 현재 운영 중인 버전의 애플리케이션이 실행되고 있는 환경이다. 사용자는 Blue 환경에 접속하고 있으며, 모든 트래픽이 이곳으로 전송된다.
- Green 환경: 새로운 버전이 배포되는 환경이다. Green 환경에 애플리케이션의 최신 버전을 설치하고, 충분한 테스트를 진행한다.
- 전환 과정:
- Green 환경에서 모든 설정 및 테스트가 완료되면, 로드 밸런서나 DNS 설정을 통해 트래픽을 Blue 환경에서 Green 환경으로 전환한다.
- 이 전환은 사용자가 서비스 이용 중에 느끼지 못할 정도로 빠르게 진행될 수 있으며, 서비스의 다운타임을 최소화할 수 있다.
- 롤백 지원:
- 만약 Green 환경에서 문제가 발생하면, 다시 Blue 환경으로 트래픽을 되돌릴 수 있다. 이를 통해 장애가 발생하더라도 신속하게 롤백할 수 있어 서비스의 안정성을 유지할 수 있다.
Blue/Green 배포의 장점
- 다운타임 최소화: 운영 환경을 변경하는 동안에도 Blue 환경이 지속적으로 서비스를 제공하므로, 사용자에게 큰 불편을 주지 않는다.
- 빠른 롤백 가능성: 문제가 발생하면 Green 환경에서 Blue 환경으로 트래픽을 신속하게 전환해 즉각적인 복구가 가능하다.
- 새 버전의 안전성 확보: 새로운 버전을 사전 검증한 후 전환할 수 있어 안정성이 향상된다.
Blue/Green 배포의 단점
- 운영 비용 증가: 두 개의 환경을 동시에 유지해야 하므로, 인프라 자원 비용이 증가할 수 있다.
- 복잡성 증가: 관리해야 하는 환경이 두 개이기 때문에 구성 및 운영 관리가 복잡해질 수 있다.
활용 사례
Blue/Green 배포는 주로 대규모 트래픽을 처리하는 서비스나 다운타임이 허용되지 않는 중요한 시스템에 사용된다. 예를 들어, 금융 서비스나 쇼핑몰, 미션 크리티컬(Mission Critical) 시스템에서 애플리케이션 배포 시 많이 채택하는 방식이다.
이 배포 방식은 AWS, Google Cloud Platform, Microsoft Azure와 같은 주요 클라우드 제공자들에서 지원하고 있으며, CI/CD 파이프라인의 일환으로 쉽게 통합하여 자동화할 수 있다.
728x90
반응형
'ETC' 카테고리의 다른 글
사용자와 서버 사이의 과정 (0) | 2024.11.06 |
---|---|
Canary Release (카나리 배포) (4) | 2024.11.05 |
오블완 챌린지 (2) | 2024.10.28 |
Redis란? (2) | 2024.10.27 |
JUnit을 활용한 유닛 테스트 (3) | 2024.10.26 |