写点什么

AWS 之野望:All World Server

  • 2020-04-19
  • 本文字数:4594 字

    阅读完需:约 15 分钟

AWS之野望:All World Server

01


1972 年,斯坦福大学人工智能实验室的学生,通过 ARPANET(Internet 的前身)卖给了 MIT 麻省理工的学生一些大麻,这是通过网络达成的第一笔交易。


此时,未来已来,只是分布不均。


1995 年 4 月 3 日,John Wainwright,面向对象编程的先驱者,也是 ScriptX、MaxScript 和 Objects in C 的作者,在一家刚刚上线的网站上买了一本书,这是 Amazon 在网上卖出的第一本书。


此时,对于 Amazon 来说,未来已来,只是分布不均。


在网上卖商品的未来已经来临,只是分布不均。在地理上,它只分布在美国;在人群上,它只是分布在技术专家;在商品上,它只是分布在书籍。


接下来二十多年,已来的未来冲向那些尚停留在现在的地域、人群和商品,把整个世界带入未来。


02


二十年前,1998 年,我到处讲一套 PPT,主题是 Cisco 的愿景:“Internet 改变人们生活、工作、学习和娱乐的方式”,Amazon 是其中一个案例,为了解多些,我还特意去 Amazon 上买了本书。


当时,假如有人告诉我,二十年后这家网上书店不仅卖书,会在网上卖几乎一切消费品,我多半会半信半疑。


当时,假如有人告诉我,二十年后它不仅会向个体消费者卖东西,还会把 IT 基础设施资源以服务能力的形式卖给企业客户,而且 IBM、HP 都会因此衰败,那我估计是怎么都不会相信的。


或许,我会自作聪明地说:“未来也许有可能,但二十年内还不可能。”


其实,未来已来,只是我没有看见。


03


Jeff Bezos 看见了未来。


1994 年,30 岁的 Jeff Bezos 是华尔街上一个比同龄人成功但也还普通的投资经理,为寻找投资机会开始调研刚开始兴起的 Internet,调研时他发现 Internet 的使用量正以每月 2300%的速度飞升,Bezos 立即意识到其中蕴含的巨大机会,他开始思考会有怎样的未来随之而来。


Bezos 列出了可以在 Internet 上销售的商品的“Top 20”清单,他决定从低成本、高标准化的书籍开始,他立即不顾上司的挽留从华尔街辞职,筹集了父母的积蓄,创办了 Amazon。


1995 年 4 月 3 日,Amazon 在网上卖出了他们的第一本书给 John Wainwright。这只是开始。



John Wainweight 在 Amazon 网站上买的第一本书


书,是“Top 20”清单上的第一项。


It’s just begining.


04


我参加了刚刚结束的 AWS re:Invent,几天议程里,Amazon 陆陆续续发布了几十个新产品,总的产品列表已经有差不多两百项,在大会一眼望不到头的大屏上铺开来蔚为壮观,更不要说产品里面还包含众多的子产品和子服务,有的产品里面子服务也已经上百。


作为一个软件产品公司的负责人,整个过程中我一直在思考的问题就是,Amazon 为什么要同时做这么多产品?他们怎么能同时做好这么多产品?为什么要做这么多产品?同时做这么多产品能做好吗?这需要怎样的能力才能做到?


05


Steve Yegge 是一位著名的前 Amazon 前 Google 员工,他之所以著名,是因为两篇吐槽,尤其是 2011 年的第一篇。


当时 Steve Yegge 在 Google 工作六年多了,此前他在 Amazon 也干了六年多。那天晚上,他在 Google+(不知还有人记得这个产品吗?Google 尸骨累累的产品墓地里最大个的之一)的“前 Amazon 员工组”里发一篇吐槽,但据说因为喝多了(天知道!),手抖发到了大群里,掀起轩然大波,直到最后 Google 创始人出面说不会因此开除他。Google 还是 nice 的,他在 Google 又干了 7 年直到今年初才离开,离开时也没客气,又手抖了一篇吐槽,历数 Google 不再具有创新能力的四大罪状。


