腾讯科技 林靖东 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. Redis基本讲解

    Redis基本讲解 首先我们要了解redis的使用试用范围,redis不像数据库能建立关系型的数据结构,除了有序集合能关联一个double类型的分数其它的几种都是单一存储的,所以他的局限性就比较高了, ...

  2. dispatch 之 常见函数小结

    你好2019!一起努力呀! 直奔主题 1.dispatch_barrier_async VS  dispatch_barrier_sync Barrier blocks only behave spe ...

  3. iOS之oc与html之间的交互(oc中调用js的方法)

    一.运行的效果图 1.刚开始的效果   2.运行结束后的效果   二.准备工作 1.准备一个html文件导入到oc工程中 2.jiaohu.html文件的原始内容   3.从oc语言中操作.html文 ...

  4. 转:介绍几个著名的实用的Java反编译工具,提供下载

    from :http://www.glorze.com/219.html 反编译 众所周知,我们将源代码进行编译,生成可执行的程序或者容器发布包,这个将代码转换的过程就是编译的过程,而反编译就是将这些 ...

  5. 建立复数类Complex,并且进行赋值,求和,取模等操作

    #include "pch.h" #include <iostream> #include<cmath> using namespace std; clas ...

  6. 19-3-8Python中编码的进阶、文件操作初识、深浅copy

    编码的进阶 ASCII:英文字母,数字,特殊符号,——>  二进制的对应关系 Str: 1个字符——> 1个字节 Unicode:万国码:世界上所有的文字与二进制的对应关系 1个字符——& ...

  7. 1、win10下的Docker+Redis 的下载及简单使用

    一.下载Docker: 因为始终注册docker账号不成功,所以在这里点击下载. 选中docker-for-windows/ 选中beta/ 下载这个.msi文件 二.安装 1.安装.msi文件,桌面 ...

  8. C语言程序设计:现代方法(第2版)第三章全部习题答案

    前言 本人在通过<C语言程序设计:现代方法(第2版)>自学C语言时,发现国内并没有该书完整的课后习题答案,所以就想把自己在学习过程中所做出的答案分享出来,以供大家参考.这些答案是本人自己解 ...

  9. 20155215 《Java程序设计》实验二( Java面向对象程序设计)实验报告

    20155215 <Java程序设计>实验二( Java面向对象程序设计)实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉 ...

  10. 学号 20155311 2016-2017-2 《Java程序设计》第1周学习总结

    学号 2016-2017-2 <Java程序设计>第1周学习总结 教材学习内容总结 JAVA三大平台**:Java SE.Java EE .Java ME. Java SE四个组成部分:J ...