icon

DevOps Service를 활용한 Samsung Cloud Platform 마이그레이션

DevOps Service를 활용한 Samsung Cloud Platform 마이그레이션

개요

Samsung Cloud Platform으로 마이그레이션할 때 서비스 연속성을 유지하고 새로운 환경을 검증하기 위해 기존 온프레미스 환경과 일정 기간 병행 운영해야 할 수 있습니다.

DevOps Service를 활용하여 하이브리드 CI/CD 환경을 구축하면 Samsung Cloud Platform과 기존 온프레미스 환경이 공존하는 전환 기간에도 분리된 CI/CD 파이프라인을 통해 각 환경에 애플리케이션을 배포할 수 있습니다.

아키텍처 다이어그램

DevOps 하이브리드 배포
그림. DevOps Service를 활용한 하이브리드 환경 배포
  1. 개발자가 변경된 소스 코드를 GitLab(소스 코드 저장소)에 푸시합니다.
  2. GitLab은 푸시 이벤트를 감지하여 Webhook으로 연계된 Jenkins의 컨테이너 배포 파이프라인과 레거시 서버 배포 파이프라인을 각각 실행합니다.
  3. 컨테이너 배포 파이프라인은 소스 코드를 빌드하여 컨테이너 이미지를 생성하고 Container Registry에 푸시합니다. 이후 DevOps Console과 연계하여 해당 이미지를 Samsung Cloud Platform의 Kubernetes Engine에 배포합니다.
  4. 레거시 서버 배포 파이프라인은 동일한 소스 코드 버전으로 생성한 배포 파일을 사용자의 온프레미스 환경에 있는 레거시 서버에 배포합니다. 두 파이프라인은 각각 독립적으로 실행하고 관리합니다.

사용 사례

온프레미스 환경에서 Samsung Cloud Platform으로 애플리케이션 마이그레이션

DevOps Service를 활용하여 하이브리드 CI/CD 환경을 구축하면 분리된 CI/CD 파이프라인을 통해 Samsung Cloud Platform과 온프레미스 환경에 애플리케이션을 병행 배포할 수 있습니다.

선결 사항

  • GitLab과 Jenkins가 Webhook으로 연결되어야 합니다.
  • Jenkins와 DevOps Console을 연계하려면 Kubernetes Engine과 온프레미스 레거시 서버 등 애플리케이션 배포 대상을 DevOps Console에 미리 등록해야 합니다.
  • 온프레미스 환경과 Samsung Cloud Platform 간 사설 연결이 필요한 경우 Direct Connect 등의 네트워크 서비스를 구성합니다.

제약 사항

  • Jenkins와 GitLab은 관리형 서비스가 아니므로 사용자가 직접 설치하고 구성·운영해야 합니다. 버전 관리, 보안 패치, 백업, 가용성 관리 및 장애 대응은 사용자 책임입니다.
  • 기존에 사용하던 GitLab은 DevOps Console에 등록하여 계속 사용할 수 있습니다.
  • 기존에 사용하던 Jenkins는 DevOps Console에 등록할 수 없거나, 등록 후 연계 과정에서 오류가 발생할 수 있습니다. DevOps Console의 기능을 안정적으로 사용하려면 Jenkins를 신규로 설치하여 등록하는 것을 권장합니다.

고려 사항

고객의 클라우드 보안 요구 사항을 확인하여 아키텍처에 반영해야 합니다.

관련 서비스

본 가이드에서 설명하는 기능 또는 구성과 연결되는 Samsung Cloud Platform의 서비스 목록입니다. 서비스 선택 및 설계 시에 참고하세요.

서비스군서비스상세 설명
DevOps ToolsDevOps Service개발 환경을 쉽게 구성하고 빌드와 배포를 간소화하는 서비스
ContainerKubernetes EngineKubernetes 컨테이너 오케스트레이션 서비스
ContainerContainer Registry컨테이너 이미지를 손쉽게 저장, 관리, 공유하는 서비스
NetworkingVPC클라우드 환경에서 독립된 가상 네트워크를 제공하는 서비스
NetworkingDirect Connect고객 네트워크와 Samsung Cloud Platform을 안전하고 빠르게 연결하는 서비스
표. 관련 서비스 목록