上周在Techcrunch大会的AWS re:Invent分会台,CTO Werner Vogels和观众讨论了亚马逊Web 服务的云哲学。他的演讲描述了AWS对于云计算的观点,和企业供应商不同的是,AWS平台专注于向顾客销售硬件搭建“私有云”。这是首次AWS明确表示对于云计算和其竞争者的看法,亚马逊认为此举将有助于顾客理解他们相对高价的服务要比其他解决方案好。
基于可编程基础架构的AWS是一个总值15亿美元的低利润业务。自2006年起,总共下调价格23次。亚马逊认为降价可以促进一个正向循环,如图:
商业驱动的基础架构给了用户自己开发业务的能力,数据驱动且针对运营优化,同时以很低的利润进行。Vogels将这种模式称为“成本意识架构(cost aware architecture)”意即基础架构驱动应用程序开发。
亚马逊启动AWS是因为他们需要更多基础架构来支撑业务发展,他们也需要更好的方式来应对流量的上下波动。例如,顾客通常需要基于虚拟机的工作量估计所需的物理存储空间。这种方法束缚了扩大规模的空间。一般来说,纯粹是靠猜。
Vogels重申,用户需要停止思考物理资源的问题,把重点放在自动化(automation)上面。他解释,AWS的基础设施如何能够帮助用户在小型可分解的模块上设计应用,同时可以从基础设施里面分离(decoupled)出来。Vogels用IMDb作为例子,随着亚马逊的流量不断攀升,亚马逊不得不为这家电影资料网站扩容。如果亚马逊升级了,IMDb也要升级。通过对基础架构作出调整,AWS能够对S3上面的HTML代码做松散耦合(loose couple)处理,这样在亚马逊扩容的时候,IMDb可以维持原状。
多种付费选择,降低成本
AWS现在允许用户做假设情况(hypothesis-driven)的开发,让用户有多种选择基于工作量来优化应用程序。Instances、Spot instances和Reserved instance,这三种选择分别有不同的付费模式,第一种是标准方案,第二种让用户可以在使用过程中支付最优价格,第三种则是预付费服务,价格要比标准方案低很多。
Pinterest也基于流量调用调整了基础设施。该公司的技术运营总监Ryan Park表示他们将系统设定为每隔几小时就关闭20%的资源,当流量较低时这样做可以降低成本。Pinterest使用Reserved instance处理标准流量,使用按需付费和Spot instances处理弹性流量。调整之后每小时的成本从54美元下降到20美元。
成本随营收增加,扩大业务规模
Vogels在一篇博客文章中这样说到:
最重要的概念是,当你的业务在增长的时候,你的成本应该和营收增长的增量比一样。对于亚马逊来说,这种增量就是订单数量。如果订单数量增加,你的成本也应该要相应增加。即使你的架构不错,你能够发挥规模经济的效力,你的成本增加还是会比营收增长的要少。如果你的架构正确地针对成本意识进行了设计,业务规模将为你更好的服务。
这段话很好的总结了亚马逊的云哲学。AWS的经验让他们领悟了要给用户提供什么样的服务。市场需要的是能够适应商业需求的系统,用户拥有多少计算资源并不重要,重要的是建立一个基础设施,能够满足需求,适应业务的增长和下降。