Ogni mese rilasciamo una nuova versione di Chrome per assicurarci che i nostri miliardi di utenti e aziende in tutto il mondo dispongano delle funzionalità, degli aggiornamenti della sicurezza e delle prestazioni più recenti. 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 parlato con i Technical Program Manager Ben Henry, Krishna Govind, Harry Souders, Srinivas Sista e Brandon Heenan del team di rilascio di Chrome per uno sguardo ravvicinato su come si coordinano con i team di Google in tutto il mondo per garantire che ogni release avvenga senza problemi.
D: Come si prepara il tuo team per ogni release di Chrome?
Ben: All'inizio, il nostro team è composto da sette persone che lavorano a tempo pieno in due principali aree geografiche. Pensiamo che prepararsi per un lancio sia come l'orario dei treni. Utilizziamo quattro canali di rilascio, Canary, Dev, Beta e Stable, per prepararci al rilascio di un traguardo di Chrome. Man mano che procediamo, ogni canale ha un numero maggiore di utenti di Chrome. In questo modo possiamo ricevere feedback sulla stabilità e sulle prestazioni di Chrome con l'obiettivo di rilevare i problemi di qualità nel prodotto il prima possibile. Prestiamo particolare attenzione a ciò che gli utenti e gli sviluppatori dicono sui social media, negli articoli di stampa e nelle segnalazioni di bug per aiutarci a capire tutto ciò che ci manca. Il nostro team di ingegneri e product manager potrà quindi utilizzare questo feedback per migliorare le funzionalità.
Quindi, svolgiamo diversi cicli di test per rilevare eventuali problemi di qualità, prima utilizzando sistemi automatici a funzionamento continuo, poi con i team di test che individuano i bug manualmente.
D: Puoi condividere un esempio recente di feedback di uno sviluppatore esterno che è stato utile per assicurarti di avere fornito la versione migliore possibile?
Srinivas: ci affidiamo sempre ai nostri sviluppatori web per il feedback e l'adozione anticipata di funzionalità, ad esempio nuove API o modifiche alle specifiche con Chrome su iOS. Con il cambiamento del nostro traguardo da due cifre a tre cifre (da 99 a 100), abbiamo condiviso linee guida con gli sviluppatori web per testare i prodotti prima della modifica effettiva per assicurarci di incorporare i loro feedback e, soprattutto, per non danneggiare i loro siti. In questo modo è stato possibile implementare la modifica senza grossi problemi per l'implementazione della versione M100.
D: Che 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 troviamo un bug critico, interrompiamo l'implementazione delle versioni interessate per limitarne gli effetti. Ci coordineremo quindi 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 questa correzione, creiamo una nuova versione di Chrome e iniziamo di nuovo la procedura di implementazione. In fin dei conti, il problema non si riscontrerà mai per la maggior parte degli utenti perché sarà stato risolto prima dell'implementazione della release. Per i problemi di sicurezza, seguiamo le norme relative all'informativa del progetto zero. Di conseguenza, quando delle vulnerabilità vengono sfruttate attivamente in natura, abbiamo l'obiettivo di rilasciare tale correzione agli utenti del nostro canale stabile entro sette giorni.
D: È necessario svolgere attività aggiuntive per garantire 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 numerose attività che dipendono da noi. Ciò significa dare alle aziende l'accesso alle funzionalità migliori e più recenti che vogliono far usare ai propri dipendenti, aiutandole a evitare potenziali interruzioni del lavoro. Poiché le esigenze aziendali sono uniche e i tempi di inattività possono danneggiare l'azienda, Chrome ha indicazioni specifiche per i nostri team tecnici e di prodotto. Esaminiamo ogni lancio di funzionalità per assicurarci che ogni release di Chrome sia "a misura di aziendale". Ciò include la segnalazione alle aziende di importanti cambiamenti nelle nostre note di rilascio di Chrome Enterprise. Inoltre, per una maggiore tranquillità, gli amministratori IT possono controllare molte modifiche con un criterio aziendale. Quindi, se preferiscono effettuare 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 Active Directory aggiunti al dominio) che utilizziamo per testare tutte le release di Chrome.
Chrome offre inoltre una serie 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 stabile esteso completamente supportato. Per i dettagli, consulta questo documento tecnico. Gli amministratori che vogliono una visibilità completa sullo stato di aggiornamento del proprio parco risorse possono utilizzare il report sulla versione incluso in Chrome Browser Cloud Management.
D: Ci sono modifiche che il tuo team sta cercando di apportare in futuro?
Harry: siamo sempre alla ricerca di modi per migliorare Chrome per i nostri utenti e sviluppatori, soprattutto quando si tratta di abbreviare il ciclo di rilascio. In questo modo, gli utenti vedranno Chrome più stabile con correzioni di bug più rapide e nuove funzionalità. Sappiamo anche che i nostri ingegneri e product manager traggono vantaggio da una maggiore velocità di sviluppo grazie a uno sviluppo più rapido delle funzionalità, a cicli di iterazione più rapidi e a un maggiore integrità del codice. Supponiamo che un product manager voglia lanciare una funzionalità per tutti gli utenti di Chrome. Potrebbero essere necessarie fino a 16 settimane dal completamento dell'attivazione della funzionalità. fino a quando sarà in disponibilità generale. Abbreviando il ciclo di rilascio di un paio di settimane, possiamo ridurre notevolmente i tempi di lancio di una nuova funzionalità.