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 garantire ai miliardi di utenti e attività in tutto il mondo le funzionalità più recenti, gli aggiornamenti della sicurezza e gli upgrade delle prestazioni. Ora, grazie a un ciclo di rilascio più rapido, siamo in grado di apportare miglioramenti e risolvere i problemi più velocemente che mai, il che significa che riceverai gli aggiornamenti più recenti ancora più spesso.

Abbiamo parlato con i Technical Program Manager Ben Henry, Krishna Govind, Harry Souders, Srinivas Sista e Brandon Heenan del team di rilascio di Chrome per scoprire come si coordinano con i team di Google di tutto il mondo per garantire il buon andamento di ogni rilascio.

D: In che modo il tuo team si prepara a ogni release di Chrome?

Ben: innanzitutto, il nostro team è composto da sette persone che lavorano a tempo pieno in due aree geografiche principali. Riteniamo che la preparazione di una release sia come un orario ferroviario. Utilizziamo quattro canali di rilascio (Canary, Dev, Beta e Stabile) per prepararci al rilascio di una release principale di Chrome. Man mano che avanziamo nella procedura, ogni canale ha più utenti di Chrome. In questo modo possiamo ottenere feedback sulla stabilità e sulle prestazioni di Chrome con l'obiettivo di rilevare i problemi di qualità del prodotto il prima possibile. Prestiamo molta attenzione a ciò che dicono gli utenti e gli sviluppatori sui social media, negli articoli di stampa e nelle segnalazioni di bug per rilevare eventuali problemi. Il nostro team di tecnici e product manager può quindi utilizzare questi feedback per apportare miglioramenti alle funzionalità.

Poi, eseguiamo diversi cicli di test per rilevare eventuali problemi di qualità, innanzitutto utilizzando sistemi automatici che funzionano in modo continuo e poi con i team di test che trovano i bug manualmente.

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

Srinivas: ci affidiamo sempre ai nostri sviluppatori web per ricevere feedback e adottare in anteprima le funzionalità, ad esempio nuove API o modifiche alle specifiche di Chrome su iOS. Con il passaggio importante da due cifre a tre cifre (da 99 a 100), abbiamo condiviso linee guida con gli sviluppatori web per testare tutto prima della modifica effettiva, in modo da incorporare i loro feedback e, soprattutto, non interrompere i loro siti. In questo modo, abbiamo potuto implementare la modifica senza problemi significativi 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. Le nuove release non vengono inviate immediatamente al 100% degli utenti. Se rileviamo un bug critico, interrompiamo l'implementazione delle versioni interessate per limitarne gli effetti. Ci coordiniamo poi con i team di Chrome di tutto il mondo per sviluppare una correzione e applicare una patch a Chrome il più rapidamente e in sicurezza possibile. Una volta verificata la correzione, viene creata una nuova versione di Chrome e viene riavviata la procedura di implementazione. Alla fine, la maggior parte degli utenti non riscontrerà mai il problema perché verrà risolto prima dell'implementazione della release. Per i problemi di sicurezza, seguiamo le norme relative alle divulgazioni di Project Zero. Pertanto, quando vengono sfruttate attivamente vulnerabilità in ambienti reali, il nostro obiettivo è rilasciare la correzione per gli utenti del canale stabile entro sette giorni.

D: È necessario fare altro per assicurarsi che le release di Chrome siano pronte per le aziende?

Brandon: uno dei nostri obiettivi principali è garantire che Chrome rimanga una piattaforma stabile e affidabile per le molte attività che si affidano a noi. Ciò significa dare alle aziende l'accesso alle funzionalità migliori e più recenti che vogliono che i propri dipendenti utilizzino, aiutandole al contempo a evitare potenziali interruzioni del lavoro. Poiché le esigenze delle aziende sono uniche e qualsiasi tempo di riposo può danneggiarle, Chrome dispone di indicazioni specifiche per i nostri team di ingegneria e prodotto e esaminiamo ogni lancio di funzionalità per garantire che ogni release di Chrome sia "adatta alle aziende". Ciò include l'invio di avvisi alle aziende in merito a modifiche importanti nelle nostre note di rilascio di Chrome Enterprise. Per una maggiore tranquillità, gli amministratori IT possono controllare molte modifiche con un criterio aziendale. Quindi, se preferiscono eseguire test interni o disattivare una nuova funzionalità, possono farlo. Per evitare problemi imprevisti, abbiamo un'infrastruttura di test dedicata progettata per simulare ambienti aziendali (ad esempio l'esecuzione di Chrome su dispositivi con dominio Active Directory) che utilizziamo per testare tutte le release di Chrome.

Chrome offre anche una serie di controlli degli aggiornamenti per scuole e aziende. Gli amministratori possono controllare la versione specifica di Chrome, eseguire il rollback a versioni precedenti e usufruire del nostro canale di rilascio stabile esteso completamente supportato. Puoi leggere i dettagli in questo documento tecnico. Gli amministratori che vogliono avere una visibilità completa sullo stato dell'aggiornamento del proprio parco possono utilizzare il report Versioni incluso in Chrome Browser Cloud Management.

D: Il tuo team prevede di apportare modifiche in futuro?

Harry: siamo sempre alla ricerca di modi per migliorare Chrome per i nostri utenti e sviluppatori, in particolare per accorciare il ciclo di rilascio. In questo modo, gli utenti vedranno un Chrome più stabile con correzioni di bug più rapide e nuove funzionalità. Sappiamo inoltre che i nostri tecnici e product manager traggono vantaggio da una maggiore velocità di sviluppo grazie a un più rapido sviluppo delle funzionalità, a cicli di iterazione più rapidi e a un miglioramento dell'integrità del codice. Supponiamo che un product manager voglia lanciare una funzionalità per tutti gli utenti di Chrome. Possono essere necessarie fino a 16 settimane dal momento in cui la funzionalità è "completata" a quello in cui sarà disponibile a livello generale. Abbreviando il ciclo di rilascio di appena un paio di settimane, possiamo ridurre notevolmente il tempo necessario per lanciare una nuova funzionalità.