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

诺拉·奥尼尔
Nora O'Neill

我们每个月都会发布新版 Chrome,以确保全球数十亿用户和企业能够获享最新的功能、安全更新和性能升级服务。现在,我们能够以更快的发布周期更快改进并解决问题,这意味着您将更频繁地收到最新更新。

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

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

Ben:首先,我们的团队有 7 名员工,他们左右在两个主要地域工作。我们认为,为发布做准备就像是一份火车日程表。我们使用了 4 个发布版本(Canary 版、开发者版、Beta 版和稳定版)来为 Chrome 里程碑版本做准备。随着流程的推进,每个渠道拥有的 Chrome 用户越来越多。这样,我们就能收到有关 Chrome 稳定性和性能的反馈,以便尽早发现产品的质量问题。我们会密切关注用户和开发者在社交媒体、新闻文章和错误报告上的言论,以便发现任何遗漏的内容。然后,我们的工程师和产品经理团队就可以根据这些反馈对功能进行改进。

然后,我们会进行多轮测试以检测是否存在质量问题,首先使用持续运行的自动化系统,然后与手动发现 bug 的测试团队合作。

问:您能否分享最近的一个外部开发者反馈示例,这些反馈有助于确保您交付最合适的版本?

Srinivas:我们始终需要网络开发者提供反馈,并尽早采用新功能(例如发布新 API 或 iOS 版 Chrome 的规范变更)。将重大里程碑变更从两位数变为三位数(99 到 100)后,我们与 Web 开发者分享了一些准则,以便在实际变更生效之前进行相关测试,以确保采纳他们的反馈,更重要的是,确保不会破坏他们的网站。这帮助我们成功发布了变更,没有在 M100 推出期间出现任何重大问题。

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

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

问:是否需要额外的工作来确保 Chrome 版本为企业用户做好准备?

Brandon:我们的首要目标之一是确保 Chrome 始终为众多依赖我们的企业提供稳定、可靠的平台。这意味着,企业需要为企业提供他们希望员工使用的最佳最新功能,同时帮助企业避免可能中断工作。由于业务需求的独特性,任何停工时间都会对企业造成不利影响,因此 Chrome 为我们的工程团队和产品团队提供了具体指导,而且我们会审核每次功能发布,以确保每个 Chrome 版本都“适合企业使用”。包括让公司提前了解我们的 Chrome 企业版版本说明中的重大变化。IT 管理员可以通过企业政策控制许多更改,更加安心无忧。因此,如果他们更愿意进行内部测试或拒绝使用某项新功能,只需自行处理即可。为了防止出现意外问题,我们设计了专门的测试基础架构,用于模拟各种企业环境(例如,在已加入 Active Directory 网域的设备上运行 Chrome),用于测试所有 Chrome 版本。

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

问:您的团队未来是否希望做出任何更改?

Harry:我们一直在想方设法为用户和开发者改进 Chrome,特别是在缩短发布周期方面。这样一来,用户看到的 Chrome 将更加稳定,可以更快地修复错误,并推出新功能。我们还知道,由于更快的功能开发、更短的迭代周期以及更好的代码运行状况,我们的工程师和产品经理可以受益于开发速度的提升。假设某位产品经理希望面向所有 Chrome 用户发布一项功能。从“完成”到正式推出,最多可能需要 16 周的时间。通过将发布周期缩短几周,我们可以显著缩短发布新功能的准备时间。