弹性伸缩为用户带来弹性计算能力的同时,也为用户带来了弹性成本的优势。如何准确快速的计量弹性伸缩场景下的成本对用户的生产方式具有重要的指导意义。本文将详细阐述弹性伸缩是如何为用户进行成本计量。
成本计量的范围
弹性伸缩以伸缩组作为基本单元对用户的多个实例进行统一管理。一个伸缩组中的实例按照其加入的方式可以分为以下两种:
- 伸缩组负责创建的实例
- 用户手动加入的实例
由于用户手动加入的实例,其生命周期不由弹性伸缩进行管理,因此弹性伸缩进行成本计量时不包含手动添加进伸缩组的实例。
成本计量的方式
伸缩组完全的掌握组中每一个实例生命周期的开始时间和结束时间,因此伸缩组中的实例的生命周期是可计量的。对伸缩组中各实例的生命周期进行聚合,能够得到伸缩组中各时刻的使用量信息。实例的生命周期的开始和结束是随机的,不便于统计处理,将实例的生命周期按小时进行离散聚合,得到伸缩组历史时刻中每个小时的使用量情况。该情况准确的反映了伸缩组的使用量变化情况,而使用量,则是成本最直接的一个指标,一段时间内的使用量综合便是该伸缩组这段时间内的总体使用量。
弹性伸缩组使用量数据包含以下信息:
1.实例规格;
2.实例付费方式,表明实例为按量实例或竞价实例;
3.实例网络类型,经典网络或者VPC网络;
- 当前小时内实例总数;
- 当前小时内使用量总和
从使用量包含的数据我们可以知道,每一个使用量数据点表明了某一种特定类型(由规格,付费方式,网络类型确定)的实例在当前小时工作实例个数和累计使用量(精确到分钟)。
成本核算方式
弹性伸缩成本计量的整个过程中,始终关注的是伸缩组中各实例的使用量情况,但是实例价格是可能发生变化的,获取历史上各个时刻的实例价格并不现实,因此,难以根据伸缩组的使用量信息来映射出准确的成本。考虑到实例单价通常变化缓慢,同时,弹性伸缩的成本核算的主要目的是对比各配置情况下成本的相对情况,因此选择使用当前时刻的实例价格,通过回放使用量的历史数据来得近似准确的成本值。
通过调整使用量数据中各类型实例的付费方式的配比,可以获取到特定付费方式组合下的预估成本,通过与实际付费方案进行对比,进行成本对比。弹性伸缩目前为用户提供了与全部使用按量实例和全部使用包年包月实例的成本对比。
与全部使用按量实例比较
当您的伸缩组配置使用竞价实例或者部分使用竞价实例时,您可以假设历史使用量全部替换为按量付费实例,获取使用竞价实例为您带来的成本变化信息。
实际成本:
全部使用按量实例:
与全部使用包年包月实例比较
您也可以假设使用包年包月实例来满足历史使用量,对比与使用预付费比较时的成本变化信息。
确定对应的包年包月实例个数
伸缩组中实例使用量是随时间不断变化的,而包年包月实例一旦确定实例个数,其使用量是固定不变的,如何选取合适个数的包年包月实例来满足伸缩组的历史使用量是至关重要的。弹性伸缩要求选取的包年包月个数能够始终满足伸缩组的历史使用量。
当以小时作为离散粒度来统计所需包年包月实例个数时,可能出现第一列图的两种情况,可能会导致统计的实例个数过少或过多。导致这一问题的根本原因在于时间粒度过大。对该小时内的使用量进行取极限操作,将时间粒度不断切小,当近似连续时,某一小区块(5分钟)内的使用量数据便反映了该小时所需的峰值实例个数,即所需的包年包月实例个数。所有小时数据的最大值即为该时段内所需包年包月实例的个数。
确定所需包年包月实例个数之后,由于包年包月实例的最小购买周期为周。将根据对比区间的时长确定包年包月的时长购买方案,例如对比33天的数据,则最佳购买方案为:一个月加一周。
限制条件
- 成本计量的最小粒度为伸缩组,最大粒度为用户;
- 成本计量的统计任务采取T+1的方式,即当天统计前一天的使用量。因此,在当天,能够确保获取到使用量的是前天的使用量数据;
- 最多保存60天使用量数据,因此,您最多获取近60天成本趋势的对比;
最佳实践
控制台使用
在弹性伸缩控制台的详情页面,您可以查看到您伸缩组当前使用量与全部使用按量实例对比时的成本节省信息。