写点什么

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

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

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

关注

评论

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

【GitHub60K+Star】12W字Java后端技术总结,助力2023年春招

程序知音

程序员 java面试 面试技巧 后端技术 Java面试八股文

一文总结JavaScript手写面试题

helloworld1024fd

JavaScript

我把分布式音乐播放器适配了Stage模型

OpenHarmony开发者

OpenHarmony

vue2项目搭建-使用VUE CLI3.0搭建项目vue2+scss+element简易版

肥晨

脚手架 11月月更 vue2项目搭建

如何准备好一场vue面试

bb_xiaxia1998

Vue

React源码解读之任务调度

flyzz177

React

那些年面挂的js手写题

helloworld1024fd

JavaScript

React生命周期深度完全解读

夏天的味道123

React

认证升级 | 秒云再次获评软件企业认证

MIAOYUN

双软认证 软件企业认证 软件产品认证

业界首个!快手提出亿级别多模态短视频百科体系——快知Kuaipedia

Geek老T

短视频 快手 泛知识

什么是 HTML 语义化,有什么好处

肥晨

11月月更 HTML语义化 语义化标签

安防小间距LED显示屏的解决方案是什么

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

AI 模型编译器 MegCC 开源,解决推理引擎体积问题

MegEngineBot

深度学习 开源 MegEngine MegCC AI 模型编译器

docker-compose下的java应用启动顺序两部曲之一:问题分析

程序员欣宸

Java Docker Docker-compose 11月月更

从零手写react-router

helloworld1024fd

JavaScript

从零开始实现一个Promise

helloworld1024fd

JavaScript

2022年中国汽车OTA行业发展洞察

易观分析

汽车 OTA

vue这些原理你都知道吗?(面试版)

bb_xiaxia1998

Vue

谈谈vue面试那些题

bb_xiaxia1998

Vue

HDC 2022精彩继续,多重亮点进来看!

HarmonyOS开发者

HarmonyOS

DevUI开源经验分享:从0到1开始运营你的开源项目

华为云开发者联盟

开源 华为云 企业号十月 PK 榜

万字详解JVM,让你一文吃透

华为云开发者联盟

开发 华为云 企业号十月 PK 榜

软件测试面试真题 |你用过哪些用例设计方法?

测试人

软件测试 面试题 测试用例

vue面试之Composition-API响应式包装对象原理

bb_xiaxia1998

Vue

梁胜博士:软件供应链安全两手抓,既要安全左移也要全链路防护丨活动回顾

SEAL安全

DevOps DevSecOps 软件供应链 安全左移 软件供应链安全

react hook 源码完全解读

flyzz177

React

分享10个降低PCB成本的技巧!可收藏

华秋PCB

PCB PCB打样 PCB设计

代码质量与安全 | 想在发布竞赛中胜出?Sonar来帮你

龙智—DevSecOps解决方案

代码质量 代码安全

EMQ荣获“2022中国移动创客马拉松OneOS物联网专题赛”三等奖

EMQ映云科技

物联网 IoT emqx 云边协同 车路协同

专业移动办公解决方案!远程控制软件RayLink内测火热进行中!

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

React源码解读之更新的创建

flyzz177

React

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