올해 4월 영국 개발자 분석 기업 SlashData, 글로벌 오픈 소스 커뮤니티 Continuous Delivery Foundation(CDF)이 발표한 ‘State Of Continuous Integration & Continuous Delivery Report’ 조사 결과
CI/CD 도구(관리형 또는 셀프 호스팅) 사용하는 개발자는 그렇지 않은 개발자와 비교해 코드 변경 리드 타임과 서비스 복구 시간, 배포 빈도서 높은 성과 낼 가능성 더 큼
이 세 가지는 개발자 생산성 판단하는 DORA 핵심 지표 일부
CI/CD 도구 사용하지 않는 개발자는 이를 사용하는 개발자보다 성과 낮을 가능성 더 큼
관리형과 셀프 호스팅 CI/CD 도구 둘 다 사용하는 개발자는 코드 변경 리드 타임과 서비스 복구 시간, 배포 빈도에서 가장 우수한 성과 보임
SlashData, CDF 따르면, 코드 변경 리드 타임이 하루 미만인 개발자는 관리형과 셀프 호스팅 CI/CD 도구 모두 사용하는 개발자(24%)가 가장 많음
관리형 CI/CD 도구만 사용하는 개발자(22%), 셀프 호스팅 CI/CD 도구만 사용하는 개발자(17%), CI/CD 도구를 사용하지 않는 개발자(13%)는 그 뒤 이음
코드 변경 리드 타임이 한 달 이상인 개발자는 CI/CD 도구 사용하지 않는 개발자(40%)가 가장 많고, 셀프 호스팅 CI/CD 도구만 사용하는 개발자(33%), 관리형 CI/CD 도구만 사용하는 개발자(30%), 관리형과 셀프 호스팅 CI/CD 도구를 모두 사용하는 개발자(19%) 순
서비스 복구 시간이 1시간 미만인 개발자는 관리형과 셀프 호스팅 CI/CD 도구 모두 사용하는 개발자(25%)가 가장 많았음
셀프 호스팅 CI/CD 도구만 사용하는 개발자(17%), 관리형 CI/CD 도구만 사용하는 개발자(15%), CI/CD 도구를 사용하지 않는 개발자(11%)는 그 뒤 이음
서비스 복구 시간이 일주일 이상인 개발자는 CI/CD 도구를 사용하지 않는 개발자(32%)가 가장 많고, 셀프 호스팅 CI/CD 도구만 사용하는 개발자(29%), 관리형 CI/CD 도구만 사용하는 개발자(25%), 관리형과 셀프 호스팅 CI/CD 도구를 모두 사용하는 개발자(17%) 순
SlashData와 CDF, “관리형과 셀프 호스팅 CI/CD 도구 다 사용하면 관리형 도구 편의성과 기본 제공 기능, 셀프 호스팅 도구 맞춤형 기능 결합해 효율성 높일 수 있다”
위 조사에서 관리형 CI/CD 도구는 Azure Pipelines, AWS CodePipeline, 셀프 호스팅 CI/CD 도구는 Jenkins, TeamCity 일컬음
여러 셀프 호스팅 CI/CD 도구 사용 시 성과 저하
동일한 형태의 여러 CI/CD 도구 사용하면 배포 성과 떨어질 수 있음
셀프 호스팅 CI/CD 도구 여럿 사용할 때 이러한 현상이 두드러짐
SlashData와 CDF 조사 결과, 셀프 호스팅 CI/CD 도구 수가 늘어나면, 코드 변경 리드 타임과 배포 빈도, 서비스 복구 시간이 한 달 이상인 저성과자 비중 급증
두 기관에 따르면, 코드 변경 리드 타임이 한 달 이상인 개발자는 셀프 호스팅 CI/CD 도구를 4개 사용하는 개발자가 가장 많았음
배포 빈도와 서비스 복구 시간이 각각 한 달 이상인 개발자는 셀프 호스팅 CI/CD 도구를 5개 이상 쓰는 개발자가 가장 많았음
반면에 코드 변경 리드 타임과 서비스 복구 시간이 각각 하루 미만인 개발자는 관리형 CI/CD 도구를 1개 사용하는 개발자가 가장 많았음
SlashData와 CDF는 셀프 호스팅 CI/CD 도구 수가 늘어 서비스 복구 시간에 부정적 영향 미치는 주요 원인으로 ‘상호운용성’ 문제 지적
여러 CI/CD 도구 사용하면 모든 도구 제대로 통합 어려움
이에 서비스에 영향 미치는 문제 분리하기가 힘들 수 있음
AI와 머신러닝, CI/CD 통합 강화
AI와 머신러닝은 CI/CD 파이프라인에 더 많이 통합됨
AI 기반 CI/CD 파이프라인은 문제 더 빠르게 탐지 지원
이는 개발, 테스트 팀이 트러블슈팅과 디버깅 시간 대폭 단축하도록 도움
AI는 CI 테스트 환경 설정 작업 자동화, 테스트 가속화
이는 CD 파이프라인에서 지능형 자동화 진행, 코드 리뷰와 테스트도 자동화
AI와 머신러닝 적용해 코드 취약점 확인
예측 분석은 CI/CD 파이프라인에서 잠재적 문제, 실패 예측에 활발히 쓰일 걸로 예상
이 기술은 데이터, 통계 알고리즘, 머신러닝 사용
이는 과거 빌드 실패 패턴 분석해 배포 파이프라인에 영향 미치기 전에 팀이 문제를 미리 확인하고 해결하도록 지원
그 결과, 더 빠르고 안정적으로 배포
AI와 머신러닝은 앞으로 CI/CD에 폭넓고 긴밀하게 적용될 것
GitOps, CI/CD 영향력 증대
GitOps가 CI/CD 파이프라인에 점점 더 영향력 미침
이는 버전 관리, 협업, 컴플라이언스, CI/CD 등 애플리케이션 개발에 활용하는 DevOps 모범 관행을 인프라 자동화에 적용하는 운영 프레임워크
많은 조직이 CI/CD 프로세스 일부로 GitOps 구현
개발자는 GitOps로 Git 리포지터리를 코드와 구성 위한 단일 진실 공급원(SSOT)으로 사용할 수 있음
Git 리포지터리에서 코드나 구성 변경
GitOps는 인프라와 애플리케이션 배포 전반에 버전 제어된 변경 촉진, 협업 간소화, 가시성 향상
GitOps가 Git 리포지터리 안에서 모든 구성과 배포 매니페스트 중앙집중화
GitOps는 Git 중심 워크플로로 증분 업데이트 자동 릴리즈, 개발자가 클러스터 관리하며, 구성 오류 없이 효율적이고 안전한 애플리케이션 제공하도록 지원
속도와 효율성, 편의성 힘입어 조직이 DevOps 워크플로 간소화, IaC 모범 관행 시행함에 따라 GitOps는 CI/CD에 널리 쓰일 것
엣지 컴퓨팅 수용 필요성 증가
CI/CD 파이프라인에서 엣지 컴퓨팅 수용할 필요성 커짐
엣지 컴퓨팅은 데이터가 생성된 현장 또는 그 가까운 곳에서 데이터 실시간 처리, 기기 작동
이는 데이터를 실시간 처리, 분석하기에 대기 시간 줄이며, 애플리케이션 더 효율적이고 더 빠르게 작동하는 데 도움이 됨
CI/CD 파이프라인이 엣지 배포 수용하도록 적응해야 한다는 주장 제기됨
예: 경량 배포 만들거나, 컨테이너화 활용해 엣지 디바이스에 더 쉽게 배포
개발팀이 엣지 디바이스에 최신 버전의 프로그램과 서비스 안정적으로 제공하는 게 그 어느 때보다 중요해짐
CI/CD 파이프라인을 엣지에 연결하면 이는 엣지 애플리케이션에 일관되고, 효율적인 개발자 경험 제공해 운영 효율성 높임
조기 피드백과 함께 애플리케이션을 엣지에 자동 배포하고 테스트해 더 나은 제품 더 빨리 제공
몇몇 서비스가 엣지 배포 지원하지만 CI/CD 파이프라인 비롯해 기존 파이프라인 위한 새로운 도구와 플러그인 등장 가능성 큼