소프트웨어 개발 속도 200% 향상 비법 ‘컨커런트 데브옵스’
상태바
소프트웨어 개발 속도 200% 향상 비법 ‘컨커런트 데브옵스’
  • 데이터넷
  • 승인 2020.09.08 10:02
  • 댓글 0
이 기사를 공유합니다

컨커런트 데브옵스 핵심 가치 ‘가시성·효율성·거버넌스’…단일 애플리케이션으로 모든 것 제공
소프트웨어 개발 주기 대폭 단축…데브옵스 효율 개선

[데이터넷] 전례없는 속도와 추진력으로 디지털 비즈니스 시대가 도래했다. 기업의 경영진은 소프트웨어가 비즈니스를 강화하고, 새로운 경쟁력이 되고 있음을 인식하고 있다. 디지털 시대에 경쟁 우위를 확보하기 위해서는 고객들에게 가치를 제공하는 코드를 팀이 얼마나 빨리 배포하느냐에 달려 있다. 앞으로는 빠른 속도로 뛰어난 소프트웨어를 배포할 수 있는 능력에 따라 비즈니스의 성패가 좌우될 전망이다. 소프트웨어를 만들고, 출시하는 방법에 대한 새로운 접근방식인 깃랩(GitLab)의 ‘컨커런트 데브옵스(Concurrent DevOps)’를 중심으로 소프트웨어 개발 주기를 단축하고, 데브옵스 효율을 개선하고, 200% 더 빠르게 출시하는 방법을 살핀다. [편집자]

비즈니스는 IT보다 빠른 속도로 진화하고 있으며, 제품 개발 팀은 이러한 비즈니스의 혁신 속도를 따라잡기 위해 다양한 방법론을 채택하고 있다. 속도가 느리고, 오류 발생이 쉬운 전통적인 폭포수(Waterfall) 모델과 같은 프로세스 문제를 해결하기 위해 애자일(Agile) 방법론과 데브옵스(DevOps)를 적용하고 있다. 

그러나 지난해 데브옵스 소프트웨어에 39억달러의 비용이 지출됐음에도 불구하고, 데브옵스에 소비되는 시간의 절반 이상이 계획 및 행정, 그리고 반복 가능한 작업에 낭비됐다. 데브옵스 라이프사이클의 일부 측면이 자동화됐지만 변화는 크지 않았다. 2017년 가트너 보고서에 따르면 이미 데브옵스를 채택한 기업의 90% 가량이 결과에 실망한 것으로 나타났고, 아직 극적인 변화는 없다.

데브옵스 라이프사이클 속도 저하
다음 <그림>은 데브옵스 라이프사이클의 핵심 단계와 각 단계에서 일반적으로 사용되는 툴을 나타낸 것으로, 통합 과정이 복잡하고 사일로(Silo) 현상이 강화되는 것을 확인할 수 있다. 팀이 협업할 수 있는 구조가 아니라 각기 다른 작업 공간으로 분리시키는 이질적인 툴들로 인해 개별적으로 기능하고 있는 것이다.

배포 빈도와 변경 실패율과 같은 특정 KPI(Key Performan ce Indicator)는 개선됐지만 궁극적으로 데브옵스가 제시하는 완벽한 혁신은 아직 실현되지 않았다. 팀이 데브옵스를 구현했다 하더라도 제대로 작동하지 않을 수 있는데 이는 혁신 속도를 가속하기 위해 사용하고 있는 툴 체인 때문이다. 

실제로 오늘날의 툴 체인은 데브옵스 라이프사이클의 속도를 저하시킬 뿐이다. 이러한 툴 체인과 이로 인한 사일로는 다음과 같은 주요 3가지 문제를 가지고 있다.

① 불투명: 다양한 툴로 인해 데이터가 여러 데이터 저장소로 분산되기 때문에 이를 내부적으로 검토할 수 없다. 따라서 팀과 툴 간의 다른 사일로로 인해 어떤 단계가 라이프사이클의 속도를 저해하는지 전반적인 가시성 확보가 어렵다. 진행상황을 판단하거나 추적하기 위해서는 툴 체인 위에 추가 툴 세트를 구현해야하기 때문에 통합이 더욱 복잡해진다.

