写点什么

谷歌保持技术竞争力的秘诀:以全球规模工程为先

  • 2020-09-09
  • 本文字数:1775 字

    阅读完需:约 6 分钟

谷歌保持技术竞争力的秘诀:以全球规模工程为先

本文内容,源自我在谷歌提供软件工程师这六年当中的亲身实践,以及对谷歌内部广泛工程运营活动的观察。希望通过这篇文章,能够对谷歌的全球规模工程实施做出一番宏观概述。


从 2013 年 8 月到 2019 年 4 月的这六年时间,我有幸加入谷歌参与一系列项目。最近,我刚刚跳槽至洛杉矶当地的另一家初创企业,担任创始工程师职务。


在谷歌任职期间,这位科技巨头在构建并运营全球规模的软件方面表现出的强劲实力,给我留下了极为深刻的印象。


虽然无法透露太多细节,但相信有心的朋友都已经感受到,过去十年以来分布式系统所迎来的发展与由此体现出的巨大优势。Hadoop 本身已经发展为价值 10 亿美元的行业;实际上,谷歌内部的类似系统不仅设计水平更高,其家族中的兄弟姐妹也更为兴旺——正是这近百种系统的相互协同,支撑起谷歌庞大而繁荣的业务体系。


谷歌将全球工程视为其核心业务价值之一。以云游戏平台 Stadia 为例,虽然多年之前就曾经有类似的小规模产品上线,但只有谷歌有能力将其拓展为真正的全球化平台、供来自世界各地的用户随意使用。


事实上,谷歌的几乎每一款产品都是以全球规模作为既定发展目标。谷歌一直努力为世界上那些最具挑战性的技术难题投入大量资金,其中最典型的例子当数 Waymo(目前为 Alphebet 旗下的独立公司)。很明显,就在自动驾驶汽车还只处于研究阶段时,谷歌就已经决意投入巨额资金。与之对应,任何无法服务于全球客户的项目都将被降级甚至直接裁撤。最近一个突出案例当数 Google+——谷歌一直在努力将这项社交网络服务推向客户,但在意识到其未能得到受众的认可之后,Google+ 项目已经(面向非商业客户)被关闭。


谷歌的全球视角工程能力体现在以几个关键领域当中:


  • 人员管理:全球规模的工程必然需要一支全球规模的工程团队。谷歌公司拥有超过 4 万名世界一流的软件工程师,以及同等数量、在日常运营中同样不可或缺的非技术人员。他们在全球数十个国家 / 地区设有办事机构,正是这种遍布全球的业务体系使得谷歌能够吸引到众多顶尖人才。他们具备截然不同的个人与专业背景,也抱着不同的信念加入谷歌公司。一般来说,与谷歌体量相当的巨头级企业往往会建立自己的全球办事处,负责处理企业绩效与营收等相对次要的工作。但谷歌的情况完全不同:以旗下 Borg 团队为例,除了谷歌的 maib 园区之外,Bog 还有多位重要成员在华沙负责开发与维护工作,SRE 团队则身处苏黎世。自 2003 年成立以来,Borg 下辖的各小组就保持着这种距离遥远、但又密切合作的协同方式。

  • 技术:技术是一切的基础,负责为人们在协作、运营优化、商机创造以及创新实现等领域提供工具与保障。全球工程组织不可能依赖于第三方供应商。这方面技术成果非常难于构建,但一旦完成,又足以成为企业占据竞争优势地位的核心要素。谷歌为工程师们提供一套完整的开发者工具,帮助他们随心所欲发挥才华与灵感。谷歌还在分布式系统、AI/ML 以及安全性等方面实现了诸多突破,使自家软件始终保持着高性能、高可靠性与高安全性。谷歌掌握着多款世界级重磅软件产品,这些产品无论在规模上还是质量方面,都拥有着无可比拟的强势地位。有统计数字表明,谷歌在构建及运行大型软件系统方面拥有梦幻般的表现,展现出傲视同侪的高级技术扩展能力。更重要的是,谷歌不仅打造出了这样的系统,还通过优异的市场表现借全球用户受众之手证明了其技术投资的合理性。

  • 运营:怎样才能充分利用技术基础设施?如何正确解决短期与长期工程中的目标与风险问题?为此,谷歌开创了 SRE。与传统运营团队不同,SRE 每天需要将至少 50% 的工作时间投入到日常运营自动化软件的编写当中。这既能够保证对卓越运营的持续投入,又能保证基础设施与应用程序具备出色的质量水平。此外,数据驱动型决策也早已成为每一位谷歌员工日常工作中的重要组成部分。

  • 业务发展:由这些因素相互整合而实现的能力,最终还是需要在具备实际业务价值的产品当中有所体现。由于作者对这方面议题并不熟悉,因此很遗憾无法做出详细介绍。


