本文分享自天翼云开发者社区《IaaS预留实例在线交易策略详解》,作者:CollerPie
近年来,公有云占据的云计算市场份额逐年上升。Canalys显示,2023年第一季度,全球IaaS云服务支出达到了664亿美元,同比增长19%。由于IaaS云服务支出的不断增加,成本优化对于用户而言变得尤为重要。通过对IaaS云服务资源交易策略的研究,可以帮助用户根据其工作负载的实际运行情况,来适当调整手中的服务资源,从而降低用户使用IaaS云服务的成本。
当前绝大多数的IaaS云服务提供商均支持按需实例、预留实例、竞价实例等多种实例购买选项。用户可以根据自身工作负载的实际运行情况以及这些实例的特性,在IaaS云服务市场中进行相应的交易,通过适当地选择转售或购买这些实例,从而尽可能地降低IaaS云服务的使用成本。IaaS云服务交易模型如下图所示:
按需实例:按需实例是一种pay-as-you-go模式,用户根据自身工作负载的实际运行情况,可以随时购买按需实例来服务于工作负载的请求,同时要按小时支付按需实例使用的费用。具体地,用户在购买按需实例时要根据实例的实际使用时长进行收费,如果使用时长未满一小时,超出的部分也将按照一小时标准计费。通常将按需实例的购买成本定义为:p*t,其中p表示按需实例每小时的使用单价,t表示按需实例使用的时长。按需实例由于“即付即用”的服务机制,并不能根据用户工作负载的实际运行情况灵活地调整定价幅度,因此在一些场景中无法实现用户收益最大化。
预留实例:预留实例是一种预付模式,用户在使用预留实例时,首先需要支付一定的预付费用,之后用户可以在预留实例的有效期限内享有每小时的使用折扣。通常,预留实例的有效期限为1年或3年。如果用户购买了一个预留实例,那么在该实例的整个预留周期内,无论该实例是否被使用,都会被收取费用。通常将预留实例的购买成本定义为:R+apT,其中,R表示预留实例前期的预付费用,a表示预留实例在其有效期限内所享有的使用折扣,p表示预留实例每小时的使用单价,T 表示预留实例的有效期限。对于预留实例而言,IaaS云服务提供商根据其预付费用的额度进行了相应的分级,如果预留实例前期的预付费用R越多,那么后期使用该实例所享有的折扣a也会相应的提高。
预留实例市场是一个二级市场,用户不仅可以在预留实例市场中购买廉价的第三方预留实例,也可以转售自己手中闲置的预留实例,这样不仅可以减少用户购买预留实例的成本,也可以有效地避免由于IaaS云服务资源浪费而造成的损失。
在预留实例市场中,支持出售用户手中处于闲置状态的预留实例,这些实例具有不同的剩余期限和定价选项。对于卖家而言,需要在预留实例市场中发布待出售的预留实例,以便买家获取。IaaS云服务提供商将所有待售的预留实例根据它们的剩余期限以及小时费率进行分组排序。对于买家而言,IaaS云服务提供商首先根据买家的需求信息确定预留实例所在的分组,并在所确定的分组中按照价格从低到高的顺序,选取相应的预留实例出售给买家,直到满足买家所有的预留实例购买需求为止,最后,IaaS云服务提供商将这些预留实例的所有权转移给买方。值得注意的是,卖家在出售手中空闲的预留实例之前,这些预留实例的所有权均为卖家所有;在实例出售之后,卖家便失去了对这些预留实例的所有权,也不再享有这些预留实例的使用折扣。卖家在出售预留实例后,如果后续有新的工作负载到达,IaaS云服务提供商将以按需实例的价格向卖家收取费用。此外,在整个交易过程中,IaaS云服务提供商要向预留实例转售者收取一定比例的交易服务费用。用户转售和购买IaaS实例的场景图,分别如下所示:
在实际生产当中,用户的工作负载请求数量是不断变化的。如果用户在某一时刻拥有一定数量的按需实例和预留实例,但是由于某种原因,未来一段时间到达的工作负载逐渐减少,那么对于用户而言,则会由于一些闲置的预留实例而造成一定的成本损失,并且这些预留实例闲置的时间越长,造成的损失越大。同时,这些闲置的预留实例也会导致大量计算资源的浪费,在这种情况下,云用户需要转售手中一些闲置的预留实例。当前,IaaS云服务提供商为用户提供了一个预留实例市场,用户不仅可以在预留实例市场中出售自己闲置的预留实例来避免不必要的资源浪费,同时也可以购买一些廉价的第三方预留实例来降低IaaS云服务的使用成本。