Offcanvas

How To / 개발자 / 애플리케이션

'CI/CD란?' 알기 쉽게 설명한 지속적 통합과 지속적 전달

2022.04.21 Isaac Sacolick  |  InfoWorld

CI/CD 툴과 플러그인 

CI/CD 툴은 일반적으로 플러그인 마켓플레이스를 지원한다. 예를 들어, 젠킨스에는 서드파티 플랫폼과 사용자 인터페이스, 관리, 소스 코드 관리 및 빌드 관리와의 통합을 지원하는 1,800개 이상의 플러그인이 있다. 

개발팀은 CI/CD 툴을 선택하고 나면 모든 환경 변수가 애플리케이션 외부에서 구성되도록 해야 한다. CI/CD 툴을 사용하면 이런 변수를 설정하고 암호 및 계정 키와 같은 변수를 마스킹하고 타겟 환경 배포 시 구성할 수 있다. 

지속적 제공 툴은 대시보드 및 보고 기능도 제공한다. 데브옵스팀은 관찰 가능한 CI/CD 파이프라인을 구현해 이 기능을 더 강화할 수 있다. 빌드 또는 제공이 실패할 경우 개발자에게 알림이 전달된다. 대시보드와 보고 기능은 버전 제어 및 애자일 툴과 통합되어 어떤 코드 변경과 사용자 스토리가 빌드를 구성하는지를 확인하는 데 도움을 준다. 
 

CI/CD 성공을 평가하는 데브옵스 KPI

CI/CD 파이프라인 구현 효과는 데브옵스 핵심성과지표(KPI)로 측정할 수 있다. 지속적 테스트와 함께 CI/CD를 구현하면 배포 빈도, 변경 리드 시간, 평균 사고 복구 시간(MTTR)과 같은 지표가 개선되는 경우가 많다. 그러나 CI/CD는 이와 같은 개선을 이끌기 위한 하나의 프로세스일 뿐이며 배포 빈도를 개선하기 위한 다른 전제 조건도 있다. 
 

쿠버네티스 및 서버리스 아키텍처에서의 CI/CD 

클라우드 환경에서 CI/CD 파이프라인을 운영하는 많은 팀은 도커와 같은 컨테이너, 쿠버네티스와 같은 오케스트레이션 시스템도 사용한다. 컨테이너는 이식 가능한 표준적 방식으로 애플리케이션을 패키징하고 배포할 수 있게 해준다. 컨테이너를 사용하면 변화하는 워크로드에 따라 환경을 확장하거나 해체하기가 쉽다. 

컨테이너, 코드형 인프라(IaC), CI/CD 파이프라인을 함께 사용하는 접근법은 많다. 젠킨스와 함께 쿠버네티스 사용하기, 애저 데브옵스와 함께 쿠버네티스 사용하기와 같은 무료 학습 자료를 살펴보는 것도 도움이 될 것이다. 

또 다른 방법은 서버리스 아키텍처를 사용해서 애플리케이션을 배포 및 확장하는 것이다. 서버리스 환경에서는 클라우드 서비스 업체가 인프라를 관리하고, 애플리케이션은 구성을 기반으로 필요에 따라 리소스를 소비한다. 예를 들어 AWS에서 서버리스 애플리케이션은 람다 함수로 실행되고 플러그인을 사용해 젠킨스 CI/CD 파이프라인에 배포를 통합할 수 있다. 애저 서버리스 및 GPS 서버리스 컴퓨팅도 비슷한 서비스다. 
 

차세대 CI/CD 애플리케이션 

CI/CD 파이프라인 개발 및 관리를 위한 더 고급 영역에 관심이 있다면 다음을 참고할 만하다.  
 
  • MLOps는 머신러닝 모델의 IaC 및 CI/CD이다. 인프라, 통합, 그리고 학습 및 프로덕션 환경으로의 배포를 지원한다. 
  • 합성 데이터 생성(Synthetic data generation) 기법은 테스트 자동화 엔지니어가 API를 테스트하는 용도로, 그리고 데이터 과학자가 모델을 교육시키는 용도로 사용하는 데이터 집합을 머신러닝을 사용해서 생성한다. 
  • AIOps 플랫폼(또는 ITOps의 머신러닝 및 자동화)은 관찰 가능성 데이터를 집계하고 여러 소스의 알림을 인시던트로 연계한다. 자동화는 필요에 따라 CI/CD 배포와 롤백을 트리거할 수 있다. 
  • 마이크로서비스를 다루는 팀은 재사용 가능한 파이프라인을 생성해 애저 및 AWS에서 개발, 검토 옵션을 지원하고 확장한다. 
  • 엔지니어는 네트워크 구성, 임베디드 시스템, 데이터베이스 변경, IoT, AR/VR과 같은 다른 영역에서 CI/CD를 사용한다. 
 

결론 

정리하자면, 지속적 통합은 소프트웨어 빌드를 패키징 및 테스트하고 변경이 단위 테스트를 통과하지 못할 경우 개발자에게 알린다. 지속적 제공은 애플리케이션과 서비스 및 기타 기술 배포를 런타임 인프라에 제공하고 경우에 따라 부가적인 테스트를 실행하기도 하는 자동화다. 

CI/CD 파이프라인 개발은 애플리케이션을 수시로 개선하고 안정적인 제공 프로세스가 필요한 기업에서 표준적인 개발 방식이다. CI/CD 파이프라인을 구축하면 팀은 애플리케이션을 향상시키는 데 더 초점을 두면서 이를 다양한 환경으로 제공하기 위한 세부 사항에 대해 신경을 덜 쓸 수 있다. 

데브옵스팀이 CI/CD를 시작하기 위해서는 기술, 작업 방식 및 우선순위에 대한 협업이 필요하다. 팀은 비즈니스와 기술에 대한 적절한 접근 방식을 합의해야 한다. 파이프라인이 구축된 이후에는 CI/CD 방식을 일관적으로 따라야 한다. 
editor@itworld.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

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

Copyright © 2024 International Data Group. All rights reserved.