② 비효율성: 개별 사일로는 여전히 수동, 반자동 또는 자동으로 업무가 이관됨을 의미한다. 완전히 자동화된 경우에도 이전 팀이 작업을 완료할 때까지 작업을 시작할 수 없다. 이는 데브옵스의 한 형태지만 여전히 매우 순차적인 구조다.

③ 통제 불능: 툴마다 권한과 보안 정책이 다르기 때문에 전반적인 환경을 제어하는데 방해가 되며, 신뢰를 구축하기 어렵다. 게다가 보안은 사후 고려사항으로, 모든 툴에 보안을 강제하기 힘들기 때문에 안전하고 규정을 준수하는 소프트웨어를 출시하기 어렵다. 보안팀은 규정을 준수하기 위해 다른 툴을 사용해야 할 수도 있다.

현실은 일부 또는 모든 팀이 데브옵스(예: 툴, 프로세스, 문화)를 채택할 수 있고, 팀 단위로 최적화되기도 하지만 여전히 순차적으로 작업이 진행됨에 따라 데브옵스 혁신의 최대 가치에 도달하지 못하고 있다. 팀 간의 업무 이관 작업을 제거함으로써 팀은 더 작은 규모의 결과물에 대한 단일 의사소통을 통해 상호 협업을 향상시킬 수 있다. 상호 협력하는 팀들은 자율성과 자율 서비스를 통해 동시에 작업을 수행할 수 있어야 한다.

사일로 연결
기존의 데브옵스는 개발 및 운영 간의 교차점에 중점을 두고, 개발자들이 어떻게 자신의 코드를 생산 단계로 가져오고, 운영자가 애플리케이션과 인프라를 어떻게 모니터링하고 관리할 것인지에 주목했다. 이상적인 데브옵스 세계에서는 이러한 정의가 보안 및 비즈니스 전문가까지 확장된다. 각 그룹은 각자의 요구에 부합하는 경험을 얻지만 다른 모든 사람들과 동일한 데이터와 인터페이스를 공유하면 협업이 용이해진다.

한번 상상해 보자. 운영자는 생산 단계에서 문제를 발견하고, 문제가 발생한 애플리케이션을 찾기 위해 조사를 수행한 뒤, 최근의 배포로 인해 문제가 발생했다고 판단할 수 있다. 이와 동시에 개발자는 최근의 배포가 생산단계의 변경을 유발했다는 경고를 받고, 곧바로 성능 변화 확인을 위해 코드 배포 작업 요청을 진행하게 된다. 개발 및 운영, 보안 팀이 대화할 때, 그들은 동일한 데이터를 보고 있지만 각자의 관점에서 바라보게 된다.

단일 애플리케이션 이점
이질적인 툴은 사람과 정보를 서로 다른 시스템으로 격리시킬 수 있다. 데브옵스 팀이 단일 애플리케이션에서 작업할 수 있다면 팀의 협업은 더욱 향상되고, 주기는 단축되고, 투자 수익은 크게 높아질 것이다.

① 단일 인터페이스: 모든 도구에 대한 단일 인터페이스는 관련된 모든 연관 정보(context)에 항시 액세스할 수 있음을 의미한다. 서로 다른 인터페이스 간의 지속적인 연관 정보(context) 전환으로 인해 정보가 손실되지 않는다.

② 단일 데이터 저장소: 단일 데이터 저장소를 사용하면 소프트웨어 개발 전체 라이프사이클에 대한 진정한 단일 소스를 구축할 수 있다. 여러 개의 데이터 저장소는 중복되거나 일관성이 없는 데이터를 초래한다.

③ 단일 개요: 환경 및 코드, 이슈, 에픽(Epic) 간의 자동화된 링크는 프로젝트 상태 및 진행상황에 대해 보다 나은 개요를 제공한다. 모든 정보는 실시간으로 제공되며, 일관된 개념과 정의를 유지한다.

④ 단일 플로우: 단일 애플리케이션을 사용하면 10개의 각기 다른 제품을 통합할 필요가 없다. 이를 통해 개발자의 시간을 절약하고, 리스크를 줄이고, 신뢰성을 높이는 것은 물론 외부 시스템 통합(SI) 업체에 지불하는 비용을 절감할 수 있다.

