Next.js é um repositório que é uma estrutura JavaScript relativamente recente, mas poderosa, que está conquistando o cenário moderno de desenvolvimento da Web. Next.js fortalece o React com sua renderização no servidor, geração de sites estáticos e otimização de SEO.
Os desenvolvedores adoram sua versatilidade e os números falam por si. Em uma pesquisa recente, 60% dos desenvolvedores disseram que preferem o Next.js para criar aplicativos prontos para produção devido à sua facilidade de implantação e escalabilidade. Ao comparar os tempos de implantação, o Next.js supera consistentemente o React em velocidade e eficiência, tornando-o uma escolha ideal para desenvolvedores que buscam um processo de construção contínuo.
Este estudo de caso concentra-se no repositório OpenSource Next.js, destacando particularmente sua excepcional frequência de implantação.
Como desenvolvedores que mexeram com Next.js para construir sites de comércio eletrônico dinâmicos e blogs de lançamento rápido, não poderíamos deixar de nos perguntar: como eles criaram e gerenciaram um repositório tão lendário com tanta eficiência? Então, nos aprofundamos no uso de middleware de código aberto.
Se você estiver animado para explorar mais esses insights e se conectar com outros líderes de engenharia, junte-se a nós The Middle Out Community ou assine nosso boletim informativo para obter informações exclusivas estudos de caso e muito mais!
Mas, primeiro o mais importante. Vamos entender o que são Dora Metrics.
As Métricas Dora são indicadores-chave que mostram a eficiência com que um projeto progride do início à produção final na entrega de software. Sinta-se à vontade para ler nosso blog detalhado sobre Dora Metrics e como eles podem ajudar seus processos de engenharia!
Frequência de implantação: com que frequência o código chega à produção.
Tempo de espera para alterações: quanto tempo leva para um commit entrar em operação.
Tempo médio para restauração (MTTR): tempo necessário para se recuperar de uma falha.
Taxa de falhas de alteração: quantas dessas implantações quebram alguma coisa.
Agora que estamos todos na mesma página, vamos ver como o Next.js se sai.
O repositório OpenSource Next.js se destaca por sua excepcional frequência de implantação, superando em muito os padrões da indústria. Nos últimos três meses, o repo impulsionou consistentemente um grande volume de implantações, refletindo a eficiência e a capacidade de automação da equipe.
Em junho de 2024, houve 247 implantações, seguidas por 261 em julho e impressionantes 279 em agosto. Esses números destacam o compromisso do repositório com a integração contínua e lançamentos rápidos de recursos, tornando-o uma referência para frequência de implantação na comunidade de código aberto.
Isso representa quase uma implantação a cada três horas. Essa implantação de alta frequência não é apenas uma demonstração; mantém o projeto evoluindo a uma velocidade incrível. Como eles fazem isso? Alguns fatores principais se destacam:
Pipeline de CI/CD automatizado: com a automação implementada, as implantações são rápidas e suaves, quase como mágica.
PRs pequenos e frequentes: ao dividir as alterações em solicitações pull pequenas, eles podem mesclar e implantar mais rapidamente e com menos risco.
Resolução rápida de problemas: bugs são eliminados rapidamente e implantações com falha são raras.
Apesar de uma alta frequência de implantação, o repositório mostra flutuações notáveis no Tempo de Ciclo, o que impacta o Tempo de Espera geral para Mudanças. O tempo de ciclo inclui todos os PRs, enquanto o Lead Time inclui apenas PRs com dados de implantação disponíveis. Em junho de 2024, o tempo médio do ciclo era de cerca de 3,5 dias, aumentando ligeiramente para 3,6 dias em julho e aumentando para 5,3 dias em agosto.
O tempo de ciclo tem aumentado, passando de 3,5 para 5,3 dias, indicando alguns atrasos no processo de desenvolvimento. Identificar gargalos, seja em revisões de código, testes ou tarefas manuais, e implementar testes automatizados ou planejamento aprimorado de sprint pode ajudar a reduzir isso.
Em junho de 2024, o tempo médio da primeira resposta foi de 1,6 dias (38,4 horas), indicando tratamento rápido e eficiente de problemas e solicitações pull no repositório Next.js. Em julho de 2024, esse tempo aumentou ligeiramente para 1,8 dias (43,2 horas), sugerindo um pequeno atraso, provavelmente devido a um número crescente de problemas ou à disponibilidade reduzida da equipe.
No entanto, em agosto de 2024, houve um salto significativo para 2,6 dias (62,4 horas), sugerindo atrasos perceptíveis, possivelmente causados por cargas de trabalho mais altas, gargalos nas atribuições dos revisores ou menos membros da equipe devido a férias.
Para melhorar o tempo de primeira resposta, diversas estratégias podem ser implementadas para lidar com o recente aumento nos atrasos. Automatizar notificações para problemas e solicitações pull pode garantir atribuição mais rápida aos revisores, reduzindo o tempo de espera.
A introdução de SLAs (Acordos de Nível de Serviço) para tempos de resposta poderia criar responsabilidade e incentivar um envolvimento mais rápido. Além disso, a revisão da alocação da equipe e da distribuição da carga de trabalho pode ajudar a equilibrar as responsabilidades, especialmente durante períodos de alta demanda ou disponibilidade reduzida da equipe, como férias.
Incentivar a colaboração multifuncional também pode permitir respostas mais rápidas, distribuindo a carga pela equipe de maneira mais uniforme. Essas mudanças poderiam efetivamente reduzir os tempos de resposta e manter a eficiência.
De junho a agosto de 2024, o prazo para mudanças no repositório Next.js aumentou gradualmente de 3,3 dias para 4,1 dias. Em junho, o retorno relativamente rápido de 3,3 dias refletiu um fluxo de trabalho eficiente com coordenação tranquila. Em julho, esse número aumentou ligeiramente para 3,6 dias, sugerindo pequenas ineficiências, possivelmente devido a revisões de código mais longas ou tarefas mais complexas.
No entanto, em agosto, o prazo de entrega atingiu 4,1 dias, indicando atrasos mais significativos, provavelmente causados por cargas de trabalho mais altas, gargalos nas revisões ou redução da capacidade da equipe devido a férias. Esta tendência sugere a necessidade de otimizar processos e evitar novas desacelerações.
Motivos?
Tempos de revisão estendidos. Por exemplo, PR nº 67498
Tarefas complexas que envolvem análise e testes profundos. RP #67391
Flutuações nos tempos de primeira resposta (de 1,6 a 2,6 dias) causam tempos de início irregulares para revisões, atrasando o progresso.
O repositório OpenSource Next.js inclui uma variedade de atividades, desde atualizações de recursos e eliminação de bugs até melhoria da documentação e refinamento de testes. Aqui está uma análise de alguns insights importantes:
Recursos e melhorias: revisões incluindo otimizações de desempenho (PR #67397), novas funcionalidades (PR #67215).
Documentação: Contribuições significativas para a documentação garantem clareza e adoção mais fácil (PR #67056).
Correções de bugs: abordando correções de bugs críticos, destacadas por 41,5 horas (~1,7 dias) de tempo de retrabalho (PR #67022).
Otimizações de desempenho: aumentando a velocidade e a eficiência da estrutura (PR #67065).
Essas atualizações posicionam Next.js como líder em desenvolvimento web. No entanto, muitas das áreas que precisam de melhorias – tempo de ciclo, primeira resposta e prazo de entrega – podem se beneficiar de maior automação em testes, revisões de código e notificações.
Para otimizar ainda mais, eles podem rastrear gargalos em seu pipeline, independentemente de eles ocorrerem durante a revisão de código, teste ou implantação, e direcionar essas áreas para aumentar o desempenho geral. Além disso, promover feedback contínuo por meio de stand-ups ou retrospectivas mais frequentes pode ajudar a identificar e resolver pontos de atrito. Ao focar nessas estratégias, você pode criar um pipeline de desenvolvimento e implantação mais eficiente e simplificado.
Para colaboradores internos, o rápido ciclo de implantação é um sonho. Recursos e correções são implementados rapidamente, o que significa que a equipe recebe feedback quase em tempo real. No entanto, o alto prazo de entrega pode fazer com que alguns colaboradores se sintam presos em uma longa fila, esperando que seu trabalho seja publicado.
Para colaboradores externos, compreender esses gargalos pode definir expectativas mais claras. Se você estiver contribuindo para Next.js, não se surpreenda se seu PR demorar um pouco para ser mesclado, mesmo que as implantações aconteçam com frequência.
Invista em automação: um pipeline sólido de CI/CD pode manter as implantações fluindo como água.
Incentive PRs pequenos e frequentes: menos complexidade significa revisões e implantações mais rápidas.
Resolva os gargalos no tempo de ciclo: se o tempo de entrega estiver atrasado, investigue o que está causando os atrasos, seja o tempo de retrabalho ou de revisão.
Next.js tem uma frequência de implantação impressionante que está aumentando, mas seu tempo de espera, tempo de ciclo e tempos de primeira resposta precisam de alguma atenção. Com alguns ajustes estratégicos, eles têm potencial para se tornarem fortes concorrentes contra os melhores desempenhos no relatório anual Dora do Google,
Next.js estabeleceu uma nova referência em eficiência de implantação, tornando-o aquele a ser observado no mundo do código aberto. Com a sua combinação imbatível de velocidade, qualidade e inovação constante, deixa pouco espaço para os concorrentes o alcançarem. Quer você seja um colaborador ativo ou um espectador curioso, há muito o que admirar — e aprender — com este repositório pioneiro.
À medida que o Next.js continua a evoluir, ele não está apenas acompanhando as demandas da web; está moldando-os. Prepare-se para mais atualizações inovadoras que redefinem a excelência do código aberto!
Se você quiser explorar mais esses insights e se conectar com outros líderes de engenharia, junte-se a nós na The Middle Out Community. e assine o boletim informativo para estudos de caso exclusivos e muito mais!
Next.js foi criado por Vercel (anteriormente Zeit) em 2016 e rapidamente ganhou popularidade devido aos seus poderosos recursos para a construção de aplicativos React renderizados no lado do servidor. Ele oferece suporte à geração de sites estáticos (SSG) e à renderização do lado do servidor (SSR), tornando-o uma escolha flexível para desenvolvedores. Grandes empresas como Netflix, Twitch e GitHub usam Next.js para potencializar seus aplicativos web, demonstrando sua confiabilidade e escalabilidade.
Métricas de Middleware e Dora
Guias de integração contínua
Metodologia Dora Métricas
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3