데브옵스 성과와 성숙도를 평가하는 방법
많은 기업이 데브옵스를 IT 개발과 운영 프로세스에 적용하고 있다. 발빠른 비즈니스 혁신의 기본 토대로 여기고 다수 기업이 투자하고 있는데, 그 채택 효과를 측정하는 게 쉽지 않다. 데브옵스 성과를 평과하는 DORA 지표가 있지만 부족하다. 새해초 클라우드네이티브컴퓨팅재단(CNCF)는 데브옵스의 장기적 비즈니스 가치 측정의 중요성을 강조하는 '오즈원'의 블로그를 소개했다. 많은 조직이 개발과 운영 프로세스를 혁신하는 방법을 고민하고 투자한다. 데브옵스는 그중 가장 널리 채택된 방법이고, 데브옵스의 성과를 측정하는 방법으로 DORA가 많다. 블로그 저자는 기술 KPI에 초점을 맞추는 DORA 지표에 대해 장기적 비즈니스 영향을 측정하기 부적절하다고 주장한다. 데브옵스로 전환은 조직에 많은 시간과 비용, 자본을 들이게 한다. 당연히 자원과 노력이 올바르게 형성되고 있는지 측정하는 게 필요하다. 그러나 모든 팀은 서로 다른 요구사항에 따라 서로 다른 자원을 필요로 한다. 오즈원은 이를 위해 조직 내 가치의 흐름을 최적화해야 한다고 강조한다. 데브옵스를 채택한 조직은 일반적으로 각 내부 팀별로 상이한 도구 선호도, 사고방식 변화에 대한 저항, CI/CD 관행의 공통 기준 수립, 고립된 팀 문화, 멀티 클라우드 기술 습득, 효과적 측정 지표 수집 등의 어려움에 직면하게 된다. 이는 강력한 데브옵스 전환 로드맵을 개발하고, 비즈니스와 개발 및 운영 간 경계를 제거해가는 과정에서 반드시 직면하는 문제다. 조직을 설득하는 과정에서 성과 평가는 매우 유용하다. 반면, 장기적 이점을 정량화하는데 실패하고, 그를 간과하면서 데브옵스 전환의 궁극적 목표를 상실하게 할 수 있다. 구글에서 만든 DORA(DevOps Research and Assessment)는 배포빈도, 변경을 위한 리드 타임, 평균 서비스 복원 시간, 변경 실패율 등을 주요 평가 항목으로 삼고, '엘리트-하이-미디엄-로우' 등의 순으로 점수를 매긴다. 코드를 현업으로 푸시하는 빈도와 코드 커밋부터 현업 배포까지 걸리는 시간, 장애를 복구하는데 필요한 시간, 배포 중 어느정도가 사용자에게 오류를 유발하는지 등을 측정하는 것이다. DORA 지표는 제품, 팀 규모, 팀의 적응성, 경험 등에 따라 결과가 달라질 수 있다. 데브옵스가 기술적 측면보다 인간의 사고방식에 관련된 것이므로 기술에만 초점을 맞추면 최종 결과에 실망하기 쉽다. 인간의 습득 능력에 대한 문제란 얘기다. DORA는 실제 데브옵스를 채택한 조직원과 팀 간의 역학 구조를 나타내지 못한다. 작년 11월 프로그레스소프트웨어가 600명의 IT관리자와 전문가를 대상으로 실시한 설문조사 결과 소프트웨어 설계 및 배포의 최일선 근무자가 데브옵스 발전에 만족하지 않는 것으로 조사됐다. 가트너는 작년 데브옵스 이니셔티브 중 75%가 조직 학습과 변경 문제로 기대칠르 충족하지 못한다고 분석했다. 블로그 저자는 데브옵스 성숙도 평가를 활용하라고 주장한다. 데브옵스 성숙도 평가는 문화와 전략, 자동화, 구조 및 프로세스, 협업 및 공유 등에 집중해 측정한다. 현재 역량 상태 평가와 개선 영역 식별, 원하는 데브옵스 목표 달성을 위한 단계 개요 등을 기대할 수 있다. 성숙도 수준을 결정하기 위해 애플리케이션, 데이터, 인프라 등으로 데브옵스 성숙도 그룹을 나눈다. 데브옵스 성숙도는 5단계로 이뤄진다. 초기, 관리, 정의, 성숙, 최적화 등이다. 조직 리더는 데브옵스 전환에서 기대할 수 있는 잠재적 수익을 측정하는데 다양한 분석 지표를 활용할 수 있다. 자동화된 배포와 이전 접근 방식의 수동 배포에 소요된 시간을 비교하면 절약된 노력에 대한 ROI를 강조해 엔지니어링 노력을 절약하게 한다. 새로운 기능에 시간과 에너지를 재투자하고 가치 제공에 집중해 고유한 고객 요구사항을 충족함으로써 절감된 비용을 평가한다. 데브옵스가 문제해결 시간 단축, 다운타임 방지, 보안 및 품질 유지 등으로 비용과 위험을 줄이는데 어떤 도움을 주는지 측정하는 게 필요하다. 가용성 및 가동 시간, 배포 시간 및 빈도, 배포 실패율, 장애 탐지 및 복구까지 평균 시간, 실패율 변경, 리드타임, 결함의 조기 발견, 고객 피드백, 자동화된 테스트 케이스, 애플리케이션 성능, 프로세스 주기 시간 등이 주요 KPI다. 저자는 "모든 지표와 KPI가 비즈니스 요구사항에 따라 정의되고, 장기적 영향에 대한 지표와 함께 정의되면, 개발자, SRE, 경영진은 데브옵스 전환의 공통 목표를 갖고 조정된다"고 강조했다.