본문 바로가기

infra

(4)
[CI/CD] 위험을 감지하는 카나리(Canary) 배포 [infra] - [CI/CD] 가장 기본적인 무중단 배포, 롤링 업데이트(Rooling Update)롤링 업데이트는 배포 중 버전이 섞이는 문제가 있었고, [infra] - [CI/CD] 가장 안전한 배포, 블루-그린(Blue-Green) 배포블루-그린은 안전하지만 리소스 비용 및 '전부 아니면 전무(All or Nothing) 방식의 부담이 존재했다. 이 둘의 장점을 합칠 수 있다면?"배포로 인한 위험을 최소화하면서, 실제 운영 환경에서 신규 버전의 성능을 데이터로 검증하고 점진적으로 안정적인 출시하기"이 질문에 대한 해답으로 카나리(Canary) 배포 전략이 있다. 카나리 배포란? 이름의 유래 카나리 배포는 과거 광부들이 유독가스를 감지하기 위해 탄광에 카나리아 새를 데리고 들어갔던 것에서 유..
[CI/CD] 가장 안전한 배포, 블루-그린(Blue-Green) 배포 [infra] - [CI/CD] 가장 기본적인 무중단 배포, 롤링 업데이트(Rooling Update) 롤링 업데이트는 간단하고 효율적이지만, 배포 중 버전이 섞이는 문제와 장애 발생 시 롤백이 느리다는 명확한 한계가 있었다. 배포로 인한 장애 위험을 극도로 줄이고, 문제가 생겼을 때 1초 만에 이전 버전으로 되돌리기 위해서는 안정성에 모든 것을 건 블루-그린 배포 전략을 고려할 수 있다! 블루-그린 배포란? 똑같은 구성의 운영 환경을 두 세트 준비하여, 서비스 중단 없이 안전하게 배포를 완료하는 전략블루(Blue) 환경 : 현재 운영되어 사용자들이 접속하고 있는 실 서비스 환경 (구버전)그린(Green) 환경 : 새로 배포할 버전이 담길, 사용자에게는 노출되지 않은 환경 (신버전)이 두 환경에 대한 트..
[CI/CD] 가장 기본적인 무중단 배포, 롤링 업데이트(Rooling Update) CI/CD 파이프라인의 마지막 단계인 '배포(Deploy)'에서 무중단 배포 방법 중 하나로 롤링 업데이트(Rolling Update)가 있다. 무중단 배포가 왜 필요할까? 무중단 배포를 적용하지 않은 서비스에서 새로운 버전을 배포하기 위해서는 서비스를 잠시 중단해야 한다.기존 서비스를 내린 뒤 새로운 버전으로 교체하고 다시 실행하는 방식.하지만 24/7 운영이 기본인 오늘날, 배포를 위한 서비스 중단은 사용자에게 나쁜 경험을 주고 비즈니스에 손실을 입힐 수 있다. → 무중단 배포는 이러한 다운타임을 없애기 위한 배포 전략들을 총칭하는 말이며,대표적으로 Rolling Update, Blue-Green, Canary 배포가 있다. 롤링 업데이트의 동작 방식 말 그대로 '굴러가듯이' 점진적으로 업데이트하는..
[CI/CD] 개발부터 배포까지, 자동화하기 이제 CI/CD는 더 이상 선택이 아닌 필수가 되었다.빠른 개발 속도와 안정적인 서비스 운영을 위해 반드시 구축해야 하는 개발 프로세스인CI/CD가 무엇인지 그 개념부터 필요성, 대표 CI/CD 툴까지 알아보자. CI (Continuous Integration) 여러 개발자가 하나의 프로젝트를 진행할 때, 각자 맡은 기능을 며칠, 몇주에 걸쳐 개발한 뒤 마지막에 코드를 합친다면 수많은 conflict가 발생하여 해결에 엄청난 시간이 소요될 것이다.CI란?: 여러 개발자의 각 소스들을 메인 소스에 병합하고 빌드하는 과정의 반복을 자동화하는 것'주기적으로', 그리고 '자동으로' 통합하고 테스트하는 것 왜 필요할까?코드 통합 시 발생하는 문제점을 조기에 발견하고 빠르게 해결 가능버그가 발견되는 시점을 앞당기고..