揭开亚马逊 EC2 的面纱

云计算方面最近有两件大事,第一是上个月 24 日微软启用了位于都柏林的数据中心,这是微软首家位于美国之外的大型数据中心,拜高纬度地区与海洋性气候所赐,形成了适度偏冷而又温差较小的独特环境,因此这个数据中心没有采用制冷设备。不过令人惊异的是,不到一周的时间内微软又启用位于芝加哥的数据中心,这个数据中心算得上世界最大的数据中心之一,虽然没有都柏林那样的气候,但凭借着近水的优势,得以利用水流来冷却,同样也是省却了许多制冷机,料想这个数据中心的设立应该是为了即将在 11 月转正的 Windows Azure 吧。另外的一件事则是围绕着讨论亚马逊 EC2 服务的具体规模而展开,缘由是 Guy Rosen 对 EC2 资源编码的破解,结果非常惊人,仅在美东 1 区(编者:us-east-1,EC2 服务集群的区域代号,目前 EC2 在美国东部共有 4 个服务区。), 24 小时内录得 50242 个正在运行的 Instance (编者:EC2 的计算单元,也是接下来的文章中频繁提到的一个词汇,基本上相当于一个虚拟机,不过这个数字的正确与否有待考证)。而下面这篇由 Randy Bias 所写的文章,则进一步的向人们揭示了 EC2 更详尽的信息。

原文链接;作者:Randy Bias

最近 Ruv Cohen 谈了云计算的蓬勃发展,Guy Rosen 则从 EC2 的资源代码中初窥端倪。今天我要做的,除了确认 EC2 的相关数量,还会提出一些猜想以及 EC2 目前粗略的年使用量。虽然并非只有我一人知道 EC2 的内情,但是不妨通过这些信息来更准确的预测 EC2 的收益,而一旦得知收益也就可以推算出基础云计算服务业(IaaS)的总体规模了,通过 10-Q 报表(编者:一种季度性财务报表)甚至还能知道 EC2 业务的年增长率。
 
EC2 有多大?
 
很大,约有 4 万台服务器。至少有两个接近 EC2 的消息源告诉我这个信息,虽然不便透露他们是谁,不过这二位与我相熟,值得信赖。第一个人告诉我共有 4 万台服务器,第二个人确认了这个数字接近实际情况,最多不会超过 +/- 1 万台,即 25% 的误差率。然而我认为我的推测已经非常的接近,误差更像是在 +/- 5 千台。无论如何,25% 的误差率已经足够让我们做出准确的推断了,在接下来的文章里,我将使用 4 万台作为基准。
 
在开始之前我得说,作为亚马逊网络服务(AWS)业务最大的一块,它的数量真是让人感到惊讶。不过更精彩的还在后头,我将会告诉你更多 EC2 的信息和收入情况。
 
EC2 的规格
 
我将它们划分为三种情况。
 

非常肯定

  • 亚马逊没有超额配售内核(编者:Oversubscribe cores ,即向用户出售多于自身能力的 CPU 资源,但几乎可以肯定的是,亚马逊超额配售了磁盘,不过这种现象在业内极为普遍,亚马逊如此而为倒是异数。)
  • 亚马逊使用 Rackable(编者:SGI 的前身)服务器,大部分是 2U 双处理器系统,8 个内核,型号有可能是 S2108
  • 一些老旧的机器也采用 2U 双处理器结构,但核心总数是 4 个。
  • AWS 体系内服务器的目标成本大约是 2 - 2.5 千美元。
  • EC2 最初的目标利用率是 70 - 75%。
  • AWS 最近常出现性能方面的问题(是由于增长的太快了吗?)
  • 亚马逊开始将主站的计算需求移入 EC2 中。
  • 磁盘系统使用 RAID 构建,有可能是 RAID-0 模式。

很肯定
  • 大部分服务器在美国,小部分在欧洲,位于美国的服务器性能占了总量的 75-80%。
  • 每台服务器装有 8 个 500GB SATA 硬盘。
  • 每个机柜装有 16-18 个 2U 机箱,很可能是 16 个。
  • 各类 Instance 背后的硬件结构都是相似的,并已经升级了几代。亚马逊在所有服务器之间协调资源,没有特意为不同的 Instance 购置不同的服务器。
 
推测和假设
  • 4 万台服务器均匀分布在 6 个区域之中。
    - 每个区域 6700 台服务器。
    - 每个区域 417 台机柜,总共有 2500 台机柜。
    - 在没有冗余电源的情况下每个机柜使用 2*30A 电路,功率大约在 6.5 千瓦。
    - 总功率大约是 1.63 万千瓦,不包括暖通、制冷和变电和办公设备等所消耗的能量,也不包括 AWS 其他服务所消耗的能量。
    - 服务器群占地面积为 9.5 万平方英尺(8826 平方米),加上支持系统后占地面积将达到 20 万平方英尺(18581 平方米)。
  • 我猜大约有 20% 的 Instance 是预定(Reserved)类型,这意味着一年能享有 70% 的折扣。
  • 另一个猜测是多达 20% 的 EC2 资源是留给 Amazon.com 专用的。

