腾讯科技 林靖东 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。他说:“我们认为云计算市场与电子商务市场一样,都是薄利多销的行业。”

亚马逊AWS业务副总裁:如何在基础设施上降成本的更多相关文章

  1. 国外物联网平台(1):亚马逊AWS IoT

    国外物联网平台(1)——亚马逊AWS IoT 马智 平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互. AWS IoT可支持数十亿台设备和数万亿条消息,并 ...

  2. 亚马逊AWS在线系列讲座——基于AWS云平台的高可用应用设计

    设计高可用的应用是架构师的一个重要目标,可是基于云计算平台设计高可用应用与基于传统平台的设计有很多不同.云计算在给架构师带来了很多新的设计挑战的时候,也给带来了很多新的设计理念和可用的服务.怎样在设计 ...

  3. 亚马逊AWS EC2云实例AMI安装LNMP环境(3)——Mysql5.5

    概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...

  4. 亚马逊AWS EC2云实例AMI安装LNMP环境(2)——PHP5.6

    概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...

  5. 亚马逊AWS EC2云实例AMI安装LNMP环境(1)——Nginx安装

    概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...

  6. 亚马逊AWS学习——EC2的自定义VPC配置

    1 网络配置 EC2即亚马逊AWS云服务中的虚拟主机.创建EC2实例时如果使用的默认VPC并分配了公有IP是可以上网的.但我们经常需要自定义的网络环境,这时就需要自己定义VPC和子网了. 1.1 配置 ...

  7. windows系统上利用putty通过SSH连接亚马逊AWS服务器

    1. 找到在购买亚马逊的AWS服务器时保存的密钥文件(假设为abc.pem). 2.打开PuTTYgen,如下图,点击图中1处的“load”,找到abc.pem文件所在的位置,并选择abc.pem,确 ...

  8. 直压到亚马逊AWS平台,阿里云OSS平台或者腾讯云COS平台

    GTX Compressor (直压上云技术预览版) Powered by GTXLab of Genetalks. 技术预览版本下载地址: https://github.com/Genetalks/ ...

  9. 微软Azure、谷歌GAE、亚马逊AWS比較

       谷歌Google App Engine 亚马逊AWS 微软Microsoft Azure 提供服 务类型 PaaS, SaaS Iaas, PaaS IaaS, PaaS, SaaS 服务间 ...

随机推荐

  1. 字体在mac win 系统如何优雅的展示

    我们知道,不同的操作系统,不同的浏览器,页面字体的显示和渲染存在差异. 那么如何设置font-family,能够使字体在不同的环境下,也拥有好的展示效果? 1.操作系统中字体默认的字体 windows ...

  2. C++笔记013:C++对C的扩展——C++中所有变量和函数都必须有类型

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ C++中所有的变量和函数都必须有类型: C语言中的默认类型在C++中是不合法的! 在C语言里面可以写一些很奇怪的函数!并且可以运行成功! ...

  3. Bootstrap04

    Bootstrap04概述 一.输入框组 1.左侧添加文字 <div class="input-group"> <span class="input-g ...

  4. PHP结合zyupload多功能图片上传实例

    PHP结合zyupload多功能图片上传实例,支持拖拽和裁剪.可以自定义高度和宽度,类型,远程上传地址等. zyupload上传基本配置 $("#zyupload").zyUplo ...

  5. kbmMW功能 - kbmMWProcess单元(转帖)

    此贴为转发红鱼儿的文章,原贴地址: https://www.cnblogs.com/kinglandsoft/p/kbmmw-features-5-kbmmwprocess-unit.html 在新的 ...

  6. CentOS6安装各种大数据软件 第三章:Linux基础软件的安装

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  7. MySQL数据库实验:任务二 表数据的插入、修改及删除

    目录 任务二 表数据的插入.修改及删除 一.利用界面工具插入数据 二.数据更新 (一)利用MySQL命令行窗口更新数据 (二)利用Navicat for MySQL客户端工具更新数据 三.数据库的备份 ...

  8. Pyhton-类(2)

    ·类(2) @ 继承(inheritance) 什么是继承: B继承A:A是父类(超类),B是子类(基类).继承可以实现代码重复利用,实现属性和方法继承. 继承可以使子类拥有父类的属性和方法,也可以重 ...

  9. Bugku Crack it

    知识点:kali  john工具 不知道hashcat怎么样 一. 用winhex打开 发现右边有root:等信息,想到了linux系统,看了别人的wp,kali中有一个工具john可以破解密码 二. ...

  10. linux 初学体验 20155317 王新玮

    学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己笔记本上安装Linux操作系统 通过询问同学和上网搜查百度,完成了虚拟机的安装,开始了linux的学习. 通过实践学习别出心裁的Linu ...