云计算是一种新兴的技术,但亚马逊云计算服务现在已经是价值数十亿美元的业务,根据Gartner表示,其云计算是其14个最大竞争对手总和的五倍多。亚马逊的简单存储服务(S3)存储着超过一万亿文件,每秒处理150万个请求。DynamoDB(AWS NoSQL数据库)推出不到一年,10月已经拥有超过2万亿的输入或输出请求。
这种规模提供所有的这些服务需要大量的硬件,云计算部署正在快速增长,这意味着亚马逊需要不断增加更多硬件到其数据中心。
那么亚马逊是如何做到这一点的呢?在背后指挥战略的副总裁兼杰出工程师James Hamilton在该公司的re:Invent用户大会上分享了他的想法,其想法可以简单概括为“规模是一切工作的推动者”。
规模在很多方面促进着该公司的发展。其一,当一家公司多次做某件事情是,就会变得非常擅长此事。因此,亚马逊配置的服务器越多,他们就能更好地从中总结最佳做法。数据中心同样也是这个道理。该公司正在迅速地增加大量的容量,让AWS工程师可以快速地测试其想法,从而找出什么是可行的,什么是不可行的。
AWS已经为其具体用例优化了其硬件。AWS已经建立了自定义计算、存储和网络服务器,这些服务器允许该公司精确到粒度水平。其存储服务器比市场上的任何服务器都更加密集,每台服务器重量超过一吨多。最近,AWS定制了其网络设备来创建路由器和协议栈,以配置高性能工作负载。Hamilton表示,这些投资将会推动新的基于网络的产品和服务,这些将会在未来一年推出。创建定制硬件的想法并不是行业中的独树一帜,Facebook也已经创建了一个完整的开源项目—开放计算项目。
AWS甚至定制化了其功率消耗程序。该公司已经与供应商签订了批量电力购买协议,为其跨越全球就各地区的几十个数据中心获得所需的电源。在美国东部地区,该公司有超过十个数据中心,这也是该公司最大的电耗区域。AWS不仅为这些地区批量购买电源,该公司还有自己的子站,在电源发送到数据中心之前存储电源。这让该公司能够尽可能多地扩展其产品,而不需要担心电源成为限制因素。
AWS表示,一个大的目标是对客户做出响应。该公司最近在美国西部俄勒冈州建立了一个新的数据中心,这是100%碳中和数据中心,也是该公司增长速度最快的数据中心。
即使有所有这些定制化设备,AWS总是不能准确地预测其将要使用的资源量。如果AWS可以提高其利用率,其成本将会更低,因为他们就能够从硬件中节省更多成本。AWS必须部署足够的容量来支持其峰值利用率,但如果服务器没有得到完全地利用,这又是一种容量浪费。AWS通过汇集不同的客户高峰工作负载来解决这个问题。例如,零售商客户可能会在节假日迎来购物高峰期,而处理纳税申报的公司则会在另一个时期使用资源。通过结合这些客户的工作负载情况,该公司就可以平均工作负载密度。
当然,仍然会存在利用率不高的情况,不过,AWS一直在试图将这个变成其优势。例如,该公司允许客户出售其多余的实例,来提高利用率。
该公司的规模正在不断扩大,正是该公司的规模推动着这些效率的增长。随着亚马逊的发展,AWS将会增加更多功能,吸引更多客户,从而带来更多的增长。亚马逊公司高管表示这是一个良性循环。