>웹 프론트엔드 >JS 튜토리얼 >Next.js는 차세대 진화인가, 아니면 단지 지나가는 추세인가? Dora Metrics 사례 연구

Next.js는 차세대 진화인가, 아니면 단지 지나가는 추세인가? Dora Metrics 사례 연구

Patricia Arquette
Patricia Arquette원래의
2024-09-21 14:32:02654검색

Next.js는 최신 웹 개발 현장을 휩쓸고 있는 비교적 최근의 강력한 JavaScript 프레임워크인 저장소입니다. Next.js는 서버 측 렌더링, 정적 사이트 생성 및 SEO 최적화를 통해 React를 강화합니다.

개발자들은 이 다양성을 좋아하며, 숫자는 그 자체로 입증됩니다. 최근 설문조사에서 개발자 중 60%는 배포 용이성과 확장성 때문에 프로덕션에 바로 사용할 수 있는 애플리케이션을 구축하는 데 Next.js를 선호한다고 답했습니다. 배포 시간을 비교할 때 Next.js는 속도와 효율성 측면에서 지속적으로 React보다 뛰어나므로 원활한 빌드 프로세스를 목표로 하는 개발자가 선택하는 제품입니다.

이 사례 연구는 OpenSource Next.js 저장소에 중점을 두고 있으며 특히 뛰어난 배포 빈도를 강조합니다.

동적인 전자 상거래 사이트와 빠른 실행 블로그를 구축하기 위해 Next.js를 사용해 본 개발자로서 우리는 어떻게 그토록 효율적으로 전설적인 저장소를 만들고 관리할 수 있었는지 궁금하지 않을 수 없습니다. 그래서 우리는 미들웨어 오픈소스를 사용하여 더 깊이 파고들었습니다.

이러한 통찰력을 더 자세히 살펴보고 동료 엔지니어링 리더와 소통하고 싶다면  The Middle Out Community 에 참여하거나 독점 뉴스레터를 구독하세요. 사례 연구 등!

하지만 가장 먼저 해야 할 일이 있습니다. Dora Metrics가 무엇인지 알아보겠습니다.

도라메트릭스란 무엇인가요?

Dora 측정항목은 소프트웨어 제공 시 프로젝트가 시작부터 최종 제작까지 얼마나 효율적으로 진행되는지를 보여주는 핵심 지표입니다. Dora Metrics에 대한 자세한 내용과 엔지니어링 프로세스에 어떻게 도움이 되는지에 대한 자세한 내용을 자유롭게 읽어보세요!

  • 배포 빈도: 코드가 프로덕션에 도달하는 빈도.

  • 변경 리드 타임: 커밋이 실행되는 데 걸리는 시간.

  • MTTR(평균 복원 시간): 장애를 복구하는 데 걸리는 시간

  • 변경 실패율: 배포 중 문제가 발생한 횟수

이제 우리는 모두 같은 생각을 갖고 있으므로 Next.js가 어떻게 측정되는지 살펴보겠습니다.

우리의 주요 결과

Next.js: 뛰어난 배포 빈도로 기준을 높게 설정

OpenSource Next.js 저장소는 업계 표준을 훨씬 능가하는 뛰어난 배포 빈도로 유명합니다. 지난 3개월 동안 저장소는 팀의 효율성과 자동화 능력을 반영하여 지속적으로 많은 양의 배포를 추진해 왔습니다.

2024년 6월에는 247건의 배포가 있었고, 7월에는 261건, 8월에는 279건의 인상적인 배포가 이루어졌습니다. 이러한 수치는 지속적인 통합과 신속한 기능 릴리스에 대한 저장소의 노력을 강조하여 오픈 소스 커뮤니티의 배포 빈도에 대한 벤치마크가 되었습니다.

Is Next.js the Next Evolution or Just a Passing Trend? A Dora Metrics Case Study

거의 3시간마다 한 번씩 배포되는 셈입니다! 이러한 빈번한 배포는 단지 보여주기 위한 것이 아닙니다. 이는 프로젝트가 놀라운 속도로 발전하도록 유지합니다. 어떻게 하나요? 몇 가지 주요 요소가 눈에 띕니다.

  • 자동화된 CI/CD 파이프라인: 자동화가 구현되면 배포가 빠르고 원활하게 진행됩니다. 마치 마법과도 같습니다.

  • 잦은 소규모 PR: 변경 사항을 작은 풀 요청으로 나누어 위험을 줄이면서 더 빠르게 병합하고 배포할 수 있습니다.

  • 빠른 문제 해결: 버그는 빠르게 해결되며 배포 실패는 거의 없습니다.

