写点什么

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

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

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

关注

评论

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

Java8--Lambda表达式对List集合操作

爱好编程进阶

Java 程序员 后端开发

云原生小课堂 | 如何打造一款软硬兼施、多功能、零损耗的云原生网络方案

York

云原生 性能 智能网卡vpc 容器网络方案

从服务端生成Excel电子表格(Node.js+SpreadJS)

葡萄城技术团队

SpreadJS 前端表格

java培训Nginx 快速入门

@零度

JAVA开发

C++搭建集群聊天室

爱好编程进阶

Java 程序员 后端开发

基于Saga的分布式事务调度落地

百度Geek说

微服务

java 中异常类

爱好编程进阶

Java 程序员 后端开发

Java---多态

爱好编程进阶

Java 程序员 后端开发

LeetCode - Easy - 107

爱好编程进阶

Java 程序员 后端开发

【直播回顾】OpenHarmony知识赋能五期第四课——子系统音频解读

OpenHarmony开发者

OpenHarmony 多媒体

探讨企业知识管理的困惑

小炮

企业知识管理

租房开放源码

源字节1号

租房小程序

三大特性,多个场景,Serverless 应用引擎 SAE 全面升级

阿里巴巴云原生

阿里云 Serverless SAE 阿里云云原生 应用引擎

20年清华扫地僧,整理的Storm、Spark学习笔记

爱好编程进阶

Java 程序员 后端开发

前端生成PDF,让后端刮目相看

葡萄城技术团队

PDF pdf.js

Java面试比较---谈谈你对面向对象的理解,什么是面向对象?

爱好编程进阶

Java 程序员 后端开发

答题交互功能深入研究

CRMEB

Java Review(三十九、类加载机制与反射

爱好编程进阶

Java 程序员 后端开发

Autograd解析|OneFlow学习笔记

OneFlow

人工智能 深度学习 数学原理 Autograd模块

2022“星课堂”直播课,开课啦!

星环科技

Java 四种线程池

爱好编程进阶

Java 程序员 后端开发

LeetCode - Easy - 104

爱好编程进阶

Java 程序员 后端开发

封装格式介绍

Loken

音视频 5月月更

Apache ShardingSphere 遇上得物“彩虹桥”

SphereEx

数据库 开源 ShardingSphere SphereEx apache 社区

JMH性能测试,试试你代码的性能如何

爱好编程进阶

程序员 后端开发

maven 管理工具学习使用 ——

爱好编程进阶

Java 程序员 后端开发

从服务端生成Excel电子表格(GcExcel + SpreadJS)

葡萄城技术团队

服务器端开发 前端表格控件 测试比较

web前端培训单元测试入门知识分享

@零度

单元测试 web前端开发

Elasticsearch聚合学习之一:基本操作

爱好编程进阶

Java 程序员 后端开发

IntelliJ IDEA创建基于maven的springboot项目

爱好编程进阶

Java 程序员 后端开发

JSON和JSONP对比

爱好编程进阶

Java 程序员 后端开发

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