Jak Chrome przygotowuje aktualizacje dla miliardów użytkowników

Nora O'Neill
Nora O'Neill

Co miesiąc udostępniamy nową wersję Chrome, aby zapewnić miliardom użytkowników i firm na całym świecie dostęp do najnowszych funkcji, aktualizacji zabezpieczeń i ulepszeń wydajności. Obecnie możemy wprowadzać ulepszenia i rozwiązywać problemy szybciej niż kiedykolwiek wcześniej, mając krótszy cykl publikowania, co oznacza, że najnowsze aktualizacje będziesz otrzymywać jeszcze częściej.

Rozmawialiśmy z menedżerami ds. technicznych, Ben Henrym, Krishną Govind, Harrym Soudersem, Srinivasem Sista i Brandonem Heenanem, z zespołu ds. wersji Chrome, aby dowiedzieć się, jak współpracują z zespołami Google na całym świecie i umożliwiają bezproblemowe korzystanie z każdej wersji.

P. Jak Twój zespół przygotowuje się do każdej wersji Chrome?

Ben: Na początek nasz zespół składa się z 7 osób pracujących na pełny etat w 2 głównych regionach geograficznych. Według nas przygotowanie do premiery jest jak rozkład jazdy pociągów. W ramach przygotowań do wprowadzenia nowej wersji Chrome korzystamy z 4 kanałów wersji – Canary, Dev, Beta i Stabil. Wraz z procesem zmienia się liczba użytkowników Chrome w każdym kanale. Dzięki temu możemy poznać opinie o stabilności i wydajności Chrome, które pozwolą nam jak najszybciej wykryć ewentualne problemy z jakością produktu. Zwracamy szczególną uwagę na to, co użytkownicy i deweloperzy mówią w mediach społecznościowych, artykułach prasowych i raportach o błędach, dzięki czemu możemy wyłapać wszystko, czego brakuje. Nasz zespół inżynierów i menedżerów produktów może wykorzystać te opinie do ulepszania funkcji.

Następnie przeprowadzamy kilka rund testów, aby wykryć ewentualne problemy z jakością. Najpierw korzystamy z automatycznych systemów, które działają w sposób ciągły, a potem przeprowadzamy testy z pomocą zespołów testujących, które wykrywają błędy ręcznie.

P. Czy możesz udostępnić niedawny przykład opinii zewnętrznego dewelopera, która pomogła nam upewnić się, że dostarczana jest najlepsza możliwa wersja?

Srinivas: opinie i wstępne wdrażanie funkcji, takich jak nowe interfejsy API czy zmiany specyfikacji Chrome na iOS, zawsze polegamy na naszych programistach. W związku ze zmianą liczb z dwóch cyfr na 3 cyfry (99 do 100) udostępniliśmy programistom stron internetowych wytyczne, które pozwolą nam sprawdzić działanie aplikacji jeszcze przed wprowadzeniem zmiany, aby mieć pewność, że wykorzystamy ich opinie, a co najważniejsze – nie naruszymy ich stron. Pomogło nam to wdrożyć tę zmianę bez poważniejszych problemów z wdrożeniem wersji M100.

P. Co się stanie, jeśli podczas wdrażania aktualizacji Chrome zauważysz błąd lub problem z bezpieczeństwem?

Krishna: stopniowo udostępniamy użytkownikom nowe wersje Chrome. Nie są one od razu dostępne dla wszystkich użytkowników. Jeśli znajdziemy błąd krytyczny, wstrzymujemy wdrażanie wersji, których dotyczył problem, aby ograniczyć jego skutki. Następnie współpracujemy z zespołami Chrome na całym świecie, aby jak najszybciej i bezpiecznie opracować poprawkę i zainstalować poprawkę. Po zweryfikowaniu tej poprawki tworzymy nową wersję Chrome i ponownie rozpoczynamy proces wdrażania. Ostatecznie większość użytkowników nigdy nie napotka tego problemu, ponieważ został on naprawiony przed udostępnieniem wersji. W przypadku problemów z bezpieczeństwem przestrzegamy zasad dotyczących ujawniania informacji o Project Zero. W przypadku wykrycia zagrożeń, które są aktywnie wykorzystywane w środowisku naturalnym, planujemy udostępnić tę poprawkę użytkownikom wersji stabilnej w ciągu 7 dni.

P. Czy konieczne jest wykonanie dodatkowych czynności, aby przygotować wersje Chrome dla firm?

Brandon: jednym z naszych najważniejszych celów jest zapewnienie, że Chrome pozostanie stabilną i niezawodną platformą dla wielu, na których zależy firmom. Oznacza to zapewnienie firmom dostępu do najlepszych i najnowszych funkcji, z których pracownicy będą mogli korzystać, a jednocześnie pomogą im uniknąć potencjalnych przerw w pracy. Potrzeby biznesowe są wyjątkowe, a przerwy w pracy mogą mieć negatywny wpływ na firmę, dlatego zespół inżynierów i zespołów ds. usług przygotowuje specjalne wskazówki dotyczące Chrome. Każdą wersję Chrome sprawdzamy, aby upewnić się, że każda wersja Chrome jest „przyjazna dla firmy”. Obejmuje to m.in. poinformowanie firm o ważnych zmianach w informacjach o wersji Chrome Enterprise. Dla większego bezpieczeństwa administratorzy IT mogą kontrolować wiele zmian za pomocą zasad przedsiębiorstwa. Jeśli więc wolą przeprowadzić testy wewnętrzne lub zrezygnować z nowej funkcji, mogą to zrobić. Aby zapobiegać nieoczekiwanym problemom, udostępniamy dedykowaną infrastrukturę testową służącą do symulowania środowisk firmowych (na przykład podczas uruchamiania Chrome na urządzeniach przyłączonych do domeny Active Directory), której używamy do testowania wszystkich wersji Chrome.

Chrome udostępnia też szkołom i firmom szereg opcji kontroli aktualizacji. Administratorzy mogą kontrolować konkretną wersję Chrome, przywracać starsze wersje i korzystać z naszego w pełni obsługiwanego kanału wersji stabilnej rozszerzonej. Szczegółowe informacje znajdziesz w tym dokumencie technicznym. Administratorzy, którzy chcą mieć pełny wgląd w stan aktualizacji floty, mogą skorzystać z raportu wersji w ramach zarządzania przeglądarką Chrome w chmurze.

P. Czy Pana/Pani zespół zamierza wprowadzić w przyszłości jakieś zmiany?

Harry: zawsze szukamy sposobów na ulepszenie Chrome dla użytkowników i deweloperów, zwłaszcza jeśli chodzi o skrócenie cyklu publikowania. W ten sposób użytkownicy będą mogli korzystać z stabilniejszej wersji Chrome z szybszymi poprawkami błędów i nowymi funkcjami. Wiemy też, że nasi inżynierowie i menedżerowie produktu czerpią korzyści z większej szybkości programowania dzięki szybszemu tworzeniu funkcji, szybszym cyklom iteracji i poprawie stanu kodu. Załóżmy, że menedżer produktu chce udostępnić jakąś funkcję wszystkim użytkownikom Chrome. Od chwili uruchomienia funkcji do jej udostępnienia wszystkim może upłynąć do 16 tygodni. Skracając cykl publikacji o kilka tygodni, możemy znacznie skrócić czas wprowadzania na rynek nowej funkcji.