롤링 배포와 블루/그린 배포는 각각의 장단점이 있습니다. 안정성 측면에서 보면 블루/그린 배포가 더 안정적일 수 있습니다.
그 이유를 설명드리겠습니다.
1. 블루/그린 배포
- 두 가지 환경을 사용: 블루 환경(현재 운영 중인 버전)과 그린 환경(새 버전)을 동시에 준비합니다. 새 버전이 그린 환경에서 준비되고 테스트된 후, 문제가 없으면 트래픽을 그린 환경으로 전환합니다.
- 전환이 빠르고 안전함: 문제가 발생하면, 트래픽을 즉시 블루 환경으로 되돌릴 수 있습니다. 즉, 롤백이 쉽고 빠릅니다.
- 트래픽 스위칭: 전환은 보통 로드 밸런서를 통해 이루어지므로, 서비스의 중단 없이 버전을 교체할 수 있습니다.
- 장점: 서비스 다운타임을 최소화하고, 문제 발생 시 즉시 롤백 가능.
- 단점: 두 개의 환경을 유지해야 하므로, 인프라 비용이 두 배로 늘어날 수 있습니다.
2. 롤링 배포
- 점진적인 배포: 롤링 배포는 기존 버전의 일부 서버를 새 버전으로 교체해가며 점진적으로 배포하는 방식입니다.
- 점진적 전환: 배포 중에 문제가 발생하면 해당 서버를 롤백하거나 새 버전을 중지시킬 수 있지만, 모든 서버가 교체될 때까지는 문제가 어느 부분에서 발생했는지 파악하기 어려운 경우가 많습니다.
- 장점: 블루/그린 배포에 비해 인프라 리소스를 절약할 수 있습니다. 서버를 한 번에 교체하지 않고 점진적으로 배포하기 때문에 특정 트래픽의 영향을 덜 받습니다.
- 단점: 문제가 발생할 경우 트래픽의 일부만 영향을 받기 때문에 전반적인 영향을 파악하기 어려울 수 있고, 완전히 롤백하기 전까지는 새 버전에서 발생한 문제를 겪을 수 있습니다.
3. 안정성 비교
- 블루/그린 배포는 두 환경을 완전히 분리해서 관리할 수 있기 때문에 문제가 발생했을 때 빠르게 이전 버전으로 돌아갈 수 있어 더 안정적입니다.
- 롤링 배포는 점진적이긴 하지만, 배포 중에 문제가 발생하면 더 넓은 범위의 영향을 미칠 수 있으며, 모든 서버가 새 버전으로 교체될 때까지는 문제를 완전히 해결하기 어렵습니다.
결론적으로, 안정성을 고려했을 때 블루/그린 배포가 더 안전하고 효과적입니다. 단, 리소스를 많이 사용하는 점은 고려해야 합니다.
'DevOps > CICD' 카테고리의 다른 글
[CI/CD] CD/CD 소개 (0) | 2022.12.21 |
---|