在 2011 年这篇吐槽里,Steve 说在 Amazon 和 Google 各干了 6 年半,一想到两家公司的差异,第一印象就是“Amazon 全干错,Google 全干对”(Amazon does everything wrong, Google does everything right),Amazon 待遇低,压力大,办公环境差,招聘标准混乱,从不给慈善事业和社区捐一分钱,代码也是一团糟,等等。


但是,注意,但是,Amazon 有一件事干对了,干的比 Google 强。在 2002 年左右,Bezos 发了一道圣旨。(Steve 吐槽说,Bezos 经常发圣旨,每当圣旨传到,人们就会像被锤击的蚁群开始仓皇行动)


圣旨如下:


1)所有团队今后都要通过服务接口提供数据和功能。


2)所有团队的通讯必须通过这些接口。


3)除服务接口外不得允许任何其它形式的通讯存在:不许直接链接,不许直接读库,不许共享内存,不许任何后门。唯一被允许的通讯就是通过网络的接口调用。


4)不管你用什么技术都必须如此。HTTP、Corba、Pubsub、定制协议,不管什么技术,都必须如此。Bezos 才不在乎你用什么技术。


5)所有的服务接口,毫无例外,都必须设计为可以对外提供的,也就是说,必须被规划和设计成可以提供给 Amazon 之外的开发者使用的。没有例外。


6)任何不照此执行的人,开除。


7)Thank you, have a nice day!


Steve 是个调皮的作者,复述完这 7 条后,他立即说:“哈哈,你们这 150 个 Amazon 老员工当然立即会发现第 7 条是我编的,Bezos 才不管我们有没有 nice day!”


接着他说,但第 6 条可不假,人们立马开始行动。Bezos 分配了一批巨犬,在首席巨犬、前 Walmart 头号虐待官 CIO Rick Dalzell 的带领下监工,大块头的 Rick 是西点军校毕业的军官和拳击手,天天喊着“强化接口!强化接口!”,事实上他自己就像个会说会走的强化接口,每个人都只得拼命干出大进展来给 Rick 看到。在被解雇的工具下,付出几年巨大的痛苦,克服无数宣传 SOA 的书本上永远不会碰到的问题之后,技术团队在 Amazon 内部实现了真正的 SOA(面向服务架构),并随后将这些服务接口陆续向外提供,成为了今天的 AWS。


Steve Yegge 随后写道:“我 2005 年中离开 Amazon,他们还在努力之中,但已经做的相当不错了。从 Bezos 颁布圣旨到我离开,Amazon 已经让整个公司完成了文化转型:用‘服务第一’(一切皆服务)的方式思考一切事情。现在这已经成为他们做所有设计的基础,包括那些可能永远不会对外提供的内部设计。“


06


Steve Yegge 的吐槽很长,大家可以自己搜来看,对我来说,上面这一段是最重要的。它多多少少部分解释了 Amazon 为什么能把这么多产品做好。原因很多,这里我只说一条。


被逼出来的。


首先是被业务逼出来的,所有这些产品,最起码在起初,是 Amazon 自己内部使用的,这就逼着 Amazon 必须把产品做好,最起码要可用可靠。


但 Amazon 的系统要支撑庞大的电子商务百货商店和巨大的业务压力,按说要把系统做成能高度模块化拆解的众多标准化服务,几乎不可能。


这时候,就靠人来逼了,从 Jeff Bezos 的无情圣旨,到 Rick Dalzell 的愤怒吼叫,加上已经形成的苛刻严格的企业文化,无助的工程师们在威逼之下完成了不可能的任务。而在文化自由度较高的 Google,要做到这点就非常困难了。(怎么让我想起前一段时间国内一篇著名吐槽文章里对阿里和腾讯的对比?)


因为所有的团队都要以标准化的方式向其他团队提供服务接口,意味着每个团队都有明确的客户,而且 Amazon 的业务需求使得客户对产品的可用性要求很高,来自客户的不间断运行的业务需求压力和巨大的管理和文化压力,逼出了 AWS 上众多的产品级的云服务。


07


Jeff Bezos 为什么要颁布圣旨?AWS 又为什么要不断地推出众多新的云服务产品,甚至其中有些已经是 Amazon 自己内部并不会使用的产品?


有几条线索和逻辑在共同起作用。


