DevOps를 위한 CI/CD지원

DevOps는 개발(Dev)과 운영(Ops)을 함께하는 것을 의미합니다. 

시스템을 빠르게 개발, 배포 및 운영하기 위한 조직 문화를 기반으로 하여 정형화되고 반복적인 일을 자동화하는 프로세스 단순화가 핵심입니다.    

DevOps는 장애 발생 및 시장 변화에 신속하게 대처하고 안정적인 서비스 품질을 보장할 수 있으며, 개발자들과 운영자들이 더욱 긴밀하게 협업할 수 있기 때문에 비효율적인 업무를 줄여 시간을 절약할 수 있습니다.


DevOps 구현을 위해 고려해야 할 여러 요소 가운데 핵심은 자동화이며, 

그 가운데 가장 많이 언급되는 것이 바로 CI/CD 입니다.


개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방식으로, 

애플리케이션의 통합 및 테스트 단계부터 배포에 이르는 라이프사이클 전체에 걸쳐 지속적인 자동화와 모니터링을 제공합니다.


자동화된 플랫폼을 제공하기 위해서는 벤더에 종속적이지 않으면서 사용자가 쉽게 운영 및 접근할 수 있는 인프라 관리 기술이 필요합니다. 이러한 기술로 많이 언급되는 것이 컨테이너입니다.


컨테이너 기반의 환경 구성은 경량화된 시스템을 추구합니다. 이에 따른 속도 향상, 용이한 컨테이너 간 이동 및 마이크로 서비스 적용, 스케일링 향상, 유연한 결합 및 서비스 확산이라는 효과까지 제공합니다.


CI/CD 프로세스를 통해 생성된 컨테이너 이미지는 로컬 개발 환경, 서버 환경 등 어디든 배포 및 실행 되며, 운영과 동일한 환경으로 테스트를 수행할 수 있습니다. 

이런 컨테이너 빌드 및 배포의 전 과정은 컨테이너 통합 관리 솔루션 ‘아코디언’을 통해 손쉽게 자동화할 수 있습니다.


CI/CD 파이프라인을 간편하게 사용하면서 유연한 환경을 구성할 수 있습니다. 또한 생성된 컨테이너 이미지는 버전 관리가 가능하며, 유사한 형태로 베이스 이미지를 만들어 재사용 및 공유할 수 있습니다. 배포 역시 빌드 후 자동으로 이루어집니다.



  


그렇다면 쿠버네티스와 컨테이너 기반의 DevOps를 위한 CI/CD의 고려사항은 무엇일까요?


개발자가 쿠버네티스 기반에서 개발 및 테스트 후 개발 서버에 반영한다고 가정해 보겠습니다. 

개발자는 소스 코드 작성 및 저장 후 컴파일을 하고 Dockerfile을 이용하여 컨테이너로 이미지화한 뒤 레파지토리에 업로드 합니다. 

명령어를 통해 쿠버네티스에 이미 배포된 Pod의 이미지를 업로드한 이미지로 교체 하여 시스템에 반영합니다. 정상 배포 여부를 확인하기 위해서는 테스트 하면서 Pod의 터미널에 접속하거나, 명령어를 통해서 로그를 확인해 봐야 합니다.


개발자가 소스코드를 수정 할 때 마다 이런 반복된 과정을 거치게 되면 개발 집중력이 현저하게 저하될 수 있습니다. 이러한 문제를 해결하기 위해서는 수정된 소스코드가 클러스터에 배포 및 반영되기까지의 과정을 자동화하여 프로세스를 단순화는 툴이 필요합니다.


컨테이너 통합 관리 솔루션 ‘아코디언’에서는 소스코드 저장소 연동부터 쿠버네티스 클러스터에 배포하고 반영하기 까지 일련의 과정들을 Jenkins를 통해 자동화 해 줍니다.




아코디언은 또한 다양한 개발 언어의 빌드를 지원하고 있습니다. 

맞춤형 파이프라인을 이용하여 코드 분석, 단위 및 통합 테스트, 보안 검사 등을 추가할 수 있습니다. 

빌드 된 컨테이너 이미지는 태그를 붙여서 아코디언에서 제공하는 레지스트리 혹은 등록된 레지스트리로 업로드 후 자동 배포됩니다. 만약 배포 실패 또는 오류가 발생하는 경우에는 빌드 시 원하는 지점에 원 클릭으로 롤백 할 수 있습니다.


이처럼 아코디언에서 제공하는 CI/CD를 이용한다면 앱 라이프사이클을 자동화 하여 DevOps환경을 손쉽게 구현 할 수 있습니다.

4개의 댓글이 있습니다.

7달 전

CI/CD에 관심이 있습니다.
게시글에 나와있는 아코디언에 대한 자료 찾아봐야 겠네요.

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

7달 전

좋은 내용 감사합니다.

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

8달 전

좋은 정보 감사드립니다.!

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

8달 전

좋은 정보 감사합니다

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입