猜猜亚马逊的云计算有多大

(译自 Timothy Prickett Morgan,原文:http://www.enterprisetech.com/2014/11/14/rare-peek-massive-scale-aws/)

8 年前,亚马逊发布了第一个云计算产品。亚马逊一直坚持云计算的目的,就是屏蔽底层的硬件,为开发者提供计算资源以运行应用程序。 对于 AWS,还有其母公司亚马逊,硬件都是一个竞争优势。亚马逊一向不大愿意过多谈论自己的数据中心和系统。 但是那些竞争对手们,包括 GOOGLE, MICROSOFT 和 IBM,则大肆宣传在云计算上的投入和创新。亚马逊也就不得不稍稍揭开一点自己的神秘面纱。

原因很简单。亚马逊的在线零售业务,是一个700亿美金的庞然大物,大虽大,但耗费现金并不多。 Jeff Bezos,亚马逊的创始人兼 CEO,对于利润的兴趣很小,对于改变世界的兴趣倒是很大。然而,云计算毕竟是这个世界上,资本最为密集的行业之一。Google 可以在数据中心上花费几百亿美金而毫不心痛,背后有垄断性业务“搜索引擎”的支撑。 Microsoft,则在桌面软件和数据中心软件方面有着垄断的地位,钱袋一样深不可测,自然也一样敢于一掷千金。

Google 和 Microsoft 在烧钱上的本事,无人能及。 但他们的基础设施和平台服务,面对亚马逊时的竞争力,还是令人生疑。 但若从长期来看,亚马逊能否跟得上 google 和 microsoft 的脚步,却很成问题了。 于是,AWS 的副总裁,卓越的工程师,James Hamilton 透露了AWS 云的规模和范围。目的自然为了告诉大家,亚马逊的领先地位以及对云计算的决心。

最重要的,永远是规模。做在线零售的亚马逊,当然清楚这个。 亚马逊很少谈及公有云,因为在亚马逊的理论中,云计算就不该是私有云。亚马逊认为,长期来看,公有云的巨大规模,意味着大部分的组织和机构都不需要运营自己的数据中心。

在 AWS 的 Re:Invent 大会上,jassy又一次强调,自云计算业务开始以来,他和亚马逊的 CTO Werner Vogels 就支持这个论点。(亚马逊为美国中央情报局建设过一个特殊的 AWS 私有云,签署了为期10 年,6.6 亿美金的合同。但那只不过是一个例外。云计算本质上还应该是公有的)。 Jassy and Vogels的信念很简单: 只有覆盖了全区域,具备大容量,提供最丰富功能的云,才能胜出。会有一些例外,比如说金融服务云,或者那种100%运行特殊硬件和软件的巨型计算中心。 公有云的资源不仅足够好,而且一定会超越大部分的私有云。

AWS 将底层的计算能力、存储和网络功能,抽象出来,这样开发者就可以专注于应用开发。抽象出来的资源,要么形成纯粹的基础设施,要么在其上继续抽象出一层平台服务,便于进一步实现自动化部署和对中间件、数据库和支持应用的其他服务的管理。但这并不是说底层的基础设施不重要。 实际上,亚马逊投入了巨大资金,用来设计和建设数据中心,并优化各方面的设施从内存条到数据中心的墙壁。基础设施确实重要,绝对能够形成竞争优势。

网络的事,比服务器还麻烦

和许多超级数据中心一样,亚马逊的服务器,刚开始也是从一线的服务器制造商那里购买。亚马逊成了rackable system(现在是 SGI 旗下公司)最大的客户。 后来,亚马逊决定自行制造系统,以便针对自己的工作性质进行精确调优。尤为重要的,是为了能够与其数据中心、电力、制冷系统严丝合缝的配合。数据中心在与时俱进的发展,系统也需要步调一致的前进。

过去,亚马逊在其基础设施的规模问题上,只含糊其辞,从不给出准确的数据。从2004年开始,AWS 每一天都要安装足够多的服务器以支撑亚马逊的在线零售业务。那个时候,亚马逊的收入规模,仅为70亿美金,仅为现在的1/10。

“去年发生的那些变化?”Hamilton反问道,然后开玩笑说:“我们都执行过365次了。”

换句话说,去年 AWS 增添了足够多的容量,以支撑2.55万亿的在线零售业务。 

那么,AWS 到底容量多大? 答案是:比很多人想的还要大。

下面就是关于服务器的计算了。 亚马逊在全球11个地区拥有数据中心。 每一个地区拥有最少2个可用区,这样所有地区一共拥有28个可用区。 (包括两周前在德国法兰克福启动的新地区)这些可用区为本地的工作负荷,提供隔离的和冗余的能力。类似那种串联或者分层的容错系统,在数据中心和服务的层次上工作,而不是在两个系统之间严格步调一致。每个可用区最少有一个数据中心,有些则多达6个数据中心。 (2013年1月,Hamilton 在 Re:Invent 会议上说,仅只美东地区便有超过10个数据中心,但在2014年的Re:Invent 会议上他的演讲中,又说没有可用区拥有超过6个数据中心。)目的是为了让客户能够构建自己的应用,运行在不同的可用区上,以实现本地数据保护。更进一步,实现跨地区部署,达到更高层次的可用性。 亚马逊通过增加新的数据中心,以为每个可用区提升容量。

基本上,和企业客户增加的机架一样,数据中心实际上就是 AWS 的新机架。

好了,这一切都还是很有意思的。 Hamilton 说 AWS 的每一个区域都最少有两个可用区,每个可用区则最少有1个数据中心。然后他又补充说,一个典型的数据中心最少有5万台服务器,有的超过8万台。 另外,数据中心的规模效益在到达顶峰后便即下降。随着规模扩大,在某一个点,数据中心的边际成本开始上升,而不是下降。 更重要的是,在到达某一个数值后,一旦发生灾难型事故导致数据中心失效,则殃及的“爆炸半径”太大,使得过多的负载无法转移。

做一点计算吧。 假设 AWS 有28个可用分区,每一个数据中心只有5万服务器。这是 AWS 基础设施最小的容量了。这样,全球共有140万服务器。如果你不相信,说每个分区有8万台服务器(我们知道这不是真的,只不过设置一个错误的最高界线),那么就是224万机器。 为了更准确的猜测 AWS 基础设施的规模,你必须猜测可用区中,数据中心数量的分布情况。 我认为很少情况下,只有一个数据,大部分都是2个数据中心,拥有更多数据中心的情况则越来越少,直到到达最大值6个数据中心。我把数据摆弄来摆弄去,觉得28个分区,一共87个数据中心这样的估算还是靠谱的。 每个分区平均3个数据中心还要多一点。 如果假设每个可用区平均6万5千个服务器,那么你会看到数值很大:564万服务器。如果平均5万服务器,则降低到全球420万机器。如果假设每个可用区的数据中心少一些-比如平均2个-那么一共280万台机器。 由此,答案是 AWS 可能拥有280万到560万服务器。 我也意识到很可能误差很大,可是也只能这样猜测了。

总的来说,规模是巨大的。 还不止这些,亚马逊还投入了巨大资金,制造自有的网络设备,并建设了私有网络,从而把所有数据中心连接在一起形成一个巨大的全球集群。 这是 Hamilton 谈起来最兴奋的东西,因为网络是计算能力最大的瓶颈。

“对我们而言,网络互联是当前最大的危机” Hamilton解释道“网络建设的成本,与所有其它设备的成本都相关,不断攀升。在这方面是反摩尔定律的。我们所有的设备都在降低成本,我们也在压低价格,但网络成本则反向而行。这是个大问题。往前再看远几年,网络的问题越发严重。同时网络是反摩尔定律的,网络建设对计算能力的占比也在上升。”

Hamilton 说,部分原因,是由于每一代的cpu都带来更多的计算能力,而每单元计算能力的成本则在下降。 越来越多的人,做越来越多的数据分析,而数据分析工作对网络的需求巨大,给网络带来巨大压力。(这是因为数据分析,和超级计算机的运作一样,在节点之间要进行大量通信,也就是所谓的“东西流量”。而另一种“南北流量”则是 web 应用从服务器上请求一点数据并在互联网上显示出来。二者区别很大。)

所以约五年前,当问题刚刚出现时,AWS 设计了自己的网络路由器并去原厂制造硬件,并组建团队在硬件上开发网络软件。

亚马逊从定制网络设备中学习到的第一件事,和它很久以前从服务器和存储中学到的一样: 如果你用极简主义理念,自主制造所需的设备,那么就会便宜很多。“仅仅网络设备的服务合同,常常就要几千万美金。”

但即便对 Hamilton 而言,也是颇为惊奇的事:网络的可用性上升了,而不是下降。 这是因为 AWS 交换机和路由器只具备 AWS 在网络上所需的功能。 但商业网络操作系统,则必须覆盖所有可能需要的场景和协议,因而往往需要几千万行的代码,从而带来维护上的困难。 “我们的设备更可靠,因为我不需要面对那些更麻烦的问题。能完成任务的,就是好方法。”

另一件事,亚马逊,尤其是 AWS 热衷于测试并收集运行数据。 当亚马逊第一次测试自己的网络时,用了8000台服务器,容量3兆瓦的数据中心。而这个数据中心的建设成本约为4千万美金。任何一家最大的网络设备提供商都做不到,但 AWS 可以,而且做到了。 严格来说,亚马逊是从自己那里租了这巨大规模的数据中心用以测试,在几个月里花费了几十万美金。今天亚马逊所有网络都在使用这自有的网络软件。与拥有软件和详细测试一样重要的是,亚马逊持续开发代码并投入生产。 “也许开始的时候确实差一点,但确实越来越好。”

简单来说,这就是超级系统的独特之处。 总是从简陋,到还凑活,一直到完善状态。 走一条稳定、革新的路,当然这条路会时时被新的理念打断均衡的过程。

AWS 当前有11个地区,2年前是9个地区,还将增加更多以接近客户,并满足业务上对政府管辖权的需求。(德国地区就是因为德国的商业机构和政府机构,不能在爱尔兰存储数据而创建的)这是他们分布的位置:

所有的地区都连接在一起,通过私有光纤通道,而不是通过购买第三方的通道。原因很简单: 这样做,不会因为运营商的问题而导致网络带宽缺乏,而且网络是你自己的,你清楚知道网络的效率。也更加经济,对于亚马逊这么大的规模,自己拥有网络,在每个字节上的单位价格一定更便宜。 另外,自有的网络也比较快,亚马逊不会缓冲自己的流量。而运营商遇到过载的时候,就会对流量进行缓冲。 “更可靠、更经济、也更少延迟” Hamilton这样说。


美东地区,弗吉尼亚州的阿什本,共有5个可用区。这些可用区都是受保护的区域,各自分离并隔开几公里,由高速、低延迟网络连接。这样一来,同步的复制就是可能的,而且地理上的隔离足够远,两个可用区(存储数据和应用的多个版本)同时出现事故的可能性就很小。 可用区单元由光纤联接,使用密集型波分复用传送数据包。在美东地区,一共有82864条光纤。 可用区在延迟方面通常都小于1毫秒,绝对小于2毫秒;这个速度是可以进行同步数据复制的。要知道,固态硬盘的数据保存也要在1-2毫秒之间。

企业经常在关键应用上,通常都会进行跨区域复制。但在麻烦一些的场景中,比方说,一个数据中心在纽约,一个在洛杉矶,则延迟大约为74毫秒。这种情况下,就无法进行同步复制,这就意味着一次失败,数据就会在到达备份系统的传输途中丢失。这样一来,就只能使用日志恢复,而这则要花费数天时间了。

这就是为什么亚马逊在 2000 年要发明可用区。 这种方法一定程度上,更加昂贵,但灾难恢复更快。 可用区在美东地区有 25Tb/sec 的带宽,为了应用的可靠性,这个花费还是值得的。对于在线零售商来说,这肯定是必须的。 想像一下你开车去沃尔玛,而整个库存却都空了。如果发生了愚蠢的错误,例如负载均衡失效,则可用区中的一个就会承担负荷并继续工作,重建同步随即便可开始。


让我们进入一个可用区看看。 美东地区的可用区中,每个数据中心之间网络传输只需1/4毫秒,而且没有一个数据中心跨越2个分区。 实际上,如上所述,一个可用区可以有多个数据中心,美东看上去有10个数据中心,而据说有些可用区有多达6个数据中心。 可用区中有多个冗余交换中心。这样,即使亚马逊丢掉一个交换中心和多个可用区,一切都还可以正常运行。

进入一个可用区的数据中心,如上所述,有50000服务器,有时候还会多达80000机器。 一个aws数据中心大概在25兆瓦到30兆瓦之间,如果一共有87个数据中心,则总共有2.17吉瓦(2.17个十亿瓦)到2.6吉瓦电力消耗。 Hamilton 说亚马逊可以运行60兆瓦的数据中心,但问题是,从2000个机架到2500个机架,成本并不会降低很多,而且灾难范围,也就是他所说的“爆炸半径”,太巨大。 “从某个点开始,价值降低而成本升高。在我们看来,这大概就是正确的数字了”Hamilton这样评价亚马逊为数据中心定义的大小。

记下来吧,竞争对手们。

一个单独的数据中心,有高达102 Tb/sec 带宽的分配,这是美东地区的可用区之间的带宽的4倍。Hamilton补充说数据中心内部的带宽还要“远超” 102Tb/sec。

再到一个机架里看看,到一个服务器和虚拟网卡里看看。 网卡支持SR-IOV,这是PCI-Express协议的扩展。 PCI-Express 协议对物理网络设备的资源进行虚拟化。 SR-IOV绕过操作系统上运行的通常软件协议栈,以及网络驱动和支撑他们的hypervisor层。从应用到网卡,需要几毫秒。 通过网卡只需要微秒,而通过光纤到达另一个服务器的网卡接口则只需要几个纳秒(十亿分之一秒)。“这就是说最麻烦的就是两端软件上的延迟” Hamilton解释。 SR-IOV非常轻量,给虚拟机上的每一个客户分区一个自己的虚拟网卡。这些虚拟网卡来自物理网卡。

为什么亚马逊实现这些这么难? 因为需要为网络协议栈添加安全、隔离、计量、控制和效率衡量等去掉的功能。 这些都需要耗费时间。 AWS 的新实例类型都有SR-IOV功能,也将在所有实例类型中普及。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,376评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,126评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,966评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,432评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,519评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,792评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,933评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,701评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,143评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,488评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,626评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,292评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,896评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,742评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,324评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,494评论 2 348

推荐阅读更多精彩内容