亚马逊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。他说:“我们认为云计算市场与电子商务市场一样,都是薄利多销的行业。”
亚马逊AWS业务副总裁:如何在基础设施上降成本的更多相关文章
- 国外物联网平台(1):亚马逊AWS IoT
国外物联网平台(1)——亚马逊AWS IoT 马智 平台定位 AWS IoT是一款托管的云平台,使互联设备可以轻松安全地与云应用程序及其他设备交互. AWS IoT可支持数十亿台设备和数万亿条消息,并 ...
- 亚马逊AWS在线系列讲座——基于AWS云平台的高可用应用设计
设计高可用的应用是架构师的一个重要目标,可是基于云计算平台设计高可用应用与基于传统平台的设计有很多不同.云计算在给架构师带来了很多新的设计挑战的时候,也给带来了很多新的设计理念和可用的服务.怎样在设计 ...
- 亚马逊AWS EC2云实例AMI安装LNMP环境(3)——Mysql5.5
概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...
- 亚马逊AWS EC2云实例AMI安装LNMP环境(2)——PHP5.6
概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...
- 亚马逊AWS EC2云实例AMI安装LNMP环境(1)——Nginx安装
概括:这里选择亚马逊EC2的Linux AMI实例,该Linux服务器是亚马逊预配置的Linux环境,内置多个YUM源,属于亚马逊首推的稳定Linux服务器.默认登录用户名为ec2-user,执行ro ...
- 亚马逊AWS学习——EC2的自定义VPC配置
1 网络配置 EC2即亚马逊AWS云服务中的虚拟主机.创建EC2实例时如果使用的默认VPC并分配了公有IP是可以上网的.但我们经常需要自定义的网络环境,这时就需要自己定义VPC和子网了. 1.1 配置 ...
- windows系统上利用putty通过SSH连接亚马逊AWS服务器
1. 找到在购买亚马逊的AWS服务器时保存的密钥文件(假设为abc.pem). 2.打开PuTTYgen,如下图,点击图中1处的“load”,找到abc.pem文件所在的位置,并选择abc.pem,确 ...
- 直压到亚马逊AWS平台,阿里云OSS平台或者腾讯云COS平台
GTX Compressor (直压上云技术预览版) Powered by GTXLab of Genetalks. 技术预览版本下载地址: https://github.com/Genetalks/ ...
- 微软Azure、谷歌GAE、亚马逊AWS比較
谷歌Google App Engine 亚马逊AWS 微软Microsoft Azure 提供服 务类型 PaaS, SaaS Iaas, PaaS IaaS, PaaS, SaaS 服务间 ...
随机推荐
- Java中的集合框架-Map
前两篇<Java中的集合框架-Commection(一)>和<Java中的集合框架-Commection(二)>把集合框架中的Collection开发常用知识点作了一下记录,从 ...
- win7在安装时跳过输入用户名界面,直接开启管理员用户
WIN7原版系统安装完后需要创建用户,为了追求纯净简化不必要的步骤,可以选择跳过创建用户直接启用内置管理员账户.首先,到了创建用户这一步先别急着往下点,此时按键盘的SHIFT + F10 组合键调出命 ...
- Oracle11gR2(ASM,UDEV)的RAC搭建安装
基本信息: 1) 安装包: 操作系统:rhel-server-6.7-x86_64-dvd.iso rac安装包: Oracle11gR2:linux.x64_11gR2_database_1of2. ...
- java核心技术-多线程之引导概念
前两篇文章分别讲了,Java线程相关基础概念以及线程的内存模型,本节作为后续章节的引导,个人认为对于学习后面的只是还是比较重要.好了,既然说了多线程,那么首先要弄清以下几个问题: 1. 什么是多线程? ...
- Vue如何循环渲染图片
Vue如何把服务器返回的图片数据渲染出来 首先,一般来说,当请求图片的接口时,会返回一个数组,这个数组里会是一些图片的名字,比如1.jpg,2.jpg. 我的做法是先在data里定义一个数组,来存储服 ...
- GoogleTest初探(2)
前面的随笔介绍了Google Test中的基本测试单元TEST和测试夹具TEST_F,此篇介绍区别于这两种测试的参数化测试TEST_P 当待测试方法的行为取决于传入的参数时,而且这些参数的不同组合有多 ...
- [试玩] FMXLinux (Firemonkey for Linux) Linux 桌面开发(第三方插件)
FMXLinux 是一个可以用来开发 Linux 桌面软件的第三方插件,它需要配合 Delphi 10.2 Toyko 官网:http://www.fmxlinux.com/ 使用方法:开启 FMX ...
- centos6.9下安装python3.7
说明 以下所有操作都基于centos6.9 python3.7依赖openssl1.0.2,首先更新系统自带的openssl 建议 升级系统到centos7(系统openssl已升级到1.0.2) 升 ...
- u-boot-1.1.6第1阶段分析之make smdk2410_config指令
uboot源码中的README文档中介绍要使用uboot必须先进行配置后编译,即先执行make xxx_config命令,然后执行make命令,下面以make smdk2410_config指令为例来 ...
- (补题 杭电 1008)Elevator
Elevator Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...