随着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,何时自行托管更核算,还需要很多很多工作。