Next.js는 현대 웹 개발 현장에 돌풍을 일으키고 있는 비교적 최근의 강력한 JavaScript 프레임워크인 저장소입니다. Next.js는 서버 측 렌더링, 정적 사이트 생성 및 SEO 최적화를 통해 React를 강화합니다.
개발자들은 이 다양성을 좋아하며, 숫자는 그 자체로 입증됩니다. 최근 설문조사에서 개발자 중 60%는 배포 용이성과 확장성 때문에 프로덕션에 바로 사용할 수 있는 애플리케이션을 구축하는 데 Next.js를 선호한다고 답했습니다. 배포 시간을 비교할 때 Next.js는 속도와 효율성 면에서 지속적으로 React를 능가하므로 원활한 빌드 프로세스를 목표로 하는 개발자에게 선택이 됩니다.
이 사례 연구는 OpenSource Next.js 저장소에 중점을 두고 있으며 특히 뛰어난 배포 빈도를 강조합니다.
동적인 전자 상거래 사이트와 빠른 실행 블로그를 구축하기 위해 Next.js를 사용해 본 개발자로서 우리는 어떻게 그토록 효율적으로 전설적인 저장소를 만들고 관리할 수 있었는지 궁금하지 않을 수 없습니다. 그래서 우리는 미들웨어 오픈소스를 사용하여 더 깊이 파고들었습니다.
이러한 통찰력을 더 자세히 살펴보고 동료 엔지니어링 리더와 소통하고 싶다면 Middle Out 커뮤니티 에 참여하거나 독점 뉴스레터를 구독하세요. 사례 연구 등!
하지만 가장 먼저 해야 할 일이 있습니다. Dora Metrics가 무엇인지 알아보겠습니다.
Dora Metrics는 소프트웨어 제공 시 프로젝트가 시작부터 최종 생산까지 얼마나 효율적으로 진행되는지를 보여주는 핵심 지표입니다. Dora Metrics에 대한 자세한 블로그와 엔지니어링 프로세스에 어떻게 도움이 되는지 자유롭게 읽어보세요!
배포 빈도: 코드가 프로덕션에 도달하는 빈도.
변경 리드 타임: 커밋이 적용되는 데 걸리는 시간.
MTTR(평균 복원 시간): 오류를 복구하는 데 걸리는 시간입니다.
변경 실패율: 배포 중 문제가 발생한 횟수입니다.
이제 우리는 모두 같은 입장에 있으므로 Next.js가 어떻게 측정되는지 살펴보겠습니다.
OpenSource Next.js 저장소는 업계 표준을 훨씬 능가하는 뛰어난 배포 빈도로 유명합니다. 지난 3개월 동안 리포지토리는 팀의 효율성과 자동화 능력을 반영하여 지속적으로 많은 양의 배포를 추진해 왔습니다.
2024년 6월에는 247건의 배포가 있었고, 7월에는 261건, 8월에는 279건의 인상적인 배포가 이루어졌습니다. 이러한 수치는 지속적인 통합과 신속한 기능 릴리스에 대한 리포지토리의 노력을 강조하여 오픈 소스 커뮤니티의 배포 빈도에 대한 벤치마크가 되었습니다.
거의 3시간마다 한 번씩 배포되는 셈입니다! 이러한 빈번한 배포는 단지 보여주기 위한 것이 아닙니다. 이는 프로젝트가 놀라운 속도로 발전하도록 유지합니다. 어떻게 하나요? 몇 가지 핵심 요소가 눈에 띕니다:
자동화된 CI/CD 파이프라인: 자동화가 구현되면 배포가 빠르고 원활하게 진행됩니다.---거의 마법과 같습니다.
자주 발생하는 소규모 PR: 변경 사항을 작은 풀 요청으로 나누어 위험을 줄이면서 더 빠르게 병합하고 배포할 수 있습니다.
빠른 문제 해결: 버그는 빠르게 해결되며 배포 실패는 거의 없습니다.
배포 빈도가 높음에도 불구하고 저장소는 전체 변경 리드 타임에 영향을 미치는 주기 시간의 눈에 띄는 변동을 보여줍니다. 주기 시간에는 모든 PR이 포함되는 반면, 리드 타임에는 사용 가능한 배포 데이터가 있는 PR만 포함됩니다. 2024년 6월 평균 Cycle Time은 약 3.5일이었고, 7월에는 3.6일로 소폭 증가한 후 8월에는 5.3일로 급증했습니다.
주기가 3.5일에서 5.3일로 늘어나 개발 프로세스가 다소 지연되고 있습니다. 코드 검토, 테스트 또는 수동 작업에서 병목 현상을 식별하고 자동화된 테스트 또는 향상된 스프린트 계획을 구현하면 이를 줄이는 데 도움이 될 수 있습니다.
2024년 6월 평균 첫 번째 응답 시간은 1.6일(38.4시간)이었습니다. 이는 Next.js 저장소에서 문제와 풀 요청을 빠르고 효율적으로 처리했음을 나타냅니다. 2024년 7월까지 이 시간은 1.8일(43.2시간)으로 약간 증가했는데, 이는 문제 수가 증가하거나 팀 가용성 감소로 인해 약간의 지연이 발생할 가능성이 있음을 암시합니다.
그러나 2024년 8월에는 2.6일(62.4시간)로 크게 증가하여 작업량이 증가하거나 검토자 할당의 병목 현상 또는 휴가로 인한 팀원 수 감소로 인해 지연이 눈에 띄게 발생했음을 시사합니다.
첫 번째 응답 시간을 개선하기 위해 최근 증가하는 지연 문제를 해결하기 위한 몇 가지 전략을 구현할 수 있습니다. 문제 및 끌어오기 요청에 대한 알림을 자동화하면 검토자에게 더 빠르게 할당하고 대기 시간을 줄일 수 있습니다.
응답 시간에 대한 SLA(서비스 수준 계약)를 도입하면 책임성을 높이고 더 빠른 참여를 장려할 수 있습니다. 또한 팀 할당 및 작업 부하 분산을 검토하면 특히 휴가와 같이 수요가 많거나 팀 가용성이 감소하는 기간 동안 책임의 균형을 맞추는 데 도움이 될 수 있습니다.
기능 간 협업을 장려하면 팀 전체에 부하를 보다 균등하게 분산시켜 더 빠른 대응이 가능해집니다. 이러한 변경으로 인해 응답 시간이 효과적으로 단축되고 효율성이 유지될 수 있습니다.
2024년 6월부터 8월까지 Next.js 저장소 변경 리드 타임이 3.3일에서 4.1일로 점차 늘어났습니다. 6월에는 상대적으로 빠른 3.3일 소요 시간이 원활한 조정과 효율적인 워크플로를 반영했습니다. 7월에는 이 기간이 3.6일로 약간 늘어났는데, 이는 코드 검토 기간이 길어지거나 작업이 더 복잡해져서 약간의 비효율성이 있음을 암시합니다.
그러나 8월에는 리드 타임이 4.1일에 달해 작업량 증가, 검토 병목 현상, 휴가로 인한 팀 역량 감소로 인해 지연이 더 심각할 가능성이 있음을 나타냅니다. 이러한 추세는 프로세스를 최적화하고 추가 속도 저하를 방지해야 할 필요성을 시사합니다.
이유가 있나요?
검토 시간이 연장되었습니다. 예를 들어 PR #67498
심층적인 조사와 테스트가 필요한 복잡한 작업입니다. PR #67391
첫 번째 응답 시간의 변동(1.6일에서 2.6일)으로 인해 검토 시작 시간이 고르지 않아 진행이 지연됩니다.
OpenSource Next.js 리포지토리에는 기능 업그레이드 및 버그 스쿼시부터 문서 개선 및 테스트 개선에 이르기까지 다양한 활동이 포함되어 있습니다. 다음은 몇 가지 주요 통찰력에 대한 분석입니다.
기능 및 개선 사항: 성능 최적화(PR #67397), 새로운 기능(PR #67215)을 포함한 점검이 이루어졌습니다.
문서: 문서에 대한 상당한 기여로 명확성과 보다 쉬운 채택이 보장됩니다(PR #67056).
버그 수정: 41.5시간(~1.7일)의 재작업 시간으로 강조된 중요한 버그 수정을 해결합니다(PR #67022).
성능 최적화: 프레임워크의 속도와 효율성 향상(PR #67065).
이러한 업데이트는 Next.js를 웹 개발의 리더로 자리매김하게 합니다. 그러나 개선이 필요한 많은 영역(주기 시간, 첫 번째 응답, 리드 타임)은 테스트, 코드 검토 및 알림의 자동화가 향상되면 이점을 얻을 수 있습니다.
추가로 최적화하기 위해 파이프라인의 병목 현상을 추적하고 이러한 병목 현상이 코드 검토, 테스트 또는 배포 중에 발생하는지 여부를 추적하고 해당 영역을 대상으로 전반적인 성능을 향상시킬 수 있습니다. 또한 보다 빈번한 스탠드업이나 회고를 통해 지속적인 피드백을 조성하면 마찰 지점을 식별하고 해결하는 데 도움이 될 수 있습니다. 이러한 전략에 집중하면 보다 효율적이고 간소화된 개발 및 배포 파이프라인을 만들 수 있습니다.
내부 기여자에게는 빠른 배포 주기가 꿈입니다. 기능과 수정 사항이 빠르게 출시되므로 팀은 거의 실시간으로 피드백을 받습니다. 그러나 리드 타임이 길기 때문에 일부 기여자는 자신의 작업이 게시될 때까지 긴 대기열에 갇혀 있는 것처럼 느낄 수 있습니다.
외부 기여자의 경우 이러한 병목 현상을 이해하면 더 명확한 기대치를 설정할 수 있습니다. Next.js에 기여하고 있다면 배포가 자주 발생하더라도 PR을 병합하는 데 약간의 시간이 걸리더라도 놀라지 마십시오.
자동화에 투자: 견고한 CI/CD 파이프라인은 배포를 물처럼 흐르게 유지할 수 있습니다.
작고 빈번한 PR 장려: 복잡성이 적다는 것은 더 빠른 검토와 더 빠른 배포를 의미합니다.
주기 시간의 병목 현상 해결: 리드 타임이 뒤처지는 경우 재작업 또는 검토 시간 등 지연의 원인을 조사하세요.
Next.js는 인상적인 배포 빈도가 치솟고 있지만 리드 타임, 주기 시간, 첫 번째 응답 시간에 주의가 필요할 수 있습니다. 몇 가지 전략적 조정을 통해 Google의 연간 Dora 보고서에서 최고 성과를 낸 기업에 맞서 강력한 경쟁자가 될 가능성이 있습니다.
Next.js는 배포 효율성에 있어 새로운 벤치마크를 설정하여 오픈 소스 세계에서 주목할 만한 벤치마크가 되었습니다. 속도, 품질, 지속적인 혁신의 탁월한 조합으로 인해 경쟁업체가 따라잡을 여지가 거의 없습니다. 적극적으로 기여하는 사람이든 호기심 많은 구경꾼이든 관계없이 이 선구적인 저장소에는 감탄하고 배울 것이 많습니다.
Next.js가 계속 발전함에 따라 단순히 웹의 요구 사항을 충족하는 것이 아닙니다. 그것은 그들을 형성하고 있습니다. 오픈 소스의 우수성을 재정의하는 더욱 획기적인 업데이트를 준비하세요!
이러한 통찰력을 더 자세히 살펴보고 동료 엔지니어링 리더와 교류하고 싶다면 Middle Out 커뮤니티에 참여하세요. 독점적인 사례 연구 등을 보려면 뉴스레터를 구독하세요!
Next.js는 2016년 Vercel(이전의 Zeit)에 의해 만들어졌으며 서버 측 렌더링 React 애플리케이션 구축을 위한 강력한 기능으로 인해 빠르게 인기를 얻었습니다. SSG(정적 사이트 생성)와 SSR(서버 측 렌더링)을 모두 지원하므로 개발자에게 유연한 선택이 됩니다. Netflix, Twitch 및 GitHub와 같은 주요 회사는 Next.js를 사용하여 웹 앱을 강화하여 안정성과 확장성을 보여줍니다.
미들웨어 및 Dora 측정항목
지속적 통합 가이드
Dora 지표 방법론
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3