亚马逊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 服务间 ...
随机推荐
- 在正文部分操作accordion内容展开和闭合
$('#accordionid').accordion("select",0); //展开第一个title $('#accordionid').accord ...
- Java并发编程(十)死锁
哲学家进餐问题 并发执行带来的最棘手的问题莫过于死锁了,死锁问题中最经典的案例就是哲学家进餐问题:5个哲学家坐在一个桌子上,桌子上有5根筷子,每个哲学家的左手边和右手边各有一根筷子.示意图如下: 哲学 ...
- MySQL常用:Got a packet bigger than 'max_allowed_packet' bytes & MySQL开远程服务
1. 数据导入时出现错误 Got a packet bigger than 'max_allowed_packet' bytes 通过终端进入mysql控制台 mysql>show VARIAB ...
- html网站meta标签大全
案例 一.天猫 <meta charset="utf-8"> <title>天猫TMALL</title> <meta name=&quo ...
- restframework序列化使用方法
serializers.Serializer class Userinfoserializers(serializers.Serializer): username = serializers.Cha ...
- Flume(4)-监控模型
一. 监控端口数据 首先启动Flume任务,监控本机44444端口,服务端: 然后通过netcat工具向本机44444端口发送消息,客户端: 最后Flume将监听的数据实时显示在控制台. 1. 安装n ...
- 利用python操作mrjob实例---wordcount
网上利用java实现mr操作实例相对较多,现将python实现mr操作实例---Wordcount分享如下: 在操作前,需要作如下准备: 1.确保linux系统里安装有python3.5,pyt ...
- 学习python的一些脚本
python生产者与消费者模型 # -*- coding:utf-8 -*- import threading import random import time gMoney = 1000 gLoc ...
- C语言 经典编程100
一.题目 [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件 ...
- Linux下c语言实现myod
首先根据od要输出16进制的功能,以及c语言中文件的打开读取等函数,编写了如下代码. #include<stdio.h> #define N 1000 int main() { int c ...