亚马逊AWS业务副总裁:如何在基础设施上降成本

腾讯科技 林靖东 11月17日编译

亚马逊Amazon Web Services业务的副总裁、著名工程师詹姆斯汉密尔顿(James Hamilton)在AWS re:Invent大会上解释了公司是如何尽可能地将成本降低,同时又尽可能地将创新提高的,其实关键在于控制基础设施。

如果有人还想搞清大型云服务供应商如何不断推出新功能并降低服务价格的话,不妨听听詹姆斯汉密尔顿是如何说的。他的回答其实很简单,就两个字:规模。

规模就是AWS成功的秘诀。为了说明这个问题,汉密尔顿指出了一个经常被引用的统计数据:当亚马逊网站的销售额达到70亿美元的时候,为了支持公司的整体运作,AWS每天都要增加大量新的容量。他补充说:“实际上,它当时的规模比那大得多,公司的业务每一天都在壮大。”

汉密尔顿说,一周七天就是AWS的周转时间。AWS现在已经在全球9个地区部署了服务器,有些地区还建了多个数据中心。他解释说,你建的数据中心越多,你获得的业绩就越好,冒的风险就越小。在创新方面,你能做的最好的事情就是降低失败的风险,加快周转的速度。

大规模提供一项服务的成本主要取决于基础设施。汉密尔顿说,软件技术方面的成本几乎为零。

因此他认为他在过去5年里看到的创新比之前他在20年里看到的创新还要多。因为象亚马逊、Facebook谷歌(微博)和微软那样的公司,已经在调整基础设施的规模方面做得非常好了。

亚马逊的团队在网上交易数据库性能上创造了一项世界纪录:平均每秒钟达成69项交易!他笑称:“派对的时间很长啊。”现在,亚马逊的一个DynamoDB服务地区每月可处理2万亿条指令。亚马逊S3存储系统的高峰处理速度达到了每秒150万条指令。

亚马逊是如何保证将成本降到尽可能低,同时让创新保持尽可能高的呢?

服务器

与 谷歌和Facebook一样,亚马逊也在设计自己的服务器,那些服务器都是专门为他们提供的服务而定制的。以前,汉密尔顿曾经劝公司只从服务器厂商申请1 或2个SKU以降低复杂性,但是时过境迁,现在的情况已经不同了。一旦你控制了这个过程,直接带着设计去服务器厂商那里的话,可以将价格砍掉30%,而且 这样做还可以提高性能和加快周转速度。

他说:“现在,你可能会希望你的客户不要去优化你的硬件。”

存储设备

汉密尔顿在AWS客户定制存储资源问题上没有透露太多的内容,但他谈了一则轶闻。现在你在市面上能够买到的最密集的存储服务器,是由广达电脑设计的。满满一机架的存储服务器的重量大约为四分之三吨。汉密尔顿说:“我们有更紧密的设计,它的重量超过了1吨。”

网络

网络是一个大问题,因为价格不断上涨和很多公司过分降低其数据中心的带宽。

汉 密尔顿说,在很多典型案例中,每60台服务器中也只有1台服务器可以满负荷运作。它们的工作效率还不错,因为整体交易量还不算大。当然,它们并不是真地在 为AWS服务工作。AWS无法控制用户们运行的所有负载。他解释说:如果他们运行某些应用比如RapReduce,集群中的每一台服务器可能都会达到 100%的带宽容量。

与Facebook、谷歌一样,AWS也在开发自己的硬件和产品,汉密尔顿说:“我们已经接管了网络,我们突然就能象平时一样做各种事了。”

在数据中心外面,AWS还将投资各种关键的资源,以保证它能获得所需的带宽。

发电

AWS还建了自己的电站,鉴于每一个电站的发电量都在50到100兆瓦,因此这绝不是一项规模较小的资产。

设备可能会非常昂贵。亚马逊甚至还聘请了固件工程师,他的任务就是重新编写通常在开关设备上运行的软件。

汉密尔顿说:“我们的目标不是保护发电机,而是保证服务器可以持续运行。”

资源利用

各 种公司都曾在如何高效利用各种资源的问题上纠结了若干年,因为他们购买了大量的服务器来保证他们可以控制高峰时期的工作负载,并且在其他时间保持空闲。它 并未改变它们是首先被亚马逊购买的产品,它并未改变这一事实。实际上,资源利用的问题是AWS在降低成本时遇到的最大的问题。

当你在网络上规模化运营时,能够改变这一数据的任何东西都值很多钱。

幸运地是,亚马逊的一家正宗的云服务供应商,因此它的设备利用率通常都在20%以上。

AWS推出了Spot Instance定价系统以保证在服务计费时将没有被使用过的资源剔出来,希望以更低的利润将它卖出去。汉密尔顿说,任何客户支付的服务费超过了运行那些服务的成本的话,从补偿资本开支的角度来说都是值得的。

汉密尔顿笑称,如果分析师们还是不给亚马逊股票买入评级的话,那他们可能并不了解AWS。他说:“我们认为云计算市场与电子商务市场一样,都是薄利多销的行业。”

上一篇:Mac Item2 SSH免密登录Linux 服务器的两种方式


下一篇:网卡配置文件详解 用户管理与文件权限篇 文件与目录权限 软连接 tar解压命令 killall命令 linux防火墙 dns解析设置 计划任务crond服务 软件包安装 阿里云 yum源 安装