作者:徐桂林
随着过去两年云计算热的扩散,国内公有云平台(本文提到的公有云都特指公有IaaS云)得到了长足的发展,企业用户对公有云的接受度也在稳步提升。由于公有云提供的服务种类丰富、成本合理并大大降低用户的运维成本,很多企业已经把部分生产系统迁移到公有云上,而新创企业基本都会优先选择公有云作为自己的基础设施。
在看到企业用户对于公有云计算平台积极接纳的同时,我们也发现国内公有云供应商在如何提供合理云服务上仍然有明显的IDC时代惯性思维,这其中“包月计费”就是最为明显的例证之一。由于付费模式是用户使用公有云资源最有力的指挥棒,IDC和虚拟主机时代的惯性计费方式会深刻影响到用户使用云资源的方式,乃至系统的架构设计。
IDC时代的计费模式
由于数据中心建设周期长、前期成本高,绝大部分企业都是向专业的供应商租用IT基础设施,包括机器、网络带宽、存储磁盘,乃至数据中心的空间等。在传统的IDC时代,基础设施租用计费模式一般都有如下几个较明显的问题:
- 计费周期太长。无论是机器、网络还是磁盘,最小都是以月为单位,更常见的是以季度和年为单位,而且优质IDC供应商还经常要求客户一次性付清所有费用。这种方式导致用户前期投入大,不容易按照项目实际需求随机调整。
- 计费标的固定。租用了一台设备后中途不可更换配置、不可变更数据中心。如果需要切换成新的设备,原来租用设备的已付成本会有很大损失。
由于这些问题,IDC的支出对于很多企业(尤其是中小企业)是一个很大的负担,而且使用还非常不灵活。尽管IDC供应商在过去很长时间一直在不断努力改进整个计费模式,但是受制于IDC建设成本和资源交付能力的限制,并未彻底解决以上这些问题。
按需付费应是公有云的核心特征
随着公有云的出现,一种全新的IT基础设施供应商来了。其提供的IT基础设施核心计费模式为“按需付费”。这种“按需付费”模式和云基础设施强调的“弹性伸缩”紧密相关并相互促进,尤其在计算资源(如虚机)上表现得最为明显。具体如下:
- 虚机计费周期大幅度缩短。现在主流的供应商都是按小时或者分钟计费,甚至已经有按秒计费的产品。
- 虚机计费标的调整灵活。用户可以随时调整其配置并按调整后的价格重新开始计费。
目前,公有云在存储和网络资源的收费基本都已经完成从“包月计费”向“按需付费”的过渡(除掉因为国内电信运营商垄断造成的网络以带宽而不是流量计费为主外)。但是在计算资源计费模式上,包月惯性思维还表现得非常明显,部分重要公有云供应商只提供“包月计费”计算资源或者不平等对待“包月计费”和“按需付费”这两种计算资源。目前,这种惯性思维带来的计费模式已经明显影响到了国内公有云进一步发展。展开来说,其包括如下几个方面:
- 由于“包月计费”的广泛存在,当用户上云后会本能选择适配这种计费模式的技术架构。云应用中水平伸缩、状态无关化等一系列非常好的设计理念都因为和“包月计费”不匹配而未被足够重视。这样,云带来的负载弹性和成本弹性优势被大打折扣。
- 由于“包月计费”的广泛存在,用户在购买一台虚机后就只能使用该台虚机部署服务,释放掉就意味着费用损失。这给系统做容错处理带来非常多的不便。现在,无论云供应商如何努力也无法做到虚机的100%可靠(虚机的无缝热迁移仍然还是一个未解决的问题)。那如果当前虚机自身或者其上的应用出现问题,要修复该台虚机只能够暂时把其从生产系统拿下,做离线处理后重新加入服务。在这期间无论短时间启动替代实例,或者永久使用新实例代替当前实例都意味着包月费用的损失。
- 由于“包月计费”的广泛存在,用户在购买资源时仍然经常要面对传统IDC时同样的“艰难的决定”。例如,怎样在不同区域购买不同数量包月资源来平衡可能会出现的不同区域流量变化?在出现流量快速增长时候是购买“包月资源”还是“按需计费资源”呢?因为很多时候无法遇见这是短时间的流量增长,还是会成为新的常态。这些本来期待公有云解决的问题又重新回到用户这边,影响了用户对于公有云接受度。
总结来说,“按需付费“”是和公有云“弹性伸缩”全新资源交付方式相匹配的计费模式。现有包月惯性思维导致计费模式和云上资源弹性交付模式的不匹配,从而影响到用户使用资源的方式,限制了公有云“弹性伸缩”这一巨大优势的发挥。
说说“关机收费”这个事情
如果说“包月计费”还是惯性思维在起作用,那“关机收费”可能算是这种惯性思维的一个副产品。简单来说,“关机收费”是指你购买的机器,该机器临时关机后仍然被云供应商按照正常开机模式进行收费。这个模式无论从合理性还是方便用户使用上都是值得商榷的。
- 从合理性角度看。当机器关机后,该虚机并没有消耗云供应商的CPU和Memory资源,这些资源理论上是会被云供应商调度给其他用户使用,所以仍然按照正常开机价格计费显然有失公平。一个合理的收费方式是“关机”实例仅收实例上数据的存储费用,而不是完整的实例费用。
- 从方便性角度看。用户把实例处于临时甚至长期关机状态是非常常见的场景。其中,临时关机最常见的场景为开发测试环境中的实例。这种实例都建议下班后关机,如果按照“关机收费”模式计费,该最佳实践就根本没有意义。开发测试人员每天上班后都得重新启动虚机,并在下班前释放虚机。而虚机中任何状态变更(无论是否是临时的)都只能通过镜像方式保存。另外,长期关机最常见的场景就是“灾备系统”。在做灾备设计时候,一种最常见的方式就是在备份系统保留一定数量已经部署就绪但长期关机系统,一旦监控系统发现生产系统出现问题,能够快速启动并承接生产系统流量。如果按照“关机收费”模式计费,这种模式的成本将非常昂贵,也就失去价值。
我们需要的是公有云还是更好的IDC?
过去十年是IT基础设施从传统IDC模式向云计算模式的迁移过程,而且这个迁移过程还会持续非常长的一段时间。所以,原来的包月惯性思维在公有云平台上继续延续是一个比较自然的过程。当然,“包月计费”模式的另外一个常见的解释就是供应商希望以此更好地增加用户黏度,保证云供应商的持续收益。如果是这样,这种增加用户黏度的方式其实是以牺牲用户体验为代价的,并会限制公有云在很多场合的深入使用(本文前面的很多例子已经阐述这一观点),并不是一个好的选择。所以,我们期待公有云供应商都能仔细思考如下这个问题:
你希望提供的是公有云服务还是一个更好的IDC服务?尽管在短期看这两者都可能帮助你从传统IDC那边吸引足够多的用户。
首先,我们必须承认包月方式有其存在的合理性和必要性。对于开发者、站长等这类用户,这么计费方式非常合适,是种双赢的模式。对于部分产品,比如域名和SSL证书产品,包月模式也是最合适的。国外的Godaddy/DigitalOcean等服务商也都是采用包月为主的计费模式。
但是,当公有云开始深入企业级市场后,“按需付费”模式至少应该和“包月模式”平齐平座。否则,用户只能被动选择“包月计费”资源,而云供应商则会在“更好IDC”的路上越走越重,离公有云的目标越来越远。国外的主流公有云服务商AWS、Azure、Google,他们共同特点是都只有“按量付费”,但是他们会通过“预留实例”、“阶梯降价”等方式实现“包月模式”的目标,这点值得国内厂商借鉴。