QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

  • 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:032010
用户头像
小智 让所有人认同的文字称不上表达

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

关注

评论

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

去中心化的底层是共识——Polkadot 混合共识机制解读

One Block Community

【LeetCode】玩筹码Java题解

Albert

LeetCode 7月月更

给自己点鸡汤吧

沃德

程序员 心灵鸡汤 7月月更

PPT制作

逝缘~

PPT 7月月更

Qt|实现边加载数据边显示页面

中国好公民st

qt 7月月更

Arbitrum 推出 AnyTrust 链,满足生态项目多元需求

TinTinLand

Substrate 技术及生态6月大事记 | Polkadot Decoded 圆满落幕,黑客松获胜项目为生态注入新生力量

One Block Community

Android 小巧技-不用图片框架,实现加载类似微博超长图片的手法

芝麻粒儿

android 7月月更

模块6(拆分电商系统为微服务)

Geek_701557

Flutter 实现爱心三连动画效果

岛上码农

flutter ios 安卓 移动端开发 7月月更

双目立体匹配步骤

秃头小苏

7月月更 双目立体匹配

ThreeJS 动画之 Noisy Lines

南城FE

CSS 前端 动画 7月月更

GitHub标星1w+超牛的微服务项目,开发脚手架

冉然学Java

Java 编程 程序员 面试 Spring Cloud

注入攻击

沃德

程序员 7月月更

你以为,设计一个RPC框架很简单?应该从哪入手,深入剖析? Java架构新资讯

了不起的程序猿

Java RPC java程序员 java 编程

面试官灵魂暴击:如何保障消息100%投递成功及保证消息的幂等性?

冉然学Java

Java后端 #技术干货#

重新签名 iOS 51启蒙英语 App

贾献华

7月月更

QT 实现文件夹的删除

小肉球

qt 7月月更

学一招,docker自启动以及容器自启动的解决方案

麦洛

Docker docker image

Java 技术栈中间件优雅停机方案设计与实现全景图

bin的技术小屋

dubbo 优雅停机 netty SpringFramework Graceful Shutdown

内部排序——选择排序

乔乔

7月月更

LeetCode-136. 只出现一次的数字(java)

bug菌

Leet Code 7月月更

DFINITY 整合技术解读——阈值ECDSA 实现 IC 与比特币、以太坊整合

TinTinLand

java零基础入门-抽象类

喵手

Java 7月月更

【这款插件在IntelliJ IDEA中,可以大幅提升工作效率,强烈推荐!】

了不起的程序猿

Java java程序员 实用工具

MySQL灵魂16问,你能撑到第几问?

了不起的程序猿

Java MySQL 面试题 java程序员

基于STM32+华为云IOT设计的智能家居控制系统_语音+环境检测

DS小龙哥

7月月更

PoS机制随机性解读,波卡的随机性原理如何运作?

One Block Community

iOS中方法和函数的区别

NewBoy

前端 移动端 iOS 知识体系

SAP Fiori 注解 @ObjectModel.readOnly工作原理解析

汪子熙

SAP abap Fiori SAP UI5 7月月更

iOS中SEL类型

NewBoy

ios 前端 移动端 iOS 知识体系 7月月更

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