Container기반 CI/CD Pipeline
개요
Container기반의 CI/CD Pipeline은 개발 생산성을 높이기 위하여 애플리케이션 개발 편리성과 협업 효율성 을 지원하는 통합 개발 환경을 제공합니다. 즉 빌드 테스트 배포 프로세스를 자동화하여 개발 생산성을 높여 주고, 소스 이력 관리, 자동 검증을 통해 코드 품질을 높여 줍니다.
또한 지속적인 모니터링을 통해 애플리케이션 배포 전후의 성능 변화를 분석하고 서비스 장애를 조기에 대응할 수 있도록 지원합니다.
아키텍처 다이어그램
- On Premise 환경과 연결하기 위한 Direct Connect 연결을 구성한다.
- 지속적인 통합(CI)과 지속적인 배포(CD) 환경을 구성을 자동 관리하기 위한 DevOps Service 환경을 구성한다.
- On Premise 환경 내에 지속적인 통합(CI)과 지속적인 배포(CD)를 위한 환경을 구축한다.
- On Premise 환경 내에 소스 형상 관리를 구축한다.
- On Premise 환경 내에 개발된 애플리케이션이 컨테이너로 저장/관리할 수 있는 Image 저장소를 구축한다.
- Samsung Cloud Platform 내 구성이 필요한 경우 Container Registry 상품 서비스를 신청하여 DevOps에서 빌드된 애플리케이션을 컨테이너 이미지로 만들어 Registry에 저장할 수 있다.
- On Premise 환경 내에 Kubernetes 환경에서 애플리케이션의 선언적인 배포를 위한 환경을 구축한다.
- 고객 애플리케이션을 Samsung Cloud Platform의 Kubernetes Engine으로 배포할 수 있도록 Direct Connect 서비스를 통해서 On Premise환경과 Samsung Cloud Platform의 Kubernetes Engine을 연결할 수 있다.
- DevOps Service를 이용하여 컨테이너 애플리케이션을 Kubernetes Engine으로 지속적인 배포를 수행하여 개발된 어플리케이션을 반영할 수 있다.
사용 사례
불량 분석 시스템의 개발 환경
자동화된 불량 분류 및 분석 시스템을 컨테이너 기반의 Kubernetes Engine 환경으로 구축하고 DevOps의 자동화된 CI/CD Pipeline를 활용하여 개발 환경 구축 기간을 2일에서 5분 이내로 단축 할 수 있습니다..
경영 정보 시스템을 컨테이너로 전환하기 위한 개발 환경
경영 정보 시스템을 위한 개발 환경 구성은 통상 1~2 주 이상 소요되는데 DevOps 서비스를 활용하여 즉시 구성할 수 있습니다. 개발된 애플리케이션, 환경 설정, 실행 환경 등을 컨테이너로 이미지화하고 배포하는 작업을 자동화하여 개발 생산성을 획기적으로 향상 시킵니다.
선결 사항
없음
제약 사항
없음
고려 사항
On-premises 로 구성하는 경우에는 고객의 H/W에 CI/CD의 S/W 및 Pipeline 를 직접 구성하여야 합니다.
On-premises CI/CD Pipeline과 Kubernetes Engine을 연결하기 위해서는 Direct Connect 상품을 신청 해야 하고, Kubernetes Engine 신청 시 사용되는 VPC의 Subnet IP 주소 대역이 고객의 Network IP 주소와 충돌이 발생하지 않도록 IP 주소 대역을 지정하여야 합니다. 또한, Kubernetes Engine의 Node Pool에서 고객 On-premise의 Image 저장소에 직접 연결하여 사용할 수 있으며, VPC 방화벽 및 Security Group이 등록되어 있어야 합니다.
관련 서비스
본 가이드에서 설명하는 기능 또는 구성과 연결되는 Samsung Cloud Platform의 서비스 목록입니다. 서비스 선택 및 설계 시에 참고하세요.
| 서비스군 | 서비스 | 상세 설명 |
|---|---|---|
| Networking | VPC | 클라우드 환경에서 독립된 가상 네트워크를 제공하는 서비스 |
| Networking | Direct Connect | 고객 네트워크와 Samsung Cloud Platform을 안전하고 빠르게 연결하는 서비스 |
| Database | PostgreSQL(DBaaS) | 오픈소스 PostgreSQL을 간편하게 생성하고 관리하는 서비스 |
| Container | Kubernetes Engine | Kubernetes 컨테이너 오케스트레이션 서비스 |
| Container | Container Registry | 컨테이너 이미지를 손쉽게 저장, 관리, 공유하는 서비스 |
| DevOps Tools | DevOps Service | 개발 환경을 쉽게 구성하고 빌드와 배포를 간소화하는 서비스 |
