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

Nora o'Neill
Nora O'Neill

Todo mês, lançamos uma nova versão do Chrome para garantir que bilhões de usuários e empresas no mundo todo tenham os recursos, as atualizações de segurança e de desempenho mais recentes. Além disso, agora podemos fazer melhorias e corrigir problemas mais rápido do que nunca com um ciclo de lançamento mais rápido, o que significa que você receberá as atualizações mais recentes com ainda mais frequência.

Conversamos com os gerentes técnicos de programa Ben Henry, Krishna Govind, Harry Souders, Srinivas Sista e Brandon Heenan, da equipe de lançamento do Chrome, para saber como eles coordenam as equipes do Google ao redor do mundo para garantir que cada lançamento ocorra sem problemas.

P: Como sua equipe se prepara para cada lançamento do Chrome?

Ben: Para começar, nossa equipe é composta por sete pessoas que trabalham em tempo integral em duas regiões principais. Acreditamos que a preparação para um lançamento é como uma programação de trens. Usamos quatro canais de lançamento (Canary, Dev, Beta e Stable) para nos preparar para o lançamento de uma versão importante do Chrome. Conforme avançamos no processo, cada canal fica com 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 rápido possível. Prestamos muita 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 detectar o que está faltando. Nossa equipe de engenheiros e gerentes de produto pode usar esses comentários para fazer melhorias nos recursos.

Em seguida, fazemos várias rodadas de testes para detectar problemas de qualidade, primeiro usando sistemas automatizados de execução contínua e depois com equipes de teste que encontram bugs manualmente.

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

Srinivas: Sempre confiamos nos nossos desenvolvedores da Web para receber feedback e a adoção antecipada de recursos, como novas APIs ou alterações nas especificações do Chrome no iOS. Com a mudança do marco importante de dois para três dígitos (99 para 100), compartilhamos diretrizes com os desenvolvedores da Web para fazer testes antes da mudança real, garantindo que incorporamos o feedback deles e, o mais importante, que os sites deles não sejam corrompidos. Isso nos ajudou a implementar a mudança com sucesso sem nenhum grande problema para o lançamento do M100.

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

Krishna: Lançamos gradualmente as novas versões do Chrome para os usuários. Os lançamentos não são enviados imediatamente para 100% dos usuários. Se encontrarmos um bug crítico, interromperemos o lançamento das versões afetadas para limitar os efeitos. Em seguida, coordenamos com equipes do Chrome no mundo todo para desenvolver uma correção e fazer as correções necessárias da forma mais rápida e segura possível. Assim que essa correção for verificada, criaremos uma nova versão do Chrome e iniciaremos o processo de implementação novamente. No fim das contas, a maioria dos usuários não encontra o problema, porque ele foi corrigido antes do lançamento da versão. Para problemas de segurança, seguimos a política de divulgação do projeto zero. Portanto, quando há vulnerabilidades sendo exploradas ativamente, temos o objetivo de lançar essa correção para os usuários do nosso canal estável em até sete dias.

P: É necessário fazer mais alguma coisa 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 aos melhores e mais recentes recursos que elas querem que seus funcionários aproveitem, ajudando a evitar possíveis interrupções no trabalho. Como as necessidades das empresas 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 "adequada para empresas". Isso inclui informar as empresas sobre mudanças importantes nas notas da versão do Chrome Enterprise. E, para ter mais tranquilidade, os administradores de TI podem controlar várias mudanças com uma política corporativa. Portanto, se preferirem fazer testes internos ou desativarem um novo recurso, eles podem fazer exatamente isso. Para evitar problemas inesperados, temos uma infraestrutura dedicada que simula ambientes corporativos (por exemplo, a execução do Chrome em dispositivos de domínio do Active Directory) que usamos para testar todas as versões do Chrome.

O Chrome também oferece diversos controles de atualização para escolas e empresas. Os administradores podem controlar a versão específica do Chrome, reverter para versões mais antigas e aproveitar nosso canal de lançamento estável estendido totalmente compatível. Confira mais detalhes neste documento técnico. Os administradores que querem ter visibilidade total do status de atualização dos dispositivos podem usar o relatório de versões incluído no Gerenciamento de nuvem do navegador Chrome.

P: Há alguma mudança que sua equipe espera fazer no futuro?

Harry: Estamos sempre procurando maneiras de melhorar o Chrome para nossos usuários e desenvolvedores, principalmente para encurtar o ciclo de lançamento. Assim, o Chrome fica 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 de recursos e aos ciclos de iteração mais rápidos, além do aumento da 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 a partir da conclusão do recurso até a disponibilidade geral. Ao encurtar o ciclo de lançamento em apenas algumas semanas, podemos reduzir significativamente o tempo de espera para lançar um novo recurso.