주기 시간으로 인해 개선의 여지가 남음

배포 빈도가 높음에도 불구하고 저장소는 전체 변경 리드 타임에 영향을 미치는 주기 시간의 눈에 띄는 변동을 보여줍니다. 주기 시간에는 모든 PR이 포함되는 반면, 리드 타임에는 사용 가능한 배포 데이터가 있는 PR만 포함됩니다. 2024년 6월 평균 Cycle Time은 3.5일 정도였으며, 7월에는 3.6일로 소폭 증가한 후, 8월에는 5.3일로 급증했습니다.

Is Next.js the Next Evolution or Just a Passing Trend? A Dora Metrics Case Study

주기 시간이 3.5일에서 5.3일로 늘어나 개발 프로세스가 다소 지연되고 있음을 나타냅니다. 코드 검토, 테스트 또는 수동 작업에서 병목 현상을 식별하고 자동화된 테스트 또는 향상된 스프린트 계획을 구현하면 이를 줄이는 데 도움이 될 수 있습니다.

일부 작업을 수행할 수 있는 기타 주요 지표

첫 번째 응답 시간

2024년 6월 평균 첫 번째 응답 시간은 1.6일(38.4시간)으로 Next.js 저장소의 문제와 풀 요청을 빠르고 효율적으로 처리했음을 나타냅니다. 2024년 7월까지 이 시간은 1.8일(43.2시간)으로 약간 증가했는데, 이는 문제 수가 증가하거나 팀 가용성 감소로 인해 약간의 지연이 발생할 가능성이 있음을 암시합니다.

ただし、2024 年 8 月には 2.6 日 (62.4 時間) に大幅に増加しており、おそらくワークロードの増加、レビュー担当者の割り当てのボトルネック、または休暇によるチーム メンバーの減少が原因で、顕著な遅延が発生していることを示唆しています。

Is Next.js the Next Evolution or Just a Passing Trend? A Dora Metrics Case Study

初回応答時間を改善するには、最近増加している遅延に対処するためのいくつかの戦略を実装できます。問題やプル リクエストの通知を自動化すると、レビュー担当者への割り当てが迅速化され、待ち時間が短縮されます。

応答時間に関する SLA (サービス レベル アグリーメント) を導入すると、説明責任が生まれ、より迅速な対応が促進される可能性があります。さらに、チームの割り当てと作業負荷の分散を見直すことは、特に需要が高い時期や休暇などチームの可用性が低下している時期に、責任のバランスをとるのに役立つ可能性があります。

部門を超えたコラボレーションを促進すると、チーム全体に負荷がより均等に分散され、より迅速な対応が可能になる可能性があります。これらの変更により、応答時間が効果的に短縮され、効率が維持される可能性があります。

変更のリードタイム

2024 年 6 月から 8 月にかけて、Next.js リポジトリの変更のリードタイムは 3.3 日から 4.1 日へと徐々に増加しました。 6 月には 3.3 日という比較的短い納期は、スムーズな調整による効率的なワークフローを反映しています。 7 月までに、この日数はわずかに増加して 3.6 日となり、おそらくコード レビューが長くなったり、タスクがより複雑になったりしたため、多少の非効率が生じていることがわかります。

しかし、8 月までにリードタイムは 4.1 日に達し、作業負荷の増加、レビューのボトルネック、休暇によるチーム能力の低下が原因で発生した可能性が高い、より大幅な遅延を示しています。この傾向は、プロセスを最適化し、さらなる速度低下を防ぐ必要があることを示唆しています。

Is Next.js the Next Evolution or Just a Passing Trend? A Dora Metrics Case Study

理由は?

  1. レビュー時間が延長されました。例: PR #67498

  2. 綿密な精査とテストを伴う複雑なタスク。 PR #67391

  3. 最初の応答時間の変動 (1.6 日から 2.6 日) により、レビューの開始時間が不均一となり、進捗が遅れます。

仕事の性質

