In che modo Chrome prepara gli aggiornamenti per miliardi di utenti

Nora O'Neill
Nora O'Neill

Ogni mese rilasciamo una nuova versione di Chrome per assicurarci che i nostri miliardi di utenti e aziende in tutto il mondo ricevano le funzionalità più recenti, gli aggiornamenti della sicurezza e gli upgrade delle prestazioni. Inoltre, ora siamo in grado di apportare miglioramenti e risolvere i problemi più velocemente che mai grazie a un ciclo di rilascio più rapido, il che significa che riceverai gli ultimi aggiornamenti ancora più spesso.

Abbiamo chattato con i Technical Program Manager Ben Henry, Krishna Govind, Harry Souders, Srinivas Sista e Brandon Heenan del team di rilascio di Chrome per un'analisi dettagliata del modo in cui si coordinano con i team di Google in tutto il mondo per garantire che ogni release proceda senza problemi.

D. In che modo il tuo team si prepara per ogni release di Chrome?

Ben: Innanzitutto, il nostro team è composto da sette persone che lavorano a tempo pieno in due aree geografiche principali. Pensiamo che prepararsi per un lancio sia come la programmazione dei treni. Per prepararci a una release per gli obiettivi di Chrome, utilizziamo quattro canali di rilascio (Canary, Dev, Beta e Stabile). Man mano che procediamo nella procedura, ogni canale ha più utenti di Chrome. In questo modo possiamo ricevere feedback sulla stabilità e sulle prestazioni di Chrome con l'obiettivo di individuare i problemi di qualità del prodotto il prima possibile. Prestiamo molta attenzione a ciò che dicono utenti e sviluppatori sui social media, negli articoli di stampa e nelle segnalazioni di bug per contribuire a individuare quello che ci manca. Il nostro team di tecnici e product manager può quindi utilizzare questo feedback per apportare miglioramenti alle funzionalità.

Successivamente, eseguiamo diverse fasi di test per rilevare eventuali problemi di qualità, utilizzando prima sistemi automatici in esecuzione di continuo, quindi team di test che individuano i bug manualmente.

D. Puoi condividere un recente esempio di feedback di uno sviluppatore esterno che è stato utile per assicurarti di aver fornito la migliore versione possibile?

Srinivas: ci affidiamo sempre ai nostri sviluppatori web per il feedback e l'adozione anticipata di funzionalità, come nuove API o modifiche alle specifiche con Chrome su iOS. A seguito del passaggio da due cifre a tre cifre (da 99 a 100), abbiamo condiviso delle linee guida con gli sviluppatori web per testare gli aspetti prima della modifica effettiva, al fine di assicurarci di incorporare il loro feedback e, soprattutto, di non danneggiare i loro siti. Questo ci ha aiutato a implementare la modifica senza grossi problemi per l'implementazione di M100.

D. Cosa succede se rilevi un bug o un problema di sicurezza durante l'implementazione di un aggiornamento di Chrome?

Krishna: ci assicuriamo di implementare gradualmente le nuove release di Chrome per gli utenti. Il push delle nuove release non viene immediatamente inviato al 100% degli utenti. Se rileviamo un bug critico, interrompiamo l'implementazione delle versioni interessate per limitarne gli effetti. Dopodiché collaboriamo con i team di Chrome in tutto il mondo per sviluppare una correzione e applicare le patch a Chrome nel modo più rapido e sicuro possibile. Una volta verificata la correzione, creiamo una nuova versione di Chrome e riavviiamo la procedura di implementazione. Alla fine della giornata, la maggior parte degli utenti non riscontra mai questo problema, in quanto è stato risolto prima dell'implementazione della release. Per i problemi di sicurezza, seguiamo le norme relative alla informativa su Project Zero. Quindi, quando vengono sfruttate attivamente delle vulnerabilità in natura, il nostro obiettivo è rilasciare tale correzione per gli utenti del nostro canale stabile entro sette giorni.

D. È necessario un ulteriore lavoro per garantire che le release di Chrome siano pronte per le aziende?

Brandon: uno dei nostri principali obiettivi è garantire che Chrome rimanga una piattaforma stabile e affidabile per le tante attività che dipendono da noi. Ciò significa offrire alle aziende l'accesso alle funzionalità migliori e più recenti che vogliono che i loro dipendenti possano sfruttare, aiutandole a evitare potenziali interruzioni del loro lavoro. Poiché le esigenze aziendali sono uniche e qualsiasi tempo di inattività può danneggiare un'azienda, Chrome ha indicazioni specifiche per i nostri team di tecnici e di prodotto. Esaminiamo ogni lancio di funzionalità per garantire che ogni release di Chrome sia "ottimizzata per le aziende". Ad esempio, puoi avvisare le aziende di importanti modifiche nelle nostre note di rilascio di Chrome Enterprise. E per una maggiore tranquillità, gli amministratori IT possono controllare molte modifiche con un criterio aziendale. Pertanto, se preferisce eseguire test interni o disattivare una nuova funzionalità, può farlo. Per evitare problemi imprevisti, disponiamo di un'infrastruttura di test dedicata progettata per simulare ambienti aziendali (ad esempio, l'esecuzione di Chrome su dispositivi aggiunti a un dominio Active Directory) che utilizziamo per testare tutte le release di Chrome.

Chrome fornisce inoltre una gamma di controlli degli aggiornamenti a scuole e aziende. Gli amministratori possono controllare la versione specifica di Chrome, eseguire il rollback alle versioni precedenti e sfruttare il nostro canale di rilascio stabili esteso e completamente supportato. Puoi trovare informazioni dettagliate in questo documento tecnico. Gli amministratori che vogliono avere una visibilità completa sullo stato di aggiornamento del parco risorse possono utilizzare il report versione incluso in Chrome Browser Cloud Management.

D. Ci sono modifiche che il tuo team intende apportare in futuro?

Harry: siamo sempre alla ricerca di modi per migliorare Chrome per i nostri utenti e sviluppatori, soprattutto se si tratta di abbreviare il ciclo di rilascio. In questo modo, gli utenti vedranno un Chrome più stabile con correzioni di bug più veloci e nuove funzionalità. Sappiamo anche che i nostri ingegneri e product manager traggono vantaggio da una maggiore velocità di sviluppo grazie a uno sviluppo delle funzionalità più rapido, cicli di iterazione più rapidi e una maggiore integrità del codice. Supponiamo che un product manager voglia lanciare una funzionalità per tutti gli utenti di Chrome. Potrebbero trascorrere fino a 16 settimane dal momento in cui la funzionalità è "completata" al momento in cui diventa disponibile pubblicamente. Accorciando il ciclo di rilascio di sole due settimane, possiamo ridurre notevolmente il tempo di risposta per il lancio di una nuova funzionalità.