새로운 접근법 ‘컨커런트 데브옵스’
컨커런트 데브옵스(Concurrent DevOps)는 소프트웨어를 만들고, 출시하는 방법에 대한 새로운 접근방식이다. 사일로를 유발하는 순차적 단계와 이관 작업으로 운영되는 대신 동시 작업을 통해 조직 전체의 협업을 촉진시키는 것이다. 컨커런트 세계에서 사람들은 데브옵스 전체 라이프사이클에 대한 작업 플로우 및 프로세스, 보안 및 규정 준수 등을 모두 파악할 수 있다.

컨커런트 데브옵스를 이용하면 제품 및 개발, QA, 보안 및 운영 팀이 동시에 작업을 수행할 수 있다. 팀이 동시에 작업을 진행하고, 생산 단계 이전에 변경사항을 함께 검토한다. 모든 사람이 모든 단계에서 단일 의사소통으로 기여할 수 있으며, 개발자는 변경사항과 관련된 모든 보안 및 운영 정보를 파악할 수 있다.

특히 컨커런트 데브옵스 모델에서는 소프트웨어 개발 및 배포 작업을 수행하는 전통적으로 서로 이질적인 팀들이 단일 애플리케이션으로 협업이 가능하며, 단일 코드베이스와 데이터 저장소, 설치, 인터페이스, 개요 및 작업 플로우를 공유할 수 있다.

이를 통해 복잡한 통합 및 각 도구에 대한 액세스 요청, 컨텍스트 전환이 필요하지 않게 된다. 이슈 추적 및 프로젝트 관리에서 코드 검토와 지속적인 통합, 릴리스 자동화에 이르기까지 필요한 모든 툴은 본질적으로 하나의 중단없는 컨커런트 작업 플로우로 연결된다.

기존의 일반적인 소프트웨어 개발 작업은 순차적이며, 마이크로소프트 워드를 사용해 문서를 만드는 것과 다르지 않다. 그러나 컨커런트 데브옵스는 다르다. 팀은 라이프사이클 초기에 새로운 기능에 대해 수시로 협력하고 기여할 수 있으며, 주기를 대폭 단축하고, 배포를 가속화할 수 있다.
 
컨커런트 데브옵스 핵심 가치

(1) 가시성
컨커런트 데브옵스는 확장된 데브옵스 라이프사이클 전반에 걸쳐 모든 프로젝트 및 관련 활동에 대한 완벽한 실시간 가시성을 제공한다. 이해관계자들은 변경사항 및 주기, 보안, 운영 상태 등을 쉽게 파악할 수 있어야 하며 가장 중요한 정보들이 제시돼야 한다.

1. 생산에 미치는 영향과 이를 유발한 코드 변경사항이 함께 표시된다.
2. 개발자는 병합 요청으로 변경사항과 관련된 모든 보안 및 운영 정보를 파악할 수 있다.
3. 신뢰할 수 있는 완벽한 단일 소스는 모니터링 앱을 버전 제어와 동기화할 필요 없이 라이프사이클 전반에 걸쳐 정보를 최신 상태로 유지한다.

이러한 수준의 가시성은 모든 프로젝트 활동에 대한 진행 상태와 주기 패턴을 한 곳에서 제공함으로써 이슈 상태를 복사하거나 개별 프로젝트를 도구 간에 수동으로 연결할 필요가 없다.

(2) 효율성
컨커런트 데브옵스 모델을 이용하면 각 프로젝트를 위해 여러 툴을 수동으로 구성하거나 통합할 필요가 없다. 첫 번째 코드를 변경하는 즉시 코드 언어가 감지되고, 프로젝트에 패키징되며, 보안 테스트가 실행되고, 코드 품질을 검토한 후 리뷰 앱과 함께 자동으로 배포돼야 한다.

이를 통해 개발자는 ‘시프트 레프트(Shift Left)’ 테스트를 기반으로 문제를 조기에 발견하고, 지체 없이 이를 해결할 수 있다. 프로세스에 문제가 있다면 개발 및 QA, 보안, 운영 팀은 라이프사이클 전반에 걸쳐 단일 의사소통으로 문제 해결에 기여할 수 있다. 모든 정보가 함께 보관되기 때문에 팀은 업무 이관을 기다리는 대신, 동시에 작업을 수행할 수 있다.

보안은 개시되는 즉시 모든 프로젝트에 대한 테스트를 수행한다. 모든 프로젝트의 보안 상태는 회사 전체에서 확인할 수 있다. 보안 및 QA, 운영은 더 이상 데브옵스 라이프사이클의 속도를 저해하는 장애물이 아니다.

