Como o Chrome prepara atualizações para bilhões de usuários

Nora O'Neill
Nora O'Neill

Todos os meses, lançamos uma nova versão do Chrome para garantir que bilhões de usuários e empresas em todo o mundo tenham os recursos, as atualizações de segurança e os upgrades de desempenho mais recentes. Agora, podemos fazer melhorias e corrigir problemas mais rapidamente do que nunca com um ciclo de lançamento mais rápido, o que significa que você vai receber as atualizações mais recentes com mais frequência.

Conversamos com os gerentes de programa técnico Ben Henry, Krishna Govind, Harry Souders, Srinivas Sista e Brandon Heenan da equipe de lançamento do Chrome para saber como eles se coordenam com as equipes do Google em todo o mundo para garantir que cada lançamento seja tranquilo.

P: Como sua equipe se prepara para cada versão do Chrome?

Ben:nossa equipe é composta por sete pessoas que trabalham em tempo integral em duas regiões principais. A preparação para um lançamento é como um horário de trem. Usamos quatro canais de lançamento (Canary, Dev, Beta e Stable) para nos prepararmos para um lançamento de marco do Chrome. À medida que avançamos no processo, cada canal tem mais usuários do Chrome. Isso nos permite receber feedback sobre a estabilidade e o desempenho do Chrome com o objetivo de descobrir problemas de qualidade no produto o mais cedo possível. Prestamos atenção ao que os usuários e desenvolvedores dizem nas mídias sociais, em artigos de imprensa e em relatórios de bugs para ajudar a detectar o que estiver faltando. Nossa equipe de engenheiros e gerentes de produto pode usar esse feedback para melhorar os recursos.

Em seguida, fazemos várias rodadas de testes para detectar problemas de qualidade, primeiro usando sistemas automatizados que são executados continuamente e, em seguida, com equipes de teste que encontram bugs manualmente.

P: Você pode compartilhar um exemplo recente de feedback de um desenvolvedor externo que foi útil para garantir que você enviou a melhor versão possível?

Srinivas:sempre contamos com nossos desenvolvedores da Web para receber feedback e adotar recursos com antecedência, como novas APIs ou mudanças de especificação no Chrome para iOS. Com a mudança importante de dois para três dígitos (99 a 100), compartilhamos diretrizes com desenvolvedores da Web para testar as coisas antes da mudança real, garantindo que incorporássemos o feedback deles e, mais importante, não quebrássemos os sites. Isso nos ajudou a lançar a mudança sem problemas graves para o lançamento do M100.

P: O que acontece se você encontrar um bug ou problema de segurança durante o lançamento de uma atualização do Chrome?

Krishna:lançamos as novas versões do Chrome para os usuários de forma gradual. Os novos lançamentos não são enviados imediatamente para 100% dos usuários. Se encontrarmos um bug crítico, vamos interromper o lançamento das versões afetadas para limitar os efeitos. Em seguida, coordenamos com as equipes do Chrome em todo o mundo para desenvolver uma correção e um patch do Chrome o mais rápido e seguro possível. Depois que a correção for verificada, vamos criar uma nova versão do Chrome e iniciar o processo de lançamento novamente. No final das contas, a maioria dos usuários nunca vai ter esse problema porque ele será corrigido antes do lançamento. Para problemas de segurança, seguimos a política de divulgação do Project Zero. Portanto, quando há vulnerabilidades sendo ativamente exploradas, nosso objetivo é lançar a correção para os usuários do canal estável em até sete dias.

P: Há mais trabalho para garantir que as versões do Chrome estejam prontas para as empresas?

Brandon:uma das nossas principais metas é garantir que o Chrome continue sendo uma plataforma estável e confiável para as muitas empresas que dependem de nós. Isso significa dar às empresas acesso às melhores e mais recentes funcionalidades que elas querem que as pessoas usem, além de ajudar a evitar possíveis interrupções no trabalho. Como as necessidades de negócios são únicas e qualquer tempo de inatividade pode prejudicar uma empresa, o Chrome tem orientações específicas para nossas equipes de engenharia e produto. Analisamos cada lançamento de recurso para garantir que cada versão do Chrome seja "amigável para empresas". Isso inclui avisar as empresas sobre mudanças importantes nas notas da versão do Chrome Enterprise. E para mais tranquilidade, os administradores de TI podem controlar muitas mudanças com uma política corporativa. Assim, se eles preferirem fazer testes internos ou desativar um novo recurso, poderão fazer isso. Para evitar problemas inesperados, temos uma infraestrutura de teste dedicada projetada para simular ambientes corporativos (por exemplo, executar o Chrome em dispositivos do Active Directory) que usamos para testar todas as versões do Chrome.

O Chrome também oferece uma variedade de controles de atualização para escolas e empresas. Os administradores podem controlar a versão específica do Chrome, fazer o downgrade para versões mais antigas e aproveitar o Canal Stable estendido com suporte total. Leia os detalhes neste documento técnico. Os administradores que querem ter visibilidade total sobre o status de atualização da frota podem usar o Relatório de versão incluído no Gerenciamento de nuvem do navegador Chrome.

P: Sua equipe pretende fazer alguma mudança no futuro?

Harry:estamos sempre procurando maneiras de melhorar o Chrome para nossos usuários e desenvolvedores, especialmente quando se trata de encurtar o ciclo de lançamento. Assim, os usuários terão um Chrome mais estável com correções de bugs mais rápidas e novos recursos. Também sabemos que nossos engenheiros e gerentes de produto se beneficiam da maior velocidade de desenvolvimento devido ao desenvolvimento mais rápido de recursos, ciclos de iteração mais rápidos e maior integridade do código. Digamos que um gerente de produto queira lançar um recurso para todos os usuários do Chrome. Pode levar até 16 semanas entre o lançamento e a disponibilidade geral do recurso. Ao encurtar o ciclo de lançamento em apenas algumas semanas, podemos reduzir significativamente o tempo de lançamento de um novo recurso.