Instance 使用情况

上述所说的若非确定的数值就是有把握的猜测。而为了推测 EC2 的收入,我得先对每种 Instance 所占比例做一个假设,虽然这些数值时刻在变动中,但大致在一个范围内。
我并非信口开河,你可以点此了解我的经历。简单说吧,我从 1990 年起开始参与大型基础设施的建设,曾经协助建造多个超过 10 万平方英尺(9290 平方米)以上的数据中心,也曾是美国顶尖基础云计算服务公司的高管人员。我相信我所运营的 Cloudscaling 网站将会是云计算咨询领域里的尖兵。

做一些大胆的猜测吧,在 Instance 中:
  • m1.small 占 21%
  • m1.large 占 35%
  • m1.xlarge 占 20%
  • c1.medium 占 13%
  • c1.xlarge 占 11%

确切数字难以考证,但我的假设基于以下几点:
  • 大多数人一开始都是使用 m1.small ,到了产品问世之后便转向 m1.large ,因为后者的数据吞吐能力令人满意。(这也是一个 EC2 众所皆知的一个现象。)
  • m1.small 曾占有支配地位(100%),但随着越来越多的人使用更快的 Instance ,它的份额在不断的下降。但对于测试用途来说,它的价格非常合理,所以仍然有不少人在使用它。
  • m1.xlarge 主要用途是大型网站的数据库,状态很稳定。这些网站将数据库切分为小块,在业务增长了之后便能更好的部署。
  • 曾有人告诉我高速 CPU 类型 Instance 的需求并不多,虽然他们相对来说比较新,我相信这类型的总量大约在 25% 左右,主要用来做批处理和高性能计算。


我认为 m1.large 正在成为新的 m1.small ,将会是使用量最多的型号,加上用来运行数据库的 m1.xlarge ,这两部分的总量大约会在 55%。高性能 CPU 类 Instance 比料想的要多,数额在 24%(据我的消息源所说),那么剩下的 21% 就是小型 Instance 了,虽然份额在持续下降,但是速度很慢。

利用率

最初的目标利用率是 70%-75%,若 AWS 达到了预定目标的话,我认为这个比率最小在 70%,最大不会超过 80%,平均值则在 75%。在多年运营之后,我相信他们运作的很好。

EC2 的收入

将上述数据置入电子表格中,加上一些猜想和已知情况,可以得出如下的结果:

EC2 Instance 的使用量:

  • m1.small 34675 个
  • m1.large 28896 个
  • m1.xlarge 8256 个
  • c1.medium 5366 个
  • c1.xlarge 2270 个


EC2 Instance 的营收:

  • 每小时 2.53 万美元
  • 每个月 1.82 千万美元
  • 每年 2.18 亿美元

别忘记这些数量并不包括 EBS(编者:Elastic Block Store,AWS 的数据储存业务),带宽租赁费用,以及其他费用等。所以真实的营收应该要更多一些(多 25% ?)

可以在此下载电子表格,但请容我事先声明,这并非商业分析,随意使用风险自负。

EC2 其他收入以及增长率

有趣的是亚马逊财报中有关 AWS 的部分列在了「其他」一栏里。最新的 10-Q 报表显示今年上半年「其他」业务的收入总额是 2.6 亿美元。我的消息源告诉我,EC2 的收入很可能是 1.09 亿美元(正好是我预测数量的一半),S3 的收入则少的多,大约是 EC2 的 1/10 。其他部分还有 IMDB 和 A9,两者都在 1-2 千万之间,剩下的由 AWS 信用卡业务和带宽租赁组成。

由此可以得知 EC2 业务占了亚马逊「其他」收入的绝大部分,因此可以更加肯定的认为 EC2 贡献了大部分的增长率。 去年「其他」业务的收入是 2.3 亿多美元,因此增长率大约在 10%,在紧缩的环境中有这样的成绩令人印象深刻。当然如果撇去了其他收入,例如 A9 等,EC2 的增长率只会是更高。

基础云市场规模

根据传闻,我得知 Rackspace (或其他类似的云服务公司)同样增长迅猛,但即便是最为接近亚马逊的竞争对手,Rackspace 云服务的规模最多也只是 EC2 的 10%。以 EC2 为基准并辅以其他信息可以得知基础云市场的规模大约是在 4-6 亿美元,在全球经济萎缩的情况下仍保持着 10-20% 的年增长率,相对于主机租赁行业衰退的情况来说这的确令人惊讶。

总结

知所未见实在是令人兴奋的事情,相信你也感受到了这是一个正在快速增长的市场,不过它依然处在生命中的早期阶段,如果它获得更多的投资与关注,随着经济的恢复,达成一个新的 10 亿美元级别的产业应是指日可待。