本文内容来源于我在谷歌提供软件工程师六年的个人实践,以及我对内部范围广泛的工程运作的观察谷歌。我希望通过这篇文章,能够对谷歌在全球范围内的工程实现做一个宏观的概览。从2013年8月到2019年4月的六年时间里,我有幸加入了Google的一系列项目。我最近搬到了洛杉矶的另一家本地初创公司,担任创始工程师。在谷歌任职期间,这家科技巨头在全球范围内构建和运营软件的能力给我留下了极其深刻的印象。虽然不能透露太多细节,但相信有兴趣的朋友已经感受到分布式系统近十年的发展及其所展现的巨大优势。Hadoop本身已经发展成为一个价值十亿美元的产业;事实上,谷歌内部类似的系统不仅设计得更好,而且家族中还有更繁荣的兄弟姐妹——正是这近百个系统的相互协同作用,支撑起谷歌庞大而繁荣的业务体系。Google将全球工程视为其核心业务价值之一。以云游戏平台Stadia为例。虽然类似的小规模产品在很多年前就已推出,但只有谷歌有能力将其扩展为真正的全球平台,供全球用户随意使用。事实上,谷歌几乎每一款产品都是以全球规模为既定目标开发的。Waymo(现在是Alphebet旗下的一家独立公司)是谷歌大力投资解决世界上一些最具挑战性的技术问题的典型例子。很明显,在自动驾驶汽车还处于研究阶段时,谷歌决心投入巨资。相应的,任何不能服务全球客户的项目都会被降级甚至直接取消。最近一个引人注目的例子是Google+——Google一直在努力向客户推销社交网络服务,但在意识到无法吸引受众后,Google+项目已被关闭(针对非商业客户)。谷歌具有全球视野的工程能力体现在几个关键领域:人员管理:全球规模的工程必然需要全球规模的工程团队。谷歌拥有超过40,000名世界一流的软件工程师和同等数量的非技术人员,他们也是日常运营不可或缺的一部分。他们在全球数十个国家/地区设有办事处,正是这种全球化的商业体系使谷歌能够吸引到众多顶尖人才。他们来自截然不同的个人和专业背景,带着不同的信念来到谷歌。一般而言,与谷歌规模相当的巨头级公司往往会建立自己的全球办事处,负责公司业绩和收入等相对次要的工作。但谷歌的情况完全不同:以其Borg团队为例。除了谷歌的maibpark,Bog还有很多重要的成员在华沙负责开发和维护,SRE团队在苏黎世。自2003年成立以来,Borg领导下的团队一直保持着这种遥远但密切协调的协同作用。技术:技术是一切的基础,负责为人们在协作、运营优化、商机创造、创新实现等方面提供工具和保障。全球工程组织不可能依赖第三方供应商。这方面的技术成果构建难度很大,但一旦完成,就足以成为企业占据竞争优势的核心要素。Google为工程师提供了一套完整的开发者工具,帮助他们随时随地发挥才能和灵感。谷歌在分布式系统、AI/ML、安全等方面也取得了诸多突破,使其软件始终保持着高性能、高可靠性、高安全性。谷歌手握多款世界级的重量级软件产品,这些产品在规模和质量上都具有无可比拟的强势地位。统计数据显示,谷歌在构建和运行大型软件系统方面有着出色的表现,展示了其先进的技术可扩展性,在同行中无可匹敌。更重要的是,谷歌不仅构建了这样一个系统,而且还凭借其在全球用户受众手中的出色市场表现证明了其技术投资的价值。运营:您如何才能充分利用您的技术基础架构?如何正确解决短期和长期项目的目标和风险问题?为此,Google创建了SRE。与传统运维团队不同,SRE需要将至少50%的日常工作时间用于编写日常运维自动化软件。这确保了对卓越运营的持续投资以及基础设施和应用程序的卓越质量水平。此外,数据驱动决策已经成为每位谷歌员工日常工作的重要组成部分。业务发展:这些因素融合所获得的能力,最终需要体现在具有实际商业价值的产品中。由于笔者对这个话题不熟悉,未能详细介绍,深表遗憾。纵观整个基础设施体系,谷歌在其产品中有着完善的技术栈储备。从数据中心、跨洋光纤链路、定制化服务器、编程语言和开发者工具,到多操作系统、基础集群服务、中间件、应用框架、大数据、AI/ML框架和工具,乃至消费级硬件,等等,谷歌一直牢牢占据着世界第一梯队的位置,甚至在很多领域都达到了无可争议的最高水平。