(3) 거버넌스
임베디드 자동 보안 및 코드 품질, 취약성 관리, 정책 시행은 규정을 준수하면서 빠르게 처리된다. 사용자 인증 및 권한을 부여할 수 있는 일관된 단일 권한 모델은 여러 애플리케이션에 대한 다중 권한 부여 스키마(Schema)를 관리할 필요 없이 모든 제품 범주에 걸쳐 일관된 사용자 권한을 유지할 수 있도록 해준다.

컨커런트 데브옵스 모델을 이용하면 모든 주요 활동은 데브옵스 전체 라이프사이클에 걸쳐 단일 감사 로그에 기록되며, 상시 동작 및 액세스가 가능하다. 정확하기 때문에 추측할 필요 없이 코드 배포 방식을 엄격하게 제어할 수 있다.

컨커런트 데브옵스 이점
컨커런트 데브옵스는 기업이 디지털 혁신의 잠재력을 최대한 실현할 수 있도록 해준다. 상호 협력하는 팀들이 순차적이 아니라 동시에 작업을 수행할 수 있게 되면 데브옵스 라이프사이클의 속도를 200%까지 향상시킬 수 있다.

(1) 비즈니스 이점
· 재무 성과를 빠르게 도출함으로써 가치창출 시간을 단축한다.
· 진행 중인 프로젝트 수가 감소하면 취소되는 프로젝트 수도 줄어든다.
· 피드백에 기반한 신속한 반복 작업으로 고객 경험을 향상시킨다.

(2) IT 조직 이점
· 작은 단계로 조정 오버헤드가 줄어든다.
· 더 많은 상호 작용으로 정보가 증가하고, 진행 과정에 대한 예측이 가능하다.
· 의사결정 지점 증가로 극단적인 상황을 방지하고, 더 많은 프로젝트 제어 기능을 만들 수 있다.

(3) 주기 단축
주기가 짧다는 것은 아이디어 창출에서 구현 모니터링 및 확장에 이르는데 걸리는 시간이 줄어든다는 것을 의미한다. 이 시간을 단축함으로써 시장의 변화하는 요구에 빠르게 대응하고, 피드백을 기반으로 장기적인 계획을 조정할 수 있으며, 일괄처리 규모를 줄임으로써 엔지니어링 리스크를 획기적으로 줄일 수 있다.

(4) 피드백 주기 단축
주기가 짧을수록 변화하는 요구에 즉시 대응할 수 있다. 데브옵스 주기가 완료될 때까지 몇 개월 이상 기다려야 하는 대신 짧은 주기로 계획을 신속하게 조정할 수 있다. 반복이 완료될 때마다 피드백을 수집할 수 있는 새로운 기회가 주어진다. 제품 성능에 대한 하위 레벨의 피드백이나 고객의 직접적인 피드백을 얻을 수 있다.

(5) 엔지니어링 리스크 감소
소규모의 빈번한 배포는 조정이 더욱 용이하고, 언제 무엇을 출시할 것인지에 대한 예측 가능성을 높임으로써 엔지니어링 리스크를 줄일 수 있다. 일괄처리 규모가 작을수록 코드 품질이 향상되는데, 이는 한 번에 많은 변경사항을 처리하는 것보다 각각의 작은 변경사항들에 적절한 주의를 기울일 수 있기 때문이다. 또한 배포 규모가 작을수록 문제를 유발할 수 있는 변경사항이 더 줄어들기 때문에 문제 해결이 더욱 쉬워진다.

컨커런트 데브옵스 시작하기
컨커런트 데브옵스를 시작하기 위해서는 다음의 세 가지가 중요하다.

① 임베디드 교차기능 팀 구성: 깃랩은 동일한 사람과 함께 일함으로써 의사소통 속도를 높이고, 신뢰를 구축하고, 반복을 촉진시키기 위해 교차기능 연결을 용이하게 하는 안정적인 대응 모델을 채택했다. 이러한 안정적인 대응 모델은 모든 팀이 각 릴리즈마다 프런트엔드 엔지니어와 UX 디자이너, 테스트 자동화 엔지니어 등 동일한 팀원들과 협력하고, 깃랩 내에 소규모 팀을 만들 수 있도록 해준다.

