Chrome 如何为数十亿用户准备更新

Nora O'Neill
Nora O'Neill

我们每个月都会发布新版 Chrome,以确保全球数十亿用户和企业都能获得最新的功能、安全更新和性能升级。现在,我们能够比以往更快地进行改进和修复,发布周期更短,这意味着您将更频繁地收到最新更新。

我们与 Chrome 发布团队的技术项目经理 Ben Henry、Krishna Govind、Harry Souders、Srinivas Sista 和 Brandon Heenan 进行了交流,请他们深入了解了他们如何与世界各地的 Google 团队进行协调,以确保每个版本都能顺利发布。

问:您的团队如何为 Chrome 的每个版本做准备?

Ben:首先,我们的团队有七名全职员工,在两个主要地区工作。我们认为,发布前的准备工作就像是制作火车时刻表。我们使用四个发布渠道(Canary 版、开发者版、Beta 版和稳定版)为 Chrome 里程碑版本做准备。随着整个过程的进行,每个渠道的 Chrome 用户数量都会增加。这样,我们就能够获得有关 Chrome 稳定性和性能的反馈,从而尽早发现产品中的质量问题。我们会密切关注用户和开发者在社交媒体、新闻报道和错误报告中发表的言论,以便发现我们遗漏的任何信息。然后,我们的工程师和产品经理团队就可以根据这些反馈改进功能。

然后,我们会进行多轮测试,以检测任何质量问题:首先使用持续运行的自动化系统,然后让测试团队手动找出 bug。

问:您能否分享一个最近来自外部开发者的反馈示例,该反馈对于确保您尽可能推出最佳版本非常有用?

Srinivas:我们一直依靠 Web 开发者提供反馈和尽早采用新功能,例如新的 API 或 iOS 版 Chrome 的规范更改。在将重大里程碑从两位数改为三位数(99 到 100)后,我们与 Web 开发者分享了相关指南,以便在实际变更发生之前进行测试,以确保我们采纳他们的反馈,更重要的是,不会破坏他们的网站。这有助于我们成功发布更改,而未遇到 M100 发布出现任何重大问题。

问:如果您在发布 Chrome 更新期间遇到错误或安全问题,会怎么样?

Krishna:我们会确保逐步向用户推出新的 Chrome 版本。新版本不会立即推送给所有用户。如果发现严重 bug,我们会暂停发布受影响的版本,以限制其影响。然后,我们会与世界各地的 Chrome 团队协调,尽可能快速、安全地开发 Chrome 的修复方案并修补。验证修复后,我们将构建新版 Chrome 并重新开始发布流程。归根结底,大多数用户永远都不会遇到此问题,因为在发布该版本之前,该问题就已得到解决。对于安全问题,我们遵循项目零披露政策。因此,当有漏洞被广泛利用时,我们的目标是在 7 天内向稳定渠道的用户发布修复程序。

问:是否需要执行一些额外的工作来确保 Chrome 版本可供企业使用?

Brandon:我们的首要目标之一是,确保 Chrome 能够持续为需要我们提供支持的众多企业提供稳定、可靠的平台体验。这意味着,要为企业提供他们希望员工能用的最佳、最新的功能,同时帮助他们避免工作可能受到的任何干扰。由于业务需求的独特,任何停机都会给企业造成损害,因此 Chrome 为我们的工程和产品团队提供了具体的指导,并且我们会审核每项功能的发布情况,以确保每个版本的 Chrome 版本都“适合企业使用”。包括在 Chrome 企业版版本说明中提醒相关公司留意重要变化。为了更加安心无忧,IT 管理员可以通过企业政策控制多项更改。因此,如果他们想进行内部测试或选择停用某项新功能,也可以自行测试。为了防止出现意外问题,我们使用了专用于模拟企业环境(例如,在已加入 Active Directory 网域的设备上运行 Chrome)的专用测试基础架构,以便测试所有 Chrome 版本。

Chrome 还为学校和企业提供了一系列更新控制功能。管理员可以控制 Chrome 的具体版本、回滚到较低版本,并充分利用我们全面支持的扩展稳定发布渠道。如需了解详情,请参阅此技术文档。想要全面了解舰队的更新状态,可以使用 Chrome 浏览器云管理中包含的版本报告

问:您的团队希望将来做出哪些改变?

哈利:我们一直在想方设法为用户和开发者改进 Chrome,尤其是在缩短发布周期方面。这样,用户就能看到更稳定的 Chrome,更快的问题修复速度和新功能。我们也知道,由于功能开发速度更快、迭代周期更短,代码运行状况更佳,我们的工程师和产品经理也会受益于更快的开发速度。假设一位产品经理希望面向所有 Chrome 用户发布某项功能。此功能最多可能需要 16 周才能“完成”直到正式发布为止只需将发布周期缩短几个星期,我们就可以显著缩短新功能的发布时间。