对云计算的价格进行比较是非常复杂的,不同的云提供商有不同的价格模型和折扣选项,同时他们还会经常降价,因此很难进行对等比较。Kim Weins最近在rightscale上发表了一篇文章,介绍了不同云提供商在不同环境下的价格。
不同云提供商的价格策略
云计算费用平均占整个云费用的75%到80%。在对云计算的价格进行精确比较之前,理解各个云提供商的折扣策略是非常重要的,因为这是决定支付费用的一个重要因素。
AWS的价格策略
AWS云计算资源的主要折扣策略是预留实例(RI)。预留实例并不是真正的实例,而是可以应用到满足某些标准的实例上的优惠券。为了获得折扣,用户需要做出一年或者三年的承诺,承诺期越长,折扣越高。如果用户提前支付部分或者全部款项,那么折扣更大。可转换预留实例是一种新型3年期预留实例,它的折扣较小,但是在使用期间可以灵活地在不同的实例家族之间移动折扣。
预留实例的折扣范围在24%到75%之间,具体取决于期限、实例类型和区域。通常情况下,1年期无预付款的预留实例就非常合适,如果要购买3年期的预留实例,一定要经过慎重的考虑,因为使用情况在三年中可能发生重大变化。尽管可转换预留实例允许用户采用新的实例类型,但是通过下面的图表可以看出,可转换预留实例与1年期标准预留实例相比只有5到6个百分点的额外折扣,但期限却是3年而不是1年。
Azure的价格策略
在Azure上用户的折扣主要取决于微软企业协议(EA)。该企业协议会根据用户的使用水平提供15%到45%的折扣。
谷歌云的价格策略
谷歌云通过持续使用折扣(SUD)提供了最简单的缩减计算资源费用的方法。SUD是自动化的,不需要提前做出承诺,谷歌会根据某个家族中实例的月度运行时间对月账单给出折扣。一旦实例的运行时间达到每个月的25%,就会有20%的折扣;当运行时间达到50%和75%时,就会有另外20%的折扣;如果达到100%,月度花费就会有高30%的折扣。
此外,谷歌云会在条件允许时将相同类型的不同实例结合到一起以大限度地降低用户费用。
不同方式下的云计算价格
在比较云计算价格的时候,知道要比较的实例在哪些方面相同,哪些方面不同是非常重要的。为了比较,本文选定了6个场景,如下表第一列所示。所有场景使用的都是美国东部区域最低价格的实例,操作系统是标准免费、没有额外收费的Linux发行版(不是RHEL)。
虽然每一个场景都会映射到云提供商所提供的合适的实例类型,但是很难进行条件对等的比较:
不同云提供商为相似实例提供的内存并不一样。大部分情况下,内存的差异较小(低于10%),但是highcpu场景,AWS和Azure提供的内存是Google的两倍还多。 AWS为标准场景(m3和m4)、highcpu场景(c3和c4)以及highmem场景(r3和最近引入的r4)都提供了包含和不包含本地SSD的实例家族。 Azure所有的实例类型始终都包含本地SSD,因此无论用户是否需要都必须对此付费。 谷歌云所有的实例类型都不包含本地SSD,如果用户要使用SSD则需要额外附加SSD并付费。附加本地SSD最小为375GB,但这依然非常大;用户可以使用谷歌持久化磁盘替代SSD,但性能要差一些。
按需计费的云计算价格
下图展示了各个云提供商按小时计费的价格,以及每GB RAM每小时的价格。
结果显示:
在不使用SSD的情况下,谷歌云的价格基本是最低的;在使用SSD的情况下,因为增加了375GB的本地SSD,谷歌云的价格基本是高的。 highcpu场景下,谷歌云对每GB RAM的收费是高的,这是因为其内存大小不足AWS以及Azure的一半。 在2016年12月1日AWS对价格做出调整之后,Azure在所有12个场景中有7个场景的价格与AWS相当或者更低。 大部分情况下AWS的价格介于Azure和谷歌云之间,只有在highcpu无SSD的场景下其按时付费的价格高。 对Azure而言,所有的结果都取决于微软企业协议特定的折扣;对AWS则取决于用户购买的预留实例类型。
折扣后的云计算价格
折扣后云计算价格的比较使用的是年度费用。这是因为AWS 预留实例的期限最少为一年,而微软企业协议则是三年的合同。谷歌云比较灵活,SUD只需要用户使用一个月即可。
下图展示了不同云提供商的年度折扣价格,以及折扣后每GB RAM的年度价格。
结果显示:
折扣后的价格与上面按需计费的价格非常相近。 按需计费时AWS和Azure费用相同的两个场景在比较折扣价格时,AWS的价格更低。 同样的,对Azure而言,所有的结果都取决于微软企业协议特定的折扣;而AWS则取决于用户购买的预留实例类型。
按分钟收费对云计算价格的影响
对AWS而言,哪怕只用了一分钟,也会按小时收费;Azure是按分钟计费;谷歌云是每10分钟收费一次,每次收取1/6小时的费用。如果大部分工作的运行时间都小于1小时,那么按分钟计费更省钱,如下图所示:
但是,如果大部分工作的运行时间大于一小时,那么按分钟计费的影响就比较小了,此时决定性的因素在于实例每小时的价格。
区域对云计算价格的影响
不同云提供商对不同区域的定价不同。AWS和Azure在不同的地区有不同的价格。其中亚太区的高价格比美国的最低价格可能高出50%以上。谷歌云在美国所有的地区价格都是一样的,而欧洲和亚洲的价格比美国地区高10%。
Windows对云计算价格的影响
为了覆盖Windows许可费,每一个云提供商都会对运行Windows的实例收取费用。
按需计费时,Azure的收费比AWS高;按折扣计费时,Azure的收费则比AWS低。但无论是哪种方式,谷歌云的收费都是最低的。
总之,云计算的价格取决于特定的用例和折扣方式。如果你现在并没有在使用AWS预留实例,同时在Azure上也没有微软企业协议折扣,那么大部分场景下谷歌云可能更便宜,因为无论在什么情况下谷歌都会使用SUD收费策略。要注意的是,如果需要通过本地SSD满足性能要求,那么谷歌云需要额外付费。同时,在2016年12月1日AWS对价格作出调整之后,按需计费时Azure比AWS价格全面占优的局面已不复存在。总体来看,在大部分情况下AWS并不是最便宜的,其价格通常介于Azure和谷歌云之间。