当前位置: 代码迷 >> 综合 >> Business-Driven Long-Term Capacity Planning for SaaS Applications
  详细解决方案

Business-Driven Long-Term Capacity Planning for SaaS Applications

热度:82   发布时间:2024-02-23 13:55:08.0

Business-Driven Long-Term Capacity Planning for SaaS Applications

IEEE Transactions on Cloud Computing
, 2015 CCF C类

目标:使得SaaS provider的利润最大化

设想的场景:一个SaaS服务商向IaaS服务商拿取资源。云服务有按需付费(on-demand)和预付费(reservation)两种,前者昂贵、不可获得但是灵活,后者便宜、保证获得但是只能按时购买。因此如何选择预付费资源的购买数量和时间是很重要的。

这也是我看到的第一篇

3 Utlity Model

没什么好说的,这个建模挺标准的,但是没什么新意。不过这居然是微观经济学的模型,让我有点没想到。

4 Capacity Planning Heuristics

采取了两种容量计划的启发式方法:

  • 一种基于instance utilization(UT)
  • 一种基于Queueing Theory

两种都接受一个未来时间段D中流量的预测结果。D即为计划的时间(长时间,比如一年)

4.1

QT方法:实际上是一种替换方法,即已经知道未来需要多少on-demand的资源,该如何确定reservation资源的数量。

  • 开始的时候,算法会为每个资源类型计算:对于预付费的资源,用多久才能与按需付费的资源单位时间消耗的金钱是相等的(最小利用率minimal utilization rate)。这个比例根据on-demand的价格与reservation fee来计算。
  • 不同的服务商提供的不同种类的VM,这个比例是不同的。算法会按照顺序排序,使得最值得被预付费的资源排在最前面。(Q:没有考虑到实际性能,而且默认厂商是按照实际性能来给on-demand规定价格的;然而不同厂商的定价策略是不一样的,有些厂商可能就是预付费定价会便宜很多,也可能会出现on-demand极其昂贵的无用资源反而排的很前的情况)
  • 对于每一种资源,去计算出它的平均使用率(即在目前的预付费策略内,资源被需要的比例)。选择刚好大于前面最低资源比例的那个market。
  • 调整剩余on-demand资源值,更新向量

这个算法很像避免死锁的银行家算法,这样通过多次迭代一定是能够起到优化作用的。但问题的关键其实是在于究竟如何去估计on-demand所需要的资源数量。文章说它能够对一年的reservation进行估计,我表示深切地怀疑。

因为时间问题,我没有具体看它的实验部分,不过与我预想的比较类似,设计的还不错,但是与我需要的相差甚远,可以参考一下(特别是直接对于预测式算法预测误差的假设)

  相关解决方案