AWS 应用托管经济学

  • Boris Lublinsky
  • 郑柯

2012 年 2 月 21 日

话题:AWSDevOps架构

随着 Amazon Web Servcies(AWS)很快成为了 IaaS 的事实标准,在很多公司看来,与其建立并支撑自己的数据中心,将基础设施迁移到 Amazon 上要更为可行。Charlie Oppenheimer 在自己的一篇新博客文章中这样说:

我是云计算的铁杆粉丝,特别是 AWS。但一直以来,我的直觉告诉我:相比听起来很诱人的“10 美分一小时”,在自己托管和云供应商之间选择的经济分析要更有说服力,特别是考虑到需求分布的变化。Zynga 就是个典型例子,出于经济原因,他们现在使用自己的基础设施来解决基本负载,使用 Amazon 处理新游戏上线带来的峰值和变化负载。

为了评估 AWS 使用量的经济效益,Oppenheimer 建立了一个模型,可以分析不同的负载,同时包括带宽重度使用和计算重度使用,以及这两种负载的任意组合。这个模型很灵活,可以计算 100% 使用 AWS 的成本、100% 自己托管的成本,还有两种方式混合的情况。

模型基于典型 Internet 应用的每日负载分布,并计算出每天中每小时需要的实例个数。它会请求合理的 AWS Reserved Instance 预留实例(使用相对较低成本的计算容量)个数,并根据需求使用按需请求的实例。费用的计算,依据 Amazon 公布的变化价格。

Oppenheimer 总结了模型的分析结果:

分析的关键在于:对比云托管和自己托管二者的成本,需要基于负载情况。并不是说 Amazon(或其他提供商)要比自己托管更贵,很多时候也并非如此。实际上,这要看你的负载情况。而且,知道盈亏平衡点不是最重要的,最重要的是要知道你的情况中哪些对价格最敏感,比如带宽成本、CPU 负载、存储等等,这样你就能知道哪些差异会颠覆你的最终决策。

Oppenheimer 得出的结论是:

直观结论是:负载的波动程度越大,AWS 按需使用解决方案的经济效益越好。与之类似,负载分布越平缓,没那么多变化,选择自行托管就更加合算。

Oppenheimer 的博客引发很多人的反应。Amazon 的Jeff Barr认为:

这些分析做起来很麻烦,在对比不同方式的成本和收益时,你必须要保证比对的是同一种东西。我们很愿意与希望深入分析这些细节的人们合作,我们也一直把精力放在降低基础设施成本上,而且前面的路还很长。

他指出了其他多个因素,包括其他 AWS 区域的价格更低、Reserved Instance 的利用率更高、没有系统管理成本等等。

AWS 使用的经济学是一个很严肃的话题,人们在讨论时很少依据事实,更多的时候是凭着情绪和观念。没有什么是非黑即白。Oppenheimer 的文章是迈向正确方向的重要一步。要客观评估所有可能的使用场景,决定何时使用 AWS,何时自行托管更核算,还需要很多很多工作。

查看英文原文:Economics of AWS Application Hosting

AWSDevOps架构