② 실행 가능한 변경사항 최소화 출시: 모든 변경 제안을 절대적으로 최소화해 실행 가능한 형태로 줄인다. 이를 통해 단일 릴리스 내에 거의 모든 것을 출시하고, 즉각적으로 피드백을 수용하고, 작동하지 않을 수 있는 아이디어에 대한 과도한 투자를 피할 수 있다.

③ 예측 가능성보다 속도 방점: 각 릴리즈마다 사용자와 고객을 위한 높은 가치를 제공할 수 있도록 최적화한다. 팀 전체의 상세 스토리 포인트 평가와 같은 과도한 프로세스는 피하고, 포함된 병합 요청 수나 단일 팀원에 의한 개략적인 추정치와 같은 간단한 처리량 측정을 이용하는 것이 바람직하다.

깃랩 이용한 컨커런트 데브옵스
깃랩은 유일하게 데브옵스 팀에 필요한 모든 것을 단일 애플리케이션으로 제공하기 때문에 각 프로젝트를 위한 여러 툴들을 수동으로 구성하고 통합할 필요가 없다. 팀은 작업을 즉시 시작하고, 동시에 수행함으로써 데브옵스 라이프사이클의 모든 단계에 걸쳐 시간을 획기적으로 단축할 수 있다. 깃랩을 사용하면 모니터링 앱을 버전 제어에 동기화하거나 도구 간에 정보를 복사할 때까지 기다릴 필요도 없다.

깃랩은 팀이 툴이 아니라 프로젝트를 관리할 수 있도록 해준다. 이러한 강력한 기능은 추측 작업을 없애고, 팀 간 책임 소재 분별성(Accountability)을 강화하고, 모든 사람이 데이터 중심의 신뢰성을 바탕으로 새로운 확신을 가지고 행동할 수 있도록 해준다. 데브옵스 팀은 깃랩을 통해 프로젝트 및 활동 전반의 주기에 대한 심층적인 이해를 바탕으로 운영하고, 진행상황을 파악할 수 있는 가시성을 확보함으로써 계속해서 발전할 수 있다.

한편 깃랩은 데브옵스 전체 라이프사이클을 위한 최초의 단일 애플리케이션으로, 유일하게 컨커런트 데브옵스 지원을 통해 기업들이 툴 체인으로 인한 제약에서 벗어날 수 있도록 지원한다. 특히 탁월한 가시성과 새로운 차원의 획기적인 효율성 및 포괄적인 거버넌스를 제공해 변경 계획 및 효과 모니터링 간의 시간을 대폭 단축해 소프트웨어 라이프사이클이 200% 빨라지고, 비즈니스 속도가 획기적으로 향상된다.

깃랩과 컨커런트 데브옵스는 소프트웨어 개발 라이프사이클의 모든 단계에 걸쳐 높은 효율성을 제공함으로써 주기를 단축한다. 제품, 개발, QA, 보안 및 운영 팀이 단일 애플리케이션으로 동시에 작업할 수 있게 됐고, 도구를 통합하고, 동기화할 필요가 없으며, 업무 이관을 기다리는데 시간도 낭비할 필요가 없다. 이질적인 툴로 인한 여러 스레드(Thread)를 관리하는 대신 모든 사람들이 단일 의사소통을 통해 기여할 수 있다. 

뿐만 아니라 깃랩은 신뢰할 수 있는 단일 데이터 소스를 통해 라이프사이클 전반에 대한 완벽한 가시성을 팀에게 제공함으로써 문제 해결을 단순화하고, 책무성을 강화할 수 있다. 모든 활동은 일관된 제어로 관리되기 때문에 보안 및 규정준수를 사후 고려사항이 아닌 1급 객체(First-Class Citizen)로 만들 수 있다.

특히 오픈소스 기반의 깃랩은 수천여 개발자와 수백만 사용자 커뮤니티들이 지속적으로 새로운 데브옵스를 혁신하고, 기여할 수 있도록 하고 있다. 티켓마스터, 재규어랜드로버, 나스닥, 디시네트워크, 컴캐스트 등 스타트업에서 글로벌 기업에 이르기까지 10만개 이상의 조직 및 기업들이 보다 신속하게 탁월한 소프트웨어 제공을 위해 깃랩을 적극 활용하고 있다.


관련기사

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.