개발자 / 클라우드

클라우드 기반 CI/CD 플랫폼을 선택하는 방법

Martin Heller | InfoWorld 2021.06.11


하나의 플랫폼으로 타협하기보다는 각 프로젝트를 위한 최선의 CI/CD 플랫폼을 찾는 것을 주저하지 말아야 한다. 각 플랫폼을 위해 작성하는 스크립트는 이식이 안 될 수도 있지만, CI와 CD의 전반적인 원칙은 여러 플랫폼에서 공통적으로 적용된다. 새로운 각 플랫폼에 수반되는 부가적인 온보딩 시간으로 인해 데브옵스 팀의 시간이 일부 소비될 수 있지만, 대부분의 경우 CI/CD 툴을 구석구석 맞춤 설정하는 데 필요한 비용보다는 낮다. 

미래의 CI/CD 마이그레이션을 위한 계획 

같은 맥락에서, 특정 CI/CD 플랫폼이 프로젝트의 요구사항을 영구적으로 충족할 것이라고 전제해서는 안 된다. 위험을 분산시켜야 할 필요가 있다. 예를 들어 스크립트를 CI/CD 툴이 아닌 리포지토리에 저장해야 한다. 
 

적절한 경우 서버리스 CI/CD를 우선 고려 

일반적으로 배포 비용을 보면 클라우드 서버 인스턴스 배포에 비해 클라우드 컨테이너 배포가 더 저렴하고, 컨테이너 배포에 비해 서버리스 클라우드 배포가 더 저렴하다. 아쉬운 부분은 이 기사를 작성하는 현재 서버리스 실행이 가능한 CI/CD 플랫폼이 극소수라는 점이다. 

서버리스는 프로세스를 실행하는 컨테이너가 필요에 따라, 일반적으로 이벤트에 반응하여 인스턴스화된다는 것을 의미한다. CI/CD의 경우 트리거 이벤트는 보통 특정 리포지토리 분기에 대한 코드 체크인이다. 이후 리포지토리 웹훅이 서버리스 프로세스를 시작한다. 프로세스가 완료되면 리소스가 회수된다. 

서버리스 실행이 가능한 소수의 CI/CD 플랫폼 중 하나는 오픈소스 서버리스 프레임워크(Serverless Framework)의 강화된 버전인 서버리스 프레임워크 프로(Serverless Framework Pro)에 속한 서버리스 CI/CD(Serverless CI/CD)다. 서버리스 CI/CD는 서버리스 앱 배포에 최적화됐으며, 현재는 AWS에서만 실행된다. 이 플랫폼을 사용하려면 해당 애플리케이션을 충분히 지원하는지 여부를 확인해야 한다. 
 

현재 클라우드 자산은 어디에 있는가? 

클라우드 기반 CI/CD 구성(또는 모든 클라우드 애플리케이션도 마찬가지)을 최적화하려는 경우, 모든 자산이 서로 “인접”한 것이 유리하다. 여기서 “인접”이란 지리적 위치와 네트워크 위치를 모두 나타낸다. 

예를 들어 데이터베이스가 호주에 있고 애플리케이션이 북미에 있다면, 애플리케이션이 데이터를 읽고 쓸 때마다 긴 지연이 발생하게 된다. 애플리케이션과 데이터베이스가 같은 가용성 영역(AZ) 내에 있다면 둘 사이의 지연은 최소화된다. 같은 지역의 다른 영역에 있는 경우 지연은 높아지지만 지역 자체가 다른 경우만큼 크지는 않다. 

마찬가지로, 데이터베이스가 미국 버지니아주의 구글 클라우드 플랫폼에 위치하고 애플리케이션이 같은 지역의 마이크로소프트 애저에 있는 경우, 두 가지가 같은 AZ의 같은 클라우드 서비스 업체에 있는 경우에 비해 지연이 크다. 이런 특성은 리포지토리(기본적으로 데이터베이스), CI/CD 소프트웨어, 실제 애플리케이션, 그리고 개발자 및 테스터에게도 똑같이 적용된다. 모두가 “인접”해 있으면 좋다. 다만 이 환경에서 지연이 미치는 영향은 예를 들어 실시간 인터랙티브 게임만큼 크지는 않다. 

개발자는 안정적으로, 인지할 정도의 대기 시간 없이 코드 커밋을 마스터 리포지토리에 푸시할 수 있다면 대체로 만족한다. 마찬가지로 사용자와 테스터 역시 애플리케이션에 충분히 “인접”해 있어서 응답 시간이 1초 미만이라면 만족할 것이다. CI/CD 소프트웨어의 경우 핵심은 배포 지점에 대한 안정적인 연결이다. 시간 초과 또는 패킷 누락을 일으키지만 않는다면 약간의 지연은 용인할 수 있다. 
 

커밋 전에 개념 증명 실시 

CI/CD는 완전히 구현된 이후에는 인프라의 핵심적인 부분이 된다. 이 점을 염두에 두고 일을 진행해야 한다. 

CI/CD 파이프라인을 구축하기 전에 철저한 개념 증명을 수행하는 것이 중요하다. CD 단계를 시작하기 전에 CI 부분을 운용하면서 철저히 살펴야 한다. CI/CD 파이프라인을 프로덕션 인스턴스에 연결하기 전에 테스트 모음과 롤백 기능을 확인하고, 자동화가 충분히 견고하다는 확신이 들 때까지 인력의 개입을 중단해서는 안된다. editor@itworld.co.kr

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.