2000 年,正值互联网泡沫破裂时,我在亚马逊工作。当时,资本市场枯竭,而我们每年要烧掉 10 亿美元。其中,最大的开销是数据中心,里面全是昂贵的 Sun 服务器。为了压缩成本,我们花了一年时间“去 Sun”,用 HP/Linux 替代它。这为 AWS 奠定了基础!
昂贵的 IT 基础设施
1999 年,我进入亚马逊。在工作第一周,我在电梯里遇到史考特·麦克里尼(Sun 创始人兼 CEO),他正要去贝佐斯办公室。当时,Sun 公司是世界上最有价值的公司之一,其最高市值超过 2000 亿美元,全球拥有 5 万名雇员。
尽管 Sun 的产品不便宜,比如一台工作站要上万美元,一台服务器要 10 万美元,但是其产品不愁销路,因为购买 Sun 的产品就像买 IBM 的东西一样,“没有人会被解雇”。
我们的座右铭是“快速成长”。为此,网站的稳定性至关重要——每一秒停机时间都意味着销售损失,所以我们花费大笔钱来维持网站的正常运行。
而 Sun 服务器是最可靠的,虽然它的专有栈很贵,而且棘手,但是所有的互联网公司都在用它们。
.Com 泡沫破灭,亚马逊开始“去 Sun”
不过,到了 2000 年,互联网泡沫破裂,那些由风投支持的初创企业纷纷倒闭,全新的 Sun 服务器开始以原价 10%的价格出现在 eBay 上。那时,AWS 还没影,你必须建立自己的数据中心。虽然亚马逊本可以与 Sun 达成更好的协议,但是贝佐斯选择了一种更激进的方式:用 HP/Linux 取代 Sun。早在 1994 年,Linux 内核正式发布,同一年,贝佐斯创立亚马逊。6 年后,这家公司将全部赌注压在 Linux 身上。这在当时是一种新颖又冒险的做法。
在“去 Sun”的过渡期间,产品开发停滞不前,我们冻结了所有新功能长达一年多。在我们面前,是一个巨大的待办事项清单,但在向 Linux 迁移完成前,什么都不能发布。
我很清晰地记得,在一次全员会议上,一位工程副总快速展示了一张蛇吞老鼠的图片。
这与收入增长减速同时发生——并进一步加剧了这种减速,因为我们还不得不提高价格以减缓公司燃尽速度。这是一个恶性循环,我们没有时间也没有钱。这个时候,再有几个季度,亚马逊就要破产了。
但是,一旦我们开始向 Linux 迁移,就没有回头路。所有人都被动员起来重构我们的代码库,替换服务器,准备切换。如果成功,基础设施成本将下降 80%以上。如果失败,网站就会倒掉,公司就会灭亡。
最终,我们及时、顺利地完成了迁移。对整个工程团队来说,这都是一项巨大的成就。网站继续运转,没有垮掉。资本支出在一夜之间大幅减少。突然之间,我们有了一个无限扩展的基础设施。
从出租服务器开始,AWS 诞生
然后,更有趣的事情发生了。作为一家零售商,我们一直面临着巨大的季节性问题,每年 11 月、12 月,流量和收入都会飙升。贝佐斯开始想,我们每年有 46 周服务器过剩,为什么不租给其他公司呢?
大约在同一时间,他还对解耦内部依赖关系产生了兴趣,这样团队的构建就可以不受其他团队的限制。实现这个松耦合模型所需的架构更改就成了 AWS 的 API 原语。
这些都是 AWS 的基本洞察。我记得,贝佐斯在一次全体会议上,展示了这个形成于电网背景下的想法。在 1900 年,企业要开店必须自己建造发电机。可是为什么 2000 年的企业还必须自己建数据中心?
没有 AWS,云基础设施最终也会出现(就像没有特斯拉,电动汽车也一样),但时间会拖多久,机会成本会有多大?在 AWS 大幅降低创办公司的成本后,创新爆发,现代风投生态系统诞生了。
在 2000 年至 2003 年,亚马逊几乎破产。但如果没有这场危机,该公司就不太可能做出这个艰难的决定,转向一个全新的架构。如果没有这种转变,AWS 可能永远不会出现。要在危机中发现良机!
另外:亚马逊最近花了数年时间去 Oracle,很少有人这么做过。做困难的事情需要实力,而实力是通过做困难的事情锻炼出来的。最好的公司把每一次挑战都视为机遇,将这种理念融入在他们的文化中。
原文链接:
评论