DevOps 용어 정리

SUM·2023년 10월 23일
post-thumbnail

1. Blue-Green 배포

애플리케이션 또는 마이크로서비스의 이전 버전에 있던 사용자 트래픽을 이전 버전과 거의 동일한 새 버전으로 점진적으로 이전하는 애플리케이션 릴리스 모델

블루/그린 배포(Blue/Green deployment)는 무중단 배포 기법(무중단 배포는 말 그대로 서비스가 중단되지 않은 상태(zero-downtime)로, 새로운 버전을 사용자들에게 배포하는 것을 의미. 무중단 배포를 하기 위해서는 최소 서버가 2대 이상을 확보해야야 함)의 하나.

트래픽을 한번에 구버전에서 신버전으로 옮기는 방법이다. Blue/Green 배포 전략에서는 현재 운영중인 서비스의 환경을 Blue라고 부르고, 새롭게 배포할 환경을 Green이라고 부른다.

Blue와 Green의 서버를 동시에 나란히 구성해둔 상태로 배포 시점에 로드 밸런서가 트래픽을 Blue에서 Green으로 일제히 전환시킨다. Green 버전 배포가 성공적으로 완료 되었고, 문제가 없다고 판단했을 때에는 Blue 서버를 제거할 수 있다. 혹은 다음 배포를 위해 유지해둘수 있다.

장점

롤링 배포와 달리 한번에 트래픽을 모두 새로운 버전으로 옮기기 때문에 호환성 문제가 발생하지 않는다.

단점

실제 운영에 필요한 서버 리소스 대비 2배의 리소스를 확보해야한다. 클라우드 환경에서 운영한다면 필요없는 인스턴스를 제거하면 그만이지만, 온프레미스 방식으로 서비스를 운영했다면 비용 부담이 클것이다.

2. 도커라이징(Dockerizing)

Docker 컨테이너를 사용하여 응용프로그램(application)을 패킹(packing), 배포(deploying), 실행(running) 하는 전 과정을 말한다.
참조 : Docker 개념

3. IaC(코드형 인프라)

  • 인프라 관리를 데이터 센터의 물리적 하드웨어에서 가상화, 컨테이너, 클라우드 컴퓨팅으로 전환할 수 있도록 지원
  • IaC에서는 네트워크, 가상 머신, 로드 밸런서, 연결 토폴로지가 모두 고수준 언어로 코딩되어 애플리케이션 개발에 사용되는 환경을 표준화함
  • 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것을 말합니다. IaC를 사용하면 인프라 사양을 담은 구성 파일이 생성되므로 구성을 편집하고 배포하기가 더 쉬워집니다. 또한 IaC는 매번 동일한 환경을 프로비저닝하도록 보장하고, 구성 사양을 코드화하고 문서화함으로써 구성 관리를 지원합니다. 따라서 구성 변경 사항을 문서화하지 않고 임시로 변경하는 일을 막을 수 있습니다.
profile
백엔드 개발자 SUM입니다.

0개의 댓글