Jeff Bezos 的圣旨,很可能发端于一次 Amazon 的内部读书会。作为书店起家的巨头,Jeff Bezos 最大的个人爱好是阅读,他也将此发展成了企业文化中的重要一环,高管层会定期进行集体参与的读书会。


某次读书会,讨论的是《Creation》,此时 Amazon 管理层正饱受 IT 系统建设和运维之苦,在讨论时书中提到的 Primitives(原件、基本体)概念给了大家启发,开始思考如何将 IT 系统结构成一个个基本的服务单元。讨论最终催生了 Jeff Bezos 的圣旨,并在强执行力的文化驱动下,开启了 AWS 的云服务大门。


08


除了《Creation》的 Primitives 概念的启发,我觉得 Bezos 已经看到了把这些基本 IT 服务单元当作商品向外出售的未来。大家注意圣旨的第 5 条:


5)所有的服务接口,毫无例外,都必须设计为可以对外提供的,也就是说,必须被规划和设计成可以提供给 Amazon 之外的开发者使用的。没有例外。


Bezos 很明确地提出了服务接口要设计为可以对外提供的,作为在 1994 年就拉出可以在网上卖的商品清单的前瞻者,当时他一定已经看见了已来的未来不仅要蔓延到书籍以外的各种消费品上,也会蔓延到企业使用的 IT 服务上,而全球网络基础设施的日渐成熟和业务系统向互联网的迁移,已经为未来的流淌铺好了河道。


未来已来,只是分布不均。


09


AWS 的云服务产品清单越来越长,他们已经在把所有现在存在的 IT 产品都搬到云上,转化为云服务的产品形态,不管是不是他们自己内部使用的,只要客户需要,他们就做。


而云服务的产品形态给他们带来传统产品模式无法比拟的在迭代、控制、效率上的优势,从而创造了惊人的产品推进速度,不仅仅是基础设施,不仅仅是虚机、容器,不仅仅是存储、网络,包括几乎所有类型的数据库服务,中间件服务,数据分析服务,机器学习服务,IoT 服务,各种开发环境和开发工具,几乎覆盖到所有你能想到在服务端需要的,如 Andy Jassy 在 re:Invent 主题演讲上引用的歌词:“I Want it all, I want it now!”


Andy Jassy 微笑着说:“ We give you all, we give you now!”


10


听到这句话时,忽然有点儿明白,AWS 并不是在做那么多产品,他们只是在做一个巨大的产品。


AWS,其实是 All World Server,或者说,A World Server。


AWS 的未来,就是全世界只有一台大服务器,它的名字是 A World Server,缩写为 AWS。


AWS 主页上长长的产品目录,其实是这个服务器的 BOM 单(Bill-Of-Materials),那众多的云服务产品,于这台大服务器而言,相当 iPhone 里各种零部件、软硬件组件、驱动程序和操作系统之于 iPhone 的关系。


AWS 之野望,就是成为那台唯一存在的大服务器,不仅是服务器,还是唯一存在的操作系统,唯一存在的数据库,唯一存在的中间件,唯一存在的开发工具,有一天,所有的写服务端程序的开发者只需要写写业务逻辑,放在他们的 MarketPlace 上对外提供就好了。


AWS 做的,是一台服务器,所以它即使提供私有云方案,也一定是要联到它的云上的混合云,对它来说,那只不过是放在你自己机房里的一个分布式板卡而已。


与此同时,前端开发者们正在把他们的程序放在 Apple 的 App Store 上,或者 Alphabet 的 Anroid Market 上。


(有趣的是,Amazon 的 AWS 要占据 B 的服务端,Apple 的 iOS 和 Alphabet 的 Android 要占据 C 的终端,他们都是 A 字打头的。在 Andy Jassy 展示的云市场占有率的 PPT 上,排在超过一半占有率的 AWS 后面的两朵云,也是 A 字打头的。5A。)


11


史上最强的科幻小说作家之一阿西莫夫,1956 年某天,被一个念头击中,一气呵成写出了他自己最喜欢的短篇小说,也是我最喜欢的科幻短篇,《最后的问题》。


小说的主角,是一台为全人类服务的,可以解决全人类计算需求的巨大的、唯一的服务器,并在 2061 年将人类带进新的光明时代。


