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

Nora O'Neill
Nora O'Neill

Co miesiąc wydajemy nową wersję Chrome, aby zapewnić miliardom użytkowników i firm na całym świecie dostęp do najnowszych funkcji, aktualizacji zabezpieczeń i ulepszonego działania. Dzięki szybszemu cyklowi wydawniczemu możemy teraz wprowadzać ulepszenia i rozwiązywać problemy szybciej niż kiedykolwiek wcześniej. Oznacza to, że najnowsze aktualizacje będą pojawiać się jeszcze częściej.

Rozmawialiśmy z menedżerami technicznymi programów Benem Henrym, Krishna Govindem, Harrym Soudersem, Srinivasem Sistą i Brandonem Heenanem z zespołu odpowiedzialnego za wydania Chrome. Opowiedzieli nam, jak współpracują z zespołami Google na całym świecie, aby zapewnić płynne wdrożenia.

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

Ben: Nasz zespół składa się z 7 osób pracujących w pełnym wymiarze godzinowym w 2 głównych regionach geograficznych. Przygotowanie się do wydania jest jak planowanie podróży pociągiem. Aby przygotować się do wydania głównego przeglądarki Chrome, używamy 4 kanałów wersji: Canary, deweloperskiej, beta i stabilnej. W miarę postępów procesu każdy kanał ma więcej użytkowników Chrome. Dzięki temu możemy uzyskać opinie na temat stabilności i działania Chrome, aby jak najszybciej wykrywać problemy z jakością usługi. Uważnie śledzimy, co użytkownicy i deweloperzy mówią w mediach społecznościowych, artykułach prasowych i zgłaszają w zgłoszeniach błędów, aby nie pominąć niczego istotnego. Nasz zespół inżynierów i menedżerów produktów może następnie wykorzystać te opinie do ulepszania funkcji.

Następnie przeprowadzamy kilka rund testów, aby wykryć wszelkie problemy z jakością. Najpierw używamy do tego automatycznych systemów, które działają nieprzerwanie, a potem zespołów testujących, które znajdują błędy ręcznie.

Pyt. Czy możesz podać przykład niedawnej opinii zewnętrznego dewelopera, która pomogła Ci w wypuszczeniu najlepszej możliwej wersji?

Srinivas: zawsze liczymy na opinie naszych programistów stron internetowych i na wczesne wdrażanie funkcji, takich jak nowe interfejsy API czy zmiany specyfikacji w Chrome na iOS. W związku z ważną zmianą z 2 cyfr na 3 cyfry (z 99 na 100) udostępniliśmy deweloperom stron internetowych wskazówki dotyczące testowania przed wprowadzeniem zmiany. Dzięki temu mogliśmy uwzględnić ich opinie i uniknąć problemów z działaniem witryn. Dzięki temu udało nam się wdrożyć tę zmianę bez większych problemów w przypadku wdrożenia wersji M100.

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

Krishna: nowe wersje Chrome są stopniowo udostępniane użytkownikom. Nowe wersje nie są od razu udostępniane 100% użytkowników. Jeśli znajdziemy krytyczny błąd, wstrzymujemy wdrażanie wersji, których dotyczy, aby ograniczyć jego skutki. Następnie współpracujemy z zespołami Chrome z całego świata, aby jak najszybciej i najbezpieczniej wprowadzić poprawkę. Po zweryfikowaniu poprawki tworzymy nową wersję Chrome i ponownie rozpoczynamy proces wdrażania. W efekcie większość użytkowników nigdy nie napotka tego problemu, ponieważ zostanie on rozwiązany, zanim wdrożenie dotrze do nich. W przypadku problemów z bezpieczeństwem przestrzegamy zasad Project Zero Disclosure. Dlatego, gdy w przypadku podatności, które są aktywnie wykorzystywane, chcemy wprowadzić poprawkę dla użytkowników kanału stabilnego w ciągu 7 dni.

Pyt. Czy trzeba wykonać dodatkowe czynności, aby zapewnić, że wersje Chrome są gotowe do użytku w firmach?

Brandon: jednym z naszych głównych celów jest zapewnienie, aby Chrome pozostał stabilną i niezawodną platformą dla wielu firm, które na nas polegają. Oznacza to, że firmy mają dostęp do najlepszych i najnowszych funkcji, z których chcą korzystać ich pracownicy, a jednocześnie pomagamy im uniknąć wszelkich zakłóceń w pracy. Potrzeby firm są wyjątkowe, a wszelkie przestoje mogą im zaszkodzić, dlatego Chrome zawiera specjalne wskazówki dla naszych zespołów inżynierów i produktów. Sprawdzamy każdą funkcję przed jej udostępnieniem, aby mieć pewność, że każda wersja Chrome jest „przyjazna dla przedsiębiorstw”. Obejmuje to powiadamianie firm o ważnych zmianach w informacjach o wersji Chrome Enterprise. Aby zapewnić sobie dodatkową ochronę, administratorzy IT mogą kontrolować wiele zmian za pomocą zasad dla firmy. Jeśli wolą przeprowadzić testy wewnętrzne lub zrezygnować z nowej funkcji, mogą to zrobić. Aby zapobiegać nieoczekiwanym problemom, mamy specjalną infrastrukturę testową, która symuluje środowisko korporacyjne (np. uruchamianie Chrome na urządzeniach przyłączonych do domeny Active Directory). Infrastruktura ta służy do testowania wszystkich wersji Chrome.

Chrome oferuje też wiele opcji kontroli aktualizacji dla szkół i firm. Administratorzy mogą kontrolować konkretną wersję Chrome, cofać się do starszych wersji i korzystać z pełnego wsparcia na rozszerzonym kanale stabilnym. Szczegółowe informacje znajdziesz w tym dokumencie technicznym. Administratorzy, którzy chcą mieć pełną kontrolę nad stanem aktualizacji swojej floty, mogą korzystać z raportu o wersjach dostępnego w zarządzaniu przeglądarką Chrome w chmurze.

Pyt. Czy Twój zespół planuje wprowadzić w przyszłości jakieś zmiany?

Harry: stale szukamy sposobów na ulepszanie Chrome na potrzeby użytkowników i programistów, zwłaszcza jeśli chodzi o skrócenie cyklu wydawniczego. Dzięki temu użytkownicy będą korzystać ze stabilniejszej wersji Chrome z szybszymi poprawkami błędów i nowymi funkcjami. Wiemy też, że nasi inżynierowie i menedżerowie produktów korzystają z większej szybkości rozwoju dzięki szybszemu tworzeniu funkcji, szybszym cyklom iteracyjnym i zwiększonej jakości kodu. Załóżmy, że menedżer produktu chce udostępnić funkcję wszystkim użytkownikom Chrome. Od momentu, gdy funkcja zostanie „ukończona”, do momentu, gdy stanie się ogólnie dostępna, może minąć do 16 tygodni. Skrócenie cyklu publikacji o zaledwie kilka tygodni pozwala nam znacznie skrócić czas potrzebny na wdrożenie nowej funkcji.