OpenSource Next.js リポジトリには、機能のアップグレードやバグ潰しからドキュメントの改善やテストの改良に至るまで、さまざまなアクティビティが含まれています。いくつかの重要な洞察の内訳は次のとおりです:

  • 機能と改善: パフォーマンスの最適化 (PR #67397)、新機能 (PR #67215) を含むオーバーホール。

  • ドキュメント: ドキュメントへの大幅な貢献により、明確さと容易な導入が保証されます (PR #67056)。

  • バグ修正: 41.5 時間 (約 1.7 日) の再作業時間 (PR #67022) によって強調表示されている重大なバグ修正に対処します。

  • パフォーマンスの最適化: フレームワークの速度と効率を強化します (PR #67065)。

これらのアップデートにより、Next.js は Web 開発のリーダーとしての地位を確立します。ただし、サイクル タイム、最初の応答、リード タイムなど、改善が必要な領域の多くは、テスト、コード レビュー、通知の自動化を強化することで恩恵を受けることができます。

さらに最適化するには、コードレビュー、テスト、デプロイ中にボトルネックが発生したかどうかにかかわらず、パイプライン内のボトルネックを追跡し、それらの領域をターゲットにして全体のパフォーマンスを向上させることができます。また、より頻繁なスタンドアップや振り返りを通じて継続的なフィードバックを促進することは、摩擦点を特定して解決するのに役立ちます。これらの戦略に焦点を当てることで、より効率的かつ合理化された開発および展開パイプラインを作成できます。

これは Next.js コミュニティにどのような影響を与えますか?

内部貢献者にとって、迅速な導入サイクルは夢のようなものです。機能と修正は迅速に展開されるため、チームはほぼリアルタイムでフィードバックを得ることができます。ただし、リードタイムが長いため、投稿者によっては自分の作品が公開されるのを待っている長い列に入れられていると感じる可能性があります。

外部貢献者の場合、これらのボトルネックを理解することで、より明確な期待を設定できます。 Next.js に貢献している場合は、デプロイメントが頻繁に行われる場合でも、PR のマージに少し時間がかかっても驚かないでください。

重要なポイント

  • 自動化への投資: 堅牢な CI/CD パイプラインにより、水のようにデプロイメントを継続できます。

  • 小規模で頻繁な PR を奨励します: 複雑さが軽減されるということは、迅速なレビューと迅速な導入を意味します。

  • サイクル タイムのボトルネックに対処する: リード タイムが遅れている場合は、手戻りやレビュー時間など、遅れの原因を掘り下げます。

DORA 점수: 8/10

Next.js는 급상승하는 인상적인 배포 빈도를 가지고 있지만 리드 타임, 주기 시간 및 첫 번째 응답 시간에 약간의 주의가 필요할 수 있습니다. 몇 가지 전략적 조정을 통해 Google의 연간 Dora 보고서에서 최고 성과를 낸 기업에 맞서 강력한 경쟁자가 될 가능성이 있습니다.

Next.js가 다른 오픈 소스 프로젝트를 더 이상 사용하지 않게 만들고 있나요?

Next.js는 배포 효율성의 새로운 기준을 설정하여 오픈 소스 세계에서 주목할만한 제품이 되었습니다. 속도, 품질, 지속적인 혁신의 탁월한 조합으로 인해 경쟁업체가 따라잡을 여지가 거의 없습니다. 적극적인 기여자이든 호기심 많은 구경꾼이든 이 선구적인 저장소에는 감탄하고 배울 것이 많습니다.

Next.js가 계속 발전함에 따라 단순히 웹의 요구 사항을 충족하는 것이 아닙니다. 그것은 그들을 형성하고 있습니다. 오픈 소스의 우수성을 재정의하는 더욱 획기적인 업데이트를 준비하세요!

이러한 통찰력을 더 자세히 살펴보고 동료 엔지니어링 리더와 소통하고 싶다면  The Middle Out Community에 참여하세요. 독점적인 사례 연구 등을 보려면 뉴스레터를 구독하세요!

하찮은 일

Next.js는 2016년 Vercel(이전 Zeit)에 의해 만들어졌으며 서버 측 렌더링 React 애플리케이션 구축을 위한 강력한 기능으로 인해 빠르게 인기를 얻었습니다. SSG(정적 사이트 생성)와 SSR(서버 측 렌더링)을 모두 지원하므로 개발자에게 유연한 선택이 됩니다. Netflix, Twitch, GitHub와 같은 주요 기업에서는 Next.js를 사용하여 웹 앱을 강화하고 안정성과 확장성을 선보입니다.

추가 리소스

  • 미들웨어 및 Dora 측정항목

  • 지속적 통합 가이드

  • Dora Metrics 방법론

위 내용은 Next.js는 차세대 진화인가, 아니면 단지 지나가는 추세인가? Dora Metrics 사례 연구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.