纵观整个基础设施体系,谷歌在产品当中掌握着全面的技术栈储备。从数据中心、跨洋光纤链路、定制化服务器、编程语言与开发者工具,到多种操作系统、基础集群服务、中间件、应用程序框架、大数据、AI/ML 框架与工具、乃至消费级硬件等,谷歌始终牢牢把持着全球第一梯队的位置,甚至在多个领域做到了无可争议的最高水平。

英文原文

Google’s global scale engineering


2020-09-09 14:032519
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 408.5 次阅读, 收获喜欢 1986 次。

关注

评论

发布
暂无评论
发现更多内容

KaiwuDB 首席解决方案专家 金宁:1.0 时序数据库核心功能解读

KaiwuDB

时序数据库 海量数据高吞吐 复杂查询

一个专科生的 2022 年终总结——默默努力,成为更好的自己

程序人生 年终总结 成长感悟 自学之路

中冶赛迪*IoTDB | 多项目全流程以IoTDB为时序数据处理方案,预计写入查询效率提升一倍

Apache IoTDB

国产时序数据库

模块七--王者荣耀商城异地多活架构设计

闲人Eric

架构实战营

DTSE Tech Talk 第18期丨统计信息大揭秘,数仓SQL执行优化之密钥

华为云开发者联盟

数据库 sql 后端 华为云 企业号 1 月 PK 榜

ING国际银行基于Volcano的大数据分析平台应用实践

华为云开发者联盟

云计算 云原生 后端 华为云 企业号 1 月 PK 榜

软件测试/测试开发 | 接口测试中如何使用Json 来进行数据交互 ?

测试人

json 软件测试 自动化测试 接口测试 测试开发

软件测试/测试开发 | 接口自动化测试如何搞定 json 响应断言?

测试人

json 软件测试 自动化测试 接口测试 测试开发

技术人职场系列-务虚与务实

CatTalk

技术人生 职场发展

阅文加入 OpenCloudOS 操作系统社区,作为成员单位参与社区共建

OpenCloudOS

Linux

【表面缺陷检测】表面缺陷检测数据集汇总

机器不学习我学习

2022年度 FinClip 扩展SDK推荐!

FN0

小程序 sdk SDK 教程

爆竹声响又是一年春节到 归心似箭阖家团圆享美食

极客天地

华为云服务治理 | 服务治理的一般性原则

与时俱进的时代

华为云发布CodeArts Check代码检查服务,守护软件质量和安全

IT科技苏辞

为什么MySQL数据删除了一半,表文件体积却没变小?

程序员拾山

MySQL

软件测试/测试开发 | 接口自动化测试中,如何做断言验证?

测试人

软件测试 自动化测试 接口测试 测试开发

火出圈的《中国奇谭》,如果浪浪山的小妖怪们也用WorkPlus

BeeWorks

软件测试/测试开发 | 接口自动化测试中如何对xml 格式做断言验证?

测试人

软件测试 自动化测试 接口测试 测试开发 接口自动化

以数据赋能AI量产落地,澳鹏团队在浦东AI智能创新应用大赛斩获佳绩

澳鹏Appen

人工智能 数据标注

荣誉+1,OpenMLDB 荣获 InfoQ 2022 年度杰出开源运营团队

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

华为云GaussDB(for MySQL)通过中国信通院“可信数据库”评测

华为云开发者联盟

数据库 后端 华为云 企业号 1 月 PK 榜

光神经网络ONN:直接对光信号进行神经网络处理

Zilliz

别忘记我:通过局部-全局内容建模进行文本擦除方法

合合技术团队

图像识别 图像处理 文本 图像擦除

SAST-静态应用安全测试

HummerRisk V0.9.0:增加RBAC 拓扑图,云检测、漏洞、主机等模块增加规则

HummerCloud

开源 云原生安全

简述JavaScript异步函数 async/await

devpoint

JavaScript Async await es7

华为云代码检查插件(CloudIDE版本)使用指南

与时俱进的时代

Volcano 社区 v1.7.0 版本正式发布 | 云原生批量计算

华为云开发者联盟

云计算 云原生 华为云 Volcano 企业号 1 月 PK 榜

2022年15款实用有趣的小程序推荐

FN0

小程序 小程序商城 小程序模版

华为云云原生数据库:A Philosophy about “less”

华为云开发者联盟

数据库 后端 华为云 企业号 1 月 PK 榜

谷歌保持技术竞争力的秘诀:以全球规模工程为先_语言 & 开发_佚名_InfoQ精选文章