也是在 2061 年,它第一次听到两个运维工程师向它问出了最后的问题,那个它一直为之努力到宇宙终结的问题。


它的名字,叫 AC,也是 A 字打头。


当 AC 真的要来时,我是该欣喜,还是该恐惧?


12


未来已来,只是分布不均。


我们或者可以努力把已来的未来带给还停留在今天的人们,或者可以平静地等待被远处奔袭而来的未来吞没。


或者,我们可以创造崭新的、自己希望的未来。


本文转载自成哥的世界公众号。


原文链接:https://mp.weixin.qq.com/s/9yODyJpAOuEx2fTFbg13hw


2020-04-19 17:17969

评论

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

【LeetCode】连续的子数组和Java题解

Albert

算法 LeetCode 6月日更

无刷电机与有刷电机的区别

不脱发的程序猿

无刷电机 有刷电机 电机

拍乐云推出业内首个「线上美术教学音视频方案」,打造极致互动体验

拍乐云Pano

《面试官:谈谈你对索引的认知》系列之磁盘I/O

架构精进之路

MySQL 索引结构 6月日更

用了10年Windows后,我最终转向Linux

学神来啦

Linux windows

springboot-vue-activiti前后端分离快速开发平台脚手架,整合工作审批流,流程在线编辑器

金陵老街

Vue 后端 工作流 springboot

阿里P8熬了一个月肝出这份32W字Java面试手册,在Github标星68K+

Java 程序员 面试

华为 HarmonyOS 正式发布!你还认为鸿蒙只是安卓套壳吗?

北游学Java

鸿蒙

玩转容器存储QoS

焱融科技

云计算 容器 云原生 QoS 超融合

为什么要做语音聊天室

anyRTC开发者

音视频 WebRTC 语音 RTC

即构互动白板升级:全面支持教育机构上线H5交互课件

ZEGO即构

音视频 在线教育 互动白板

佣金产品的敏捷交付

鲸品堂

佣金产品 敏捷交付

架构实战营 模块五作业

netspecial

架构实战营

iOS上的CSS样式协议 VKCssProtocol

iOSer

CSS ios 移动开发 ios开发 VKCssProtocol

阿里直通车?阿里Java面试“内幕”:十万字内部面试题总结

Java架构追梦

Java 阿里巴巴 架构 面试

python使用命令行传入参数

卤蛋翔

6月日更

Flink 在有赞的实践和应用

Apache Flink

flink

拍乐云受邀QCon大会 | 详解音视频技术架构实践,首发美术教学音视频方案

拍乐云Pano

“盒模型“初探

编程三昧

CSS css3 大前端 盒模型

论文解读丨空洞卷积框架搜索

华为云开发者联盟

网络模型 目标检测算法 空洞卷积 卷积 空洞卷积框架

☕️【Java 技术之旅】知识盲点关于jar包的点点滴滴

码界西柚

Java jar Jar包扫描 6月日更

蓝海战略 - 如何设计与众不同的价值曲线

石云升

战略思考 职场经验 6月日更

毒瘤还是银弹--低代码与传统研发模式案例对比

赫杰辉

低代码 低代码开发平台

【译】JavaScript 代码整洁之道-复杂判断

KooFE

JavaScript 大前端 6月日更 整洁代码 条件判断

defi流动性挖矿系统开发案例分析,defi流动性挖矿现成源码

系统开发咨询1357O98O718

【干货篇】bilibili:基于 Flink 的机器学习工作流平台在 b 站的应用

Apache Flink

flink

官宣!禅道与极狐(GitLab)达成深度合作,携手推进开源开放DevOps生态发展

禅道项目管理

项目管理 DevOps gitlab

vim 操作模式简介

编程三昧

vim 工具

自媒体需要追求内容真实性:不能被流量裹胁

石头IT视角

最新!GigaOm 发布 API 网关评测报告:API7 和 Kong 企业版本性能对比

API7.ai 技术团队

负载均衡 架构 云原生 后端 网关

Consul场景用例:服务注册(Service discovery) & 服务网格(Service mesh)

awen

微服务 Consul Service Mesh 服务网格 服务注册与发现 服务网格

AWS之野望:All World Server_文化 & 方法_成哥的世界_InfoQ精选文章