이 가이드는 KPI를 설정하고 New Relic을 사용하여 코드 배포의 품질과 주기를 개선하고 최적화하는 방법을 안내합니다. 이것은 관찰 가능성 성숙도에 대한 시리즈 의 일부입니다.
개요
개발 팀은 궁극적으로 릴리스의 빈도와 성공으로 측정됩니다. 너무 느리게 출시하는 팀은 비즈니스 요구와 혁신에 보조를 맞출 수 없습니다. 실패한 릴리스를 너무 많이 만드는 팀은 고객 만족도, 수익 및 전반적인 시스템 안정성에 부정적인 영향을 미칩니다.
Google의 DORA( DevOps Research and Assessment ) 팀은 소프트웨어 개발 조직의 성과를 나타내는 4가지 주요 측정항목을 식별했습니다. 우리의 혁신 및 성장 가치 동인은 이러한 지표를 사용하여 보다 안정적이고 성능이 좋은 애플리케이션과 함께 보다 효율적이고 응답성이 뛰어난 개발 팀을 이끄는 전체 프로그램을 만듭니다. 이 릴리스 품질 (RelQual) 가이드는 배포 빈도, 애플리케이션 성능 및 애플리케이션 안정성을 촉진하여 해당 프로그램에 기여합니다.
요망되는 결과
이 릴리스 품질 가이드의 프로세스를 사용하여 배포 빈도를 늘리고 크기와 범위를 줄입니다. 이는 소프트웨어 결함의 영향(또는 폭발 반경)을 줄이는 동시에 생산 코드에서 아이디어를 구현하는 시간을 단축하는 결과를 낳습니다.
또한 RelQual 프로세스는 성능 병목 현상과 오류 원인을 식별하고 이를 해결할 수 있도록 개발 프로세스에 다시 피드백하는 데 사용됩니다. 이를 통해 인프라 비용을 낮추는 동시에 안정성과 고객 만족도를 높일 수 있습니다.
RelQual의 전반적인 목표는 지속적인 성능 개선 주기를 만들고 더 적은 변경으로 더 많은 릴리스 패턴을 유도하는 것입니다. 이렇게 하면 비즈니스 평판과 수익에 대한 위험을 줄이고 애플리케이션 성능과 안정성을 높일 수 있습니다.
주요 컨셉
유지 개념에는 다음이 포함됩니다.
의사 소통, 수정, 혁신
New Relic의 관찰 가능성 성숙도 실행의 중심 테마 중 하나는 "커뮤니케이션, 수정, 혁신"입니다. RelQual은 특정 KPI를 사용하여 이해 관계자에게 개발 관행 및 애플리케이션의 현재 상태를 전달할 수 있도록 하여 해당 주제를 지원합니다. 그런 다음 해당 KPI를 사용하여 개발 관행을 조정하고 느리고 신뢰할 수 없는 애플리케이션 구성 요소를 식별하여 후속 개발 스프린트에서 수정할 수 있습니다. 마지막으로 이러한 KPI를 사용하여 개발 관행을 가속화하여 혁신에 추가 시간을 추가합니다.
트렁크 기반 개발
트렁크 기반 개발은 DevOps Research and Assessment(DORA) 조직이 더 빠른 제공과 더 높은 조직 성과를 이끄는 핵심 기능으로 식별한 관행입니다. CI/CD의 필수 연습입니다.
간단히 말해서, 트렁크 기반 개발은 개발 작업을 단일 트렁크의 분기에 대해 수행되는 작은 배치로 나눕니다. 일괄 작업이 완료되는 즉시 분기가 트렁크로 다시 병합됩니다. 각 분기는 수명이 짧을 것으로 예상되므로 트렁크로 다시 병합하는 작업을 간단하게 만들고 모든 개발자가 최신 릴리스의 코드 기반에서 작업할 수 있도록 합니다.
RelQual은 이 DevOps 모범 사례의 채택을 주도하고 이를 준수하도록 합니다. 이렇게 하면 코드를 프로덕션 환경으로 빠르게 전달할 수 있습니다.
IT 서비스 경계
RelQual 사용 사례는 IT 서비스 경계 수준에서 작동합니다. 경계에서 서비스를 측정하여 업스트림에서 무슨 일이 일어나고 있는지에 대한 그림을 얻습니다.
보셨겠지만, 관찰 가능성 성숙도 시리즈의 서비스 수준 관리 가이드 는 서비스 경계 개념을 사용하여 서비스와 해당 종속성의 응답 시간과 오류율을 측정합니다. RelQual은 동일한 개념을 사용하여 개발 관행이 서비스에 미치는 영향을 측정한 다음 IT 서비스가 발전함에 따라 개발 팀의 응답성, 혁신 능력 및 애플리케이션 안정성을 개선합니다.
핵심 성과 지표
개발 품질 프로세스를 사용하여 다음 KPI를 수집하고 측정합니다.
- 출시율
- 릴리스 크기/범위
- 앱 응답성 및 오류율
- 생산 영향
- 지원 티켓 수량
- 인프라 비용
- 관찰 가능성 범위
각 메트릭에 대한 자세한 정보는 다음과 같습니다.
전제 조건
시작하기 전에 이에 상응하는 경험이 없는 경우 NRU(New Relic University) 개요 과정 을 완료해야 합니다. 또한 다음 사항에 대한 기본적인 이해가 있어야 합니다.
KPI의 현재 상태 설정
지속적인 개선 프로세스와 마찬가지로 RelQual의 첫 번째 단계는 KPI의 현재 상태를 설정하는 것입니다. 이렇게 하려면 다음 작업을 수행합니다.
이것들은 아래에서 더 자세히 설명됩니다.
애플리케이션 식별
첫 번째 단계는 RelQual 프로세스의 첫 번째 반복에 대한 범위 내에 있는 애플리케이션을 식별하는 것입니다. RelQual 프로세스에 포함하기에 적합한 응용 프로그램은 다음과 같습니다.
- 활발히 개발 중입니다
- 핵심 운영 서비스
- 개발 주기가 느림
- 실패한 배포에 대한 기록 보유
필요한 KPI 수집
릴리스 품질 사용 사례의 성공은 핵심 성과 지표에 크게 의존합니다. CI/CD 플랫폼, 소스 리포지토리, 관찰 가능성 솔루션 등과 같은 확실한 소스에서 정의된 대로 KPI를 수집하는 것으로 시작해야 합니다. KPI의 소스를 식별한 후에는 이를 추출하는 방법을 식별하고 New Relic 플랫폼으로 가져옵니다.
이 사용 사례에 필요한 KPI 및 최소 필수 속성은 핵심 성과 지표 섹션에 나열되어 있습니다. 일반적으로 개발 도구 모음의 API를 사용하여 KPI와 해당 속성을 추출한 다음 사용자 지정 이벤트 API 를 사용하여 New Relic에 제출합니다.
사용자 정의 통합 작업을 시작하기 전에 목표를 충족하는 즉시 사용 가능한 통합이 있는지 확인해야 합니다.
RelQual 대시보드 구현
RelQual 품질 개선 프로세스의 주요 동인입니다. 개선 노력을 식별하고 우선 순위를 지정할 수 있도록 KPI 및 추세를 보여줍니다.
샘플 RelQual 대시보드는 GitHub의 관찰 가능성 성숙도 리소스 센터에서 찾을 수 있습니다.
대시보드에 표시하는 정보 중 일부는 개발 도구 체인에 따라 다르므로 샘플에서 대시보드를 수정해야 할 수도 있습니다.
기준선 설정
RelQual 프로세스에는 초기 활성화를 수행 할 수 있도록 기준선이 필요합니다. 기준선에는 릴리스 활동의 대표적인 샘플이 포함되어야 합니다. 여기에는 최소한 하나의 완전한 릴리스 주기가 포함되어야 하지만 유효한 기준선을 얻으려면 더 많은 주기가 필요할 수 있습니다.
기준 수집 및 평가 주기는 애자일 스프린트와 일치해야 하며 RelQual 이벤트 데이터가 예상대로 누적되는지 주기적으로 확인해야 합니다.
초기 활성화 수행
이 단계에서는 개발 팀과 기타 이해 관계자에게 기본 RelQual 데이터와 귀하가 따르게 될 지속적인 지속적인 개선 프로세스를 소개합니다.
이 프로세스는 네 가지 활동으로 구성됩니다.
- 트렁크 기반 개발의 개념을 소개합니다. 귀하와 이해 관계자는 트럭 기반 개발의 핵심 개념을 검토하고 현재 관행이 다른 부분을 식별한 다음 이를 구현하기 위한 전략을 만듭니다.
- 릴리스 KPI 및 추세를 검토합니다. 릴리스 속도 및 릴리스 크기/범위 KPI를 검토하여 트렁크 기반 개발을 구현하는 방향으로 진행하고 있는지 확인합니다. 목표는 새 릴리스의 크기/범위를 줄이는 동시에 릴리스 속도를 높이는 것입니다.
- 애플리케이션 KPI 및 추세를 검토합니다. 여기에서 애플리케이션의 성능 및 오류 KPI를 검토하여 애플리케이션 안정성 및 성능을 개선하기 위한 노력을 식별하고 우선 순위를 지정합니다.
- 기술 권장 사항을 작성하십시오. 여기에서 귀하와 관련 이해 관계자는 릴리스 워크플로 또는 관찰 가능성 전략 변경과 같은 기술적 권장 사항을 식별하고 검토합니다.
세션 템플릿 프레젠테이션 을 사용하여 RelQual 프로세스의 이 부분을 구성할 수 있습니다.
개선 프로세스
이것은 지속적인 개선 프로세스의 진행 중인 단계입니다. 이 단계 에서 초기 지원 단계 를 반복하여 기준에 대한 진행 상황을 검토하고 필요한 긍정적인 비즈니스 결과를 제공할 수 있도록 전략과 전술을 조정합니다.
개선 프로세스의 각 주기는 릴리스 프로세스를 여러 번 반복한 후에 발생해야 합니다. 대안으로 각 애자일 스프린트의 중간과 끝에서 평가를 예약할 수 있습니다.
이 단계에서 다음을 수행해야 합니다.
- 이해 관계자 팀이 작업의 우선 순위를 적절하게 지정하고 약속된 비즈니스 결과를 향한 진전이 이루어지고 있는지 확인하기 위해 KPI를 고위 경영진에게 보고하십시오.
- 몇 개월에서 몇 년 동안 주간 KPI를 기록하고 유지하여 기준선을 설정하고 개선 속도를 보여줍니다.
이것은 지속적인 개선 과정이라는 점을 명심해야 합니다. RelQual 목표를 달성할 수 있도록 장기적으로 KPI를 계속 수집하고 평가할 것입니다.
가치 실현
RelQual 프로세스 구현이 성숙해지면 애플리케이션 배포와 관련된 비즈니스 및 기술 위험이 감소하고 애플리케이션 성능이 향상되는 것을 확인할 수 있습니다. 이는 고객 만족도 향상, 간접비 절감 및 잠재적 수익 향상으로 이어집니다.
아직 수행하지 않았다면 개발 품질 가이드 를 검토하고 사용하는 것이 좋습니다.