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

Nora O'Neill
Nora O'Neill

Co miesiąc publikujemy nową wersję Chrome, aby mieć pewność, że miliardy użytkowników i firm na całym świecie korzystają z najnowszych funkcji, zabezpieczeń i ulepszeń wydajności. Teraz możemy wprowadzać ulepszenia i rozwiązywać problemy szybciej niż kiedykolwiek wcześniej, a cykl publikacji jest krótszy, co oznacza, że jeszcze częściej otrzymujesz najnowsze aktualizacje.

Spotkaliśmy się z menedżerami ds. technicznych, takimi jak Ben Henry, Krishna Govind, Harry Souders, Srinivas Sista i Brandon Heenan z zespołu ds. wersji Chrome, aby dowiedzieć się, jak koordynują współpracę z zespołami Google na całym świecie, aby zapewnić bezproblemową obsługę każdej wersji.

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

Ben: Po pierwsze, nasz zespół składa się z 7 osób zatrudnionych w pełnym wymiarze godzin w 2 głównych regionach. Uważamy, że przygotowywanie się do publikacji treści przypomina harmonogram przesyłania pociągów. Przygotowując się do premiery kolejnych wersji Chrome, korzystamy z 4 kanałów wersji – Canary, Dev, Beta i Stable. W miarę postępów z każdym kanałem pojawia się coraz więcej użytkowników Chrome. Dzięki temu możemy poznawać opinie o stabilności i wydajności Chrome, aby jak najszybciej wykrywać problemy z jakością produktów. Zwracamy szczególną uwagę na opinie użytkowników i deweloperów w mediach społecznościowych, artykułach prasowych i raportach o błędach, dzięki czemu możemy wyciągać wnioski. Dzięki tym opiniom nasz zespół inżynierów i menedżerów produktu mogą ulepszyć swoje funkcje.

Następnie przeprowadzamy kilka rund testów, aby wykryć ewentualne problemy z jakością. Najpierw używamy zautomatyzowanych systemów, które działają nieustannie, a potem wspólnie z zespołami testującymi, które ręcznie znajdują błędy.

Pyt. Czy możesz podzielić się z nami przykładem opinii od zewnętrznego dewelopera, która była pomocna w upewnieniu się, że udało Ci się przesłać najlepszą możliwą wersję?

Srinivas: zawsze polegamy na opiniach naszych programistów stron internetowych i prośbami o wczesne wdrażanie funkcji, takich jak nowe interfejsy API, czy zmiany specyfikacji Chrome na iOS. W ramach zmiany głównej wartości milowej z 2 na 3 cyfry (99–100) podzieliliśmy się z twórcami stron internetowych wytycznymi, aby przetestować nowe rozwiązania jeszcze przed wprowadzeniem zmian i mieć pewność, że uwzględnimy ich opinie i co ważniejsze, nie zaszkodzą oni witrynom. Udało nam się wdrożyć zmianę bez poważniejszych problemów w wersji M100.

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

Krishna: będziemy stopniowo udostępniać nowe wersje Chrome użytkownikom. Nowe wersje nie są od razu udostępniane 100% użytkowników. Jeśli wykryjemy poważny błąd, zatrzymujemy publikację wersji dotkniętych tym problemem, aby ograniczyć jego skutki. Następnie we współpracy z zespołami Chrome na całym świecie pracujemy nad jak najszybszym i najbezpieczniejszym wprowadzeniem poprawek i poprawek w Chrome. Po sprawdzeniu tej poprawki tworzymy nową wersję Chrome i od nowa rozpoczynamy proces wdrażania. Większość użytkowników nigdy nie napotka tego problemu, ponieważ zostanie on rozwiązany, zanim w ogóle pojawi się u nich dana wersja. W przypadku problemów z bezpieczeństwem przestrzegamy zasad dotyczących ujawniania informacji w Project Zero. Gdy wykryjemy luki w zabezpieczeniach, które są aktywnie wykorzystywane w środowisku naturalnym, naszym celem jest udostępnienie ich użytkownikom wersji stabilnej w ciągu 7 dni.

Pyt. Czy trzeba wykonać dodatkowe czynności, aby upewnić się, że wersje Chrome są gotowe dla firm?

Brandon: Jednym z naszych głównych celów jest zapewnianie Chrome stabilnej i niezawodnej platformy dla wielu firm, na których polegamy. Oznacza to zapewnienie firmom dostępu do najlepszych i najnowszych funkcji, z których pracownicy chętnie korzystają, przy jednoczesnym unikaniu potencjalnych przerw w pracy. Potrzeby firm są wyjątkowe, a przestoje mogą być niekorzystne dla całej firmy. W związku z tym nasze zespoły inżynierów i zespoły ds. usług Chrome mają konkretne wskazówki dla zespołów inżynierskich i produktowych. Aby mieć pewność, że każda wersja Chrome jest „przyjazna dla firm”. Obejmuje to informowanie firm o ważnych zmianach w informacjach o wersji Chrome Enterprise. Aby zwiększyć spokój ducha, administratorzy IT mogą kontrolować wiele zmian za pomocą zasad firmowych. Jeśli wolą przeprowadzić testy wewnętrzne lub zrezygnować z nowej funkcji, mogą to zrobić. Aby zapobiegać nieoczekiwanym problemom, dysponujemy dedykowaną infrastrukturą testową do symulowania środowisk firmowych (np. uruchamiania Chrome na urządzeniach przyłączonych do domeny w Active Directory). Wykorzystujemy te dane do testowania wszystkich wersji Chrome.

Szkoły i firmy w Chrome mają też dostęp do różnych opcji aktualizacji. Administratorzy mogą kontrolować konkretną wersję Chrome, przywracać starsze wersje i korzystać z 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 o wersji dostępnego w ramach zarządzania przeglądarką Chrome w chmurze.

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

Harry: Cały czas staramy się ulepszać Chrome dla użytkowników i deweloperów, zwłaszcza jeśli chodzi o skrócenie cyklu wydawania wersji. Dzięki temu użytkownicy będą mieli dostęp do stabilniejszej przeglądarki Chrome z szybszymi poprawkami błędów i nowymi funkcjami. Wiemy też, że szybsze opracowywanie funkcji przez naszych inżynierów i menedżerów produktu zależy od szybszego rozwoju funkcji, krótszych cykli iteracji oraz lepszego stanu kodu. Załóżmy, że menedżer produktu chce udostępnić funkcję dla wszystkich użytkowników Chrome. Od momentu „gotowania” funkcji może upłynąć do 16 tygodni gdy staną się ogólnie dostępne. Skrócenie cyklu publikowania o kilka tygodni może znacznie skrócić czas wprowadzania nowej funkcji.