여기 보험 서비스를 제공하는 한 기업이 있다. 웹사이트와 함께 방대한 DB, 수많은 분석툴 등이 운영되고 있다. 기술팀은 서비스 내 여러 애플리케이션을 보다 쉽게 관리하고 새로운 기능을 빠르게 테스트하기 위해 컨테이너를 도입했고 쿠버네티스로 관리되고 있다.
그런데 문제가 발생했다. 알 수 없는 이유로 애플리케이션 배포는 중단됐다. 코드가 변경된 원인은 찾을 수 없었다. 그와중에 새로운 클러스터를 만들고, 그들의 앱을 다시 배포해야 하면서 컨테이너는 뒤죽박죽처럼 보였다. 즉각적인 롤백이 되지 않았기 때문이다. 게다가 새로운 머신러닝 프로젝트를 앞두고 있어 어디서부터 교정해야할지 기술팀은 난관에 부딪혔다. 깃옵스는 이러한 문제 해결을 위해 등장한 개발 방법론이다.
깃옵스(GitOps, Git + Operation)는 애플리케이션의 배포와 운영에 있어 관련된 모든 요소를 코드화해 관리하는 방법론을 의미한다. 특히 쿠버네티스 등 클라우드 네이티브 모델에 활용된다는 점에서, 컨테이너화된 클러스터와 함께 애플리케이션의 배포, 모니터링, 나아가 관리까지 운영과 개발 등 모든 개발 여정이 깃을 통해 이뤄지는 즉, '개발자 중심 애플리케이션 관리 방법론'이다.
깃옵스 이전의 데브옵스(DevOps, Development + Operation)가 개발자와 운영자를 연계하고 둘 사이의 소통과 협업을 통해 애자일을 강조하는 소프트웨어 개발론이었다면, 깃옵스는 쿠버네티스 환경을 전제로 개발자가 보다 더 많이 개발하고 빠르게 관리하는 방법이라고 볼 수 있다. 데브옵스는 개발자와 운영자의 역할이 50대 50이었다면, 깃옵스는 개발자로 하여금 애플리케이션 운영에 있어 운영까지도 담당하게 하여 훨씬 더 역할을 부여하는 셈이다.
깃옵스에서는 쿠버네티스 환경 아래 구축된 애플리케이션의 인프라는 모두 코드로 인식되는데, 모든 개발 코드는 단일한 시스템인 깃으로 저장되고, 이를 통해 애플리케이션의 변경 사항이 선언형 코드를 통해 푸시되는 것. 모든 요소의 코드화와 버전 자동화를 통해 애플리케이션의 개발과 운영을 모두 개발자 아래 관리되게끔 만든 것이다.
깃옵스는 '깃(Git)'의 특징이 그대로 활용된다. '깃'은 많은 개발자들이 동일한 코드를 여러 프로젝트에 활용할 수 있도록 지원해 코드 작업을 조율할 수 있는 오픈소스 소프트웨어다.
세계 최대 깃저장소인 깃허브(GitHub)를 2018년 미국 마이크로소프트(MS)가 75억 달러(약 8조 250억원)에 인수하기도 했다. 당시 깃허브는 약 2800만명에 달하는 개발자와 8500만 개의 코드를 저장하고 있었으며, 이를 활용하는 조직만해도 150만 개가 넘는다.
함께 개발하고, 공유하며, 오류가 발견되면 버전업하는 할 수 있도록 코드를 깃의 형태로 저장한 게 깃 저장소다. 특히 신뢰가능한 소스로, 단일한 위치에서 모든 변경 사항을 관찰하고 검증할 수 있다는 게 특징이다.
깃옵스는 이러한 깃의 개발 편의성을 클라우드 네이티브 환경인 쿠버네티스에서 빠르게 활용하게 지원한다. 깃의 '풀 리퀘스트(Pull Request)', 개발자가 애플리케이션을 개발하면서 여러 협업자와 함께 만들어낸 코드를 저장하고 통합할 수 있도록 지원하는 핵심 개념을 클라우드 네이티브로 옮긴 게 깃옵스다.
다시 말해, 깃옵스는 컨테이너를 코드 즉, 깃처럼 인식하고 이를 통해 컨테이너 관리 시스템인 쿠버네티스 상에서 빠르게 개발 및 버전업이 될 수 있도록 한다는 개념이라 볼 수 있다. 이를 통해 애플리케이션 개발 비용은 물론 운영 간소화와 인프라 안정성을 높일 수 있다. 무엇보다 애플리케이션의 배포가 쉽기 때문에 서비스 업데이트가 빨라지게 된다.
이러한 깃옵스 향후 클라우드 네이티브 환경에서 서비스를 제공하는 기업이 늘어날수록 더욱 주목받을 것으로 보인다. 양희선 락플레이스 이사는 "깃옵스를 통해 쿠버네티스 환경에서 보다 빠른 보다 빠른 인프라 관리가 가능해질 것"이라고 설명했다.
소셜댓글