tft0 2020-09-09
本文内容,源自我在谷歌提供软件工程师这六年当中的亲身实践,以及对谷歌内部广泛工程运营活动的观察。希望通过这篇文章,能够对谷歌的全球规模工程实施做出一番宏观概述。
从 2013 年 8 月到 2019 年 4 月的这六年时间,我有幸加入谷歌参与一系列项目。最近,我刚刚跳槽至洛杉矶当地的另一家初创企业,担任创始工程师职务。
在谷歌任职期间,这位科技巨头在构建并运营全球规模的软件方面表现出的强劲实力,给我留下了极为深刻的印象。
虽然无法透露太多细节,但相信有心的朋友都已经感受到,过去十年以来分布式系统所迎来的发展与由此体现出的巨大优势。Hadoop 本身已经发展为价值 10 亿美元的行业;实际上,谷歌内部的类似系统不仅设计水平更高,其家族中的兄弟姐妹也更为兴旺——正是这近百种系统的相互协同,支撑起谷歌庞大而繁荣的业务体系。
谷歌将全球工程视为其核心业务价值之一。以云游戏平台 Stadia 为例,虽然多年之前就曾经有类似的小规模产品上线,但只有谷歌有能力将其拓展为真正的全球化平台、供来自世界各地的用户随意使用。
事实上,谷歌的几乎每一款产品都是以全球规模作为既定发展目标。谷歌一直努力为世界上那些最具挑战性的技术难题投入大量资金,其中最典型的例子当数 Waymo(目前为 Alphebet 旗下的独立公司)。很明显,就在自动驾驶汽车还只处于研究阶段时,谷歌就已经决意投入巨额资金。与之对应,任何无法服务于全球客户的项目都将被降级甚至直接裁撤。最近一个突出案例当数 Google+——谷歌一直在努力将这项社交网络服务推向客户,但在意识到其未能得到受众的认可之后,Google+ 项目已经(面向非商业客户)被关闭。
谷歌的全球视角工程能力体现在以几个关键领域当中:
人员管理:全球规模的工程必然需要一支全球规模的工程团队。谷歌公司拥有超过 4 万名世界一流的软件工程师,以及同等数量、在日常运营中同样不可或缺的非技术人员。他们在全球数十个国家 / 地区设有办事机构,正是这种遍布全球的业务体系使得谷歌能够吸引到众多顶尖人才。他们具备截然不同的个人与专业背景,也抱着不同的信念加入谷歌公司。一般来说,与谷歌体量相当的巨头级企业往往会建立自己的全球办事处,负责处理企业绩效与营收等相对次要的工作。但谷歌的情况完全不同:以旗下 Borg 团队为例,除了谷歌的 maib 园区之外,Bog 还有多位重要成员在华沙负责开发与维护工作,SRE 团队则身处苏黎世。自 2003 年成立以来,Borg 下辖的各小组就保持着这种距离遥远、但又密切合作的协同方式。
技术:技术是一切的基础,负责为人们在协作、运营优化、商机创造以及创新实现等领域提供工具与保障。全球工程组织不可能依赖于第三方供应商。这方面技术成果非常难于构建,但一旦完成,又足以成为企业占据竞争优势地位的核心要素。谷歌为工程师们提供一套完整的开发者工具,帮助他们随心所欲发挥才华与灵感。谷歌还在分布式系统、AI/ML 以及安全性等方面实现了诸多突破,使自家软件始终保持着高性能、高可靠性与高安全性。谷歌掌握着多款世界级重磅软件产品,这些产品无论在规模上还是质量方面,都拥有着无可比拟的强势地位。有统计数字表明,谷歌在构建及运行大型软件系统方面拥有梦幻般的表现,展现出傲视同侪的高级技术扩展能力。更重要的是,谷歌不仅打造出了这样的系统,还通过优异的市场表现借全球用户受众之手证明了其技术投资的合理性。
运营:怎样才能充分利用技术基础设施?如何正确解决短期与长期工程中的目标与风险问题?为此,谷歌开创了 SRE。与传统运营团队不同,SRE 每天需要将至少 50% 的工作时间投入到日常运营自动化软件的编写当中。这既能够保证对卓越运营的持续投入,又能保证基础设施与应用程序具备出色的质量水平。此外,数据驱动型决策也早已成为每一位谷歌员工日常工作中的重要组成部分。