Как Chrome готовит обновления для миллиардов пользователей

Нора О'Нил
Nora O'Neill

Каждый месяц мы выпускаем новую версию Chrome, чтобы миллиарды пользователей и компаний по всему миру получали новейшие функции, обновления безопасности и повышения производительности. И теперь мы можем вносить улучшения и устранять проблемы быстрее, чем когда-либо прежде, благодаря более быстрому циклу выпуска обновлений, а это означает, что вы будете получать последние обновления еще чаще.

Мы поговорили с менеджерами технических программ Беном Генри, Кришной Говиндом, Гарри Содерсом, Шринивасом Систой и Брэндоном Хинаном из команды выпуска Chrome, чтобы узнать изнутри, как они координируют свои действия с командами Google по всему миру, чтобы обеспечить бесперебойную работу каждого выпуска.

Вопрос. Как ваша команда готовится к выпуску каждого выпуска Chrome?

Бен: Во-первых, наша команда состоит из семи человек, работающих полный рабочий день в двух основных регионах. Мы думаем, что подготовка к релизу похожа на расписание поездов. Мы используем четыре канала выпуска — Canary, Dev, Beta и Stable — для подготовки к важному выпуску Chrome. По мере продвижения по этому процессу в каждом канале появляется больше пользователей Chrome. Это позволяет нам получать отзывы о стабильности и производительности Chrome с целью как можно более раннего выявления проблем с качеством продукта. Мы уделяем пристальное внимание тому, что говорят пользователи и разработчики в социальных сетях, статьях в прессе и отчетах об ошибках, чтобы уловить все, что нам не хватает. Наша команда инженеров и менеджеров по продуктам может затем использовать эти отзывы для улучшения функций.

Затем мы проводим несколько раундов тестирования, чтобы обнаружить любые проблемы с качеством, сначала с помощью автоматизированных систем, которые работают непрерывно, а затем с помощью команд тестирования, которые находят ошибки вручную.

Вопрос. Можете ли вы поделиться недавним примером обратной связи от стороннего разработчика, который помог вам гарантировать, что вы выпустили наилучшую возможную версию?

Шринивас: Мы всегда рассчитываем на отзывы наших веб-разработчиков и на раннее внедрение новых функций, таких как новые API или изменения спецификаций Chrome на iOS. Благодаря нашему основному изменению с двухзначного числа на трехзначное (с 99 до 100) мы поделились с веб-разработчиками рекомендациями по тестированию перед фактическим изменением, чтобы убедиться, что мы учитываем их отзывы и, что более важно, не нарушаем работу их сайтов. Это помогло нам успешно внедрить изменение без каких-либо серьезных проблем при развертывании M100.

Вопрос. Что произойдет, если вы обнаружите ошибку или проблему безопасности во время установки обновления Chrome?

Кришна: Мы стараемся постепенно предоставлять пользователям новые версии Chrome. Новые выпуски не сразу доводятся до 100% пользователей. Если мы обнаружим критическую ошибку, мы приостановим развертывание затронутых версий, чтобы ограничить ее последствия. Затем мы координируем свои действия с командами Chrome по всему миру, чтобы максимально быстро и безопасно разработать исправления и исправления для Chrome. Как только это исправление будет проверено, мы создадим новую версию Chrome и снова начнем процесс развертывания. В конце концов, большинство пользователей никогда не столкнутся с этой проблемой, поскольку она будет исправлена ​​еще до того, как для них будет выпущена версия. В вопросах безопасности мы следуем политике Project Zero Disclosure . Поэтому, когда обнаруживаются уязвимости, которые активно эксплуатируются, у нас есть цель выпустить это исправление для пользователей нашего стабильного канала в течение семи дней.

Вопрос. Проводится ли дополнительная работа по обеспечению готовности выпусков Chrome для бизнеса?

Брэндон: Одна из наших главных целей — обеспечить, чтобы Chrome оставался стабильной и надежной платформой для многих компаний, которые от нас зависят. Это означает предоставление компаниям доступа к лучшим и новейшим функциям, которыми, по их мнению, должны пользоваться их сотрудники, и в то же время помогаем им избежать любых потенциальных сбоев в их работе. Поскольку потребности бизнеса уникальны и любой простой может нанести ущерб предприятию, у Chrome есть конкретные рекомендации для наших инженеров и разработчиков продуктов, и мы проверяем каждую новую функцию, чтобы гарантировать, что каждая версия Chrome является «удобной для предприятий». Это включает в себя информирование компаний о важных изменениях в наших примечаниях к выпуску Chrome Enterprise . А для дополнительного спокойствия ИТ-администраторы могут контролировать многие изменения с помощью корпоративной политики . Итак, если они предпочитают провести внутреннее тестирование или отказаться от новой функции, они могут сделать именно это. Чтобы предотвратить непредвиденные проблемы, у нас есть специальная инфраструктура тестирования, предназначенная для моделирования корпоративных сред (например, запуск Chrome на устройствах, подключенных к домену Active Directory), которую мы используем для тестирования всех выпусков Chrome.

Chrome также предоставляет школам и предприятиям ряд средств управления обновлениями. Администраторы могут управлять конкретной версией Chrome, выполнять откат к более ранним версиям и пользоваться преимуществами нашего полностью поддерживаемого расширенного стабильного канала выпуска. Подробности вы можете прочитать в этом техническом документе . Администраторы, которым нужна полная информация о статусе обновлений своего парка, могут использовать отчет о версиях, включенный в облачное управление браузером Chrome .

Вопрос. Планирует ли ваша команда какие-либо изменения в будущем?

Гарри: Мы всегда ищем способы улучшить Chrome для наших пользователей и разработчиков, особенно когда речь идет о сокращении цикла выпуска. Благодаря этому пользователи увидят более стабильную версию Chrome с более быстрым исправлением ошибок и новыми функциями. Мы также знаем, что наши инженеры и менеджеры по продуктам получают выгоду от увеличения скорости разработки благодаря более быстрой разработке функций, более быстрым циклам итераций и повышению работоспособности кода. Допустим, менеджер по продукту хочет запустить функцию для всех пользователей Chrome. С момента «готовности» функции до того момента, когда она станет общедоступной, может пройти до 16 недель. Сократив цикл выпуска всего на пару недель, мы можем значительно сократить время запуска новой функции.