导航

云成本管理方法论(二)——云使用管理

Posted on 2018-03-29 11:54  FryFish  阅读(752)  评论(0编辑  收藏  举报

本篇文章将基于云成本管理模型对云使用管理中四个管理维度(管理对象、管理时点、判定规则和管理措施)进行更具体的分析。

不过云使用管理中的管理对象和管理时点都比较简单,在管理模型中的说明就已足够明确,所以这里不再进一步说明,因此这里仅进一步分析判定规则和管理措施。

判定规则

针对管理对象的不同,共有如下几种判定规则:

管理对象:成本

  • 预算约束

管理对象:用量

  • 配额约束
  • 时长约束

管理对象:价格

  • 价格约束
  • 品类约束

云使用管理判定规则

另外,如《云成本管理模型》中所述,一项具有可操作性的判定规则应当是可衡量的。也就是说,应有明确的算法或标志可判断其是否被违反。因此,对于每项判定规则,我们既要对其含义进行描述,也要明确地说明其“违规判断条件”。

下面分别进行说明。

预算约束

- 规则说明

预算约束:通过设定成本预算额来约束资源成本的最大值。

预算约束

一般地,会首先制定公司总预算,然后将总预算分解到各部门/成本单元和项目。从而,在实际操作中,不止公司总预算,而且所有成本单元[1]和项目的预算都将作为判定规则存在。也就是说,如果任一成本单元或项目的预算额度被突破,即使公司总预算未被突破,仍将产生违规事件。

- 违规判断

由于实际发生的成本在资源使用过程中产生,因此部门、项目等实体并不能直接触发其预算约束事件;同时,预算约束实际由与组织结构相对应的树状的一组判定规则组成(参见前面说明),因此,预算约束会从资源事件到项目预算约束,再到成本单元预算约束,再到公司预算约束逐级触发。

预算约束事件由资源事件开始逐层向外触发

具体来说,在资源事件(包括创建资源和返回资源扫描结果)发生时,将首先汇总此(组)资源所属项目包含的全部资源在此预算期间的累计成本,如果累计成本未超出此项目的预算额度,则结束预算约束的判断;若超出项目预算额度,则触发项目预算约束违规事件。如果触发了项目预算违规事件,则应继续计算此项目所属成本单元包含的全部资源在此预算期间的累计成本,如果累计成本未超出此成本单元的预算额度,则结束预算约束的判断;若超出,则类似前述逻辑判断是否违反公司总预算。

配额约束

- 规则说明

配额约束:为特定资源设置单次或总体的资源创建上限。

配额约束

首先,配额约束一般针对某一种或某一类资源而设置,也就是说不同种类资源的配额往往是不同的。在有些情况下,即使对于同一种资源,也会针对某一配置项的不同取值设定不同的配额。

配额约束分两类:新增配额和总量配额。新增配额是指在单次新增资源时允许新增的资源的最大数量。总量配额是指对于某一种类资源,在任一时间点允许同时存在的最大数量。

- 违规判断

在新增资源时,首先获取此种资源的新增配额值,并与欲新增资源的数量相比较,如果欲新增数量大于资源新增配额,则触发新增配额约束违规事件;如果欲新增数量小于资源新增配额,则获取此种资源的总量配额值及此种资源现存数量,如果欲新增数量加现存数量大于总量配额,则触发总量配额约束违规事件,否则不触发配额约束违规事件。

时长约束

- 规则说明

时长约束:为特定资源设置单次或累计运行的最大时长。

时长约束

与配额约束类似,时长约束一般也针对某一种或某一类资源而设置,也就是说不同种类资源的时长设定往往是不同的。在有些情况下,即使对于同一种资源,也会针对某一配置项的不同取值设定不同的时长。

时长约束分两类:单次时长和累计时长。新增配额是指在单次新增资源时允许新增的资源的最大数量。总量配额是指对于某一种类资源,在任一时间点允许同时存在的最大数量。

- 违规判断

在收到资源扫描结果时对每项资源逐项进行如下判断:首先比较此资源项的最近单次使用时长是否大于单次时长约束,如果大于则触发单次时长违规约束事件;否则继续比较此资源项累计时长是否大于累计时长约束,如果大于则触发累计时长违规约束事件,否则不触发时长约束违规。

价格约束

- 规则说明

价格约束:设定购买特定资源允许的价格区间。

价格约束

对于特定种类的资源,由于某些配置项取值的不同,价格会在很大的一个区间内变化,出于对成本的控制,需要减少或避免对某些高价格资源的使用,因此可创建价格约束来达到此目的。

- 违规判断

在新增资源时,首先获取此种资源的价格区间值,并与欲新增资源的价格相比较,如果欲新增资源的价格不在此价格区间,则触发价格约束违规事件;否则不触发价格约束违规。

品类约束

- 规则说明

品类约束:设定资源品类清单,只允许用户创建清单中列出品类的资源。

品类约束

品类约束包含的情形比较多,主要分如下两类:

  1. 根据业务需求和价格因素创建产品目录,只允许用户创建目录中列出的产品(实际对应着一组资源)或资源,我们称之为“基于价格的品类约束”。在实际使用中,也可能会为不同角色创建不同的产品目录。
  2. 要求优先或只能使用已有先期投入的资源,我们称之为“基于预先投入的品类约束”。比较典型的情况有:优先创建已购买了预留实例的虚机,优先创建已购买了 License 的资源类型等。

- 违规判断

需要在事前阶段,为品类清单中的每种产品/资源定义配置信息数据结构,并在创建产品/资源时提供品类和配置信息,以便判断是否触发品类约束违规。

在新增资源时,根据提供的品类和配置信息在品类清单中查找品类和配置信息都完全匹配的项,如果不存在,则触发品类约束违规事件,否则不触发品类约束违规。

管理措施

基于前面对判定规则的分析,可以用一个树状结构表示管理措施与其他维度之间的关系。如下图:

云成本管理活动树

因此,我们可以参照如上的结构来对不同管理时间、不同管理对象和不同判定规则下的管理措施进行说明。同时,可以通过命名规则来保证不同管理对象的判定规则名称具有全局唯一性,这样可以简化如上的云成本管理活动树,从中删除管理对象节点,将判定规则直接连接到管理时点节点。下面我们就按照简化的管理活动树结构来分析各管理措施。

事前管理

- 预算约束

管理措施:制定预算约束判定规则。

具体内容:

  1. 制定总成本预算 —— 设定成本预算总额度,资源使用成本公司总预算约束。
  2. 分解总成本预算 —— 应将预算分解到各成本单元及项目,形成成本单元及项目预算约束。

- 配额约束

管理措施:制定配额约束判定规则。

具体内容:

  1. 制定配额约束默认判定规则 —— 为降低判定规则的维护成本,可以为所有资源设定一个默认的配额规则。
  2. 为特定资源设置配额约束判定规则 —— 根据业务需求及价格等因素,为特定的部分资源种类设置配额规则。为特定资源设定的判定规则将覆盖默认规则。
  3. 可以为不同的用户/角色设置不同的判定规则。

- 时长约束

管理措施:制定时长约束判定规则。

具体内容:

  1. 制定时长约束默认判定规则。
  2. 为特定资源设置时长约束判定规则。
  3. 可以为不同的用户/角色设置不同的判定规则。

- 价格约束

管理措施:制定价格约束判定规则。

具体内容:

  1. 为特定资源设置价格约束判定规则 —— 可以只针对价格范围变化大的资源(如虚机会因实例类型的不同价格差异巨大)设置价格约束。

- 品类约束

管理措施:制定品类约束判定规则。

具体内容:

  1. 制定基本品类清单 —— 根据业务需求和可用的 IT 产品及资源信息,可以制定出允许用户使用的全部产品/资源的清单。此清单中的清单项可能只制定产品/资源的类别,也可能同时制定某些配置项的取值。比如对于EBS卷,除了资源类别(即“EBS”)还可以指定卷类型(如“gp2”)。
  2. 将预投入资源品类添加到基本品类清单 —— 可以从 IT 资产清单和云服务提供商的产品价格清单中了解哪些产品/资源需要预投入,并对基本品类清单进行修正。比如用户已购买了一些 Oracle 数据库的 License,则在创建数据库实例时,应优先选择“自带 License”的选项;若比如用户已购买了大量可用区为:cn-north-1a,实例类型为:m3 系列的 Linux 预留实例,则在创建 Linux 实例时,应优先选择 m3 系列的实例,并在 cn-north-1a 可用区启动。

事中管理

对于不同管理对象及判定规则,其事中管理措施均完全一致,依管理模型中说明即可。

事后管理

同通用管理模型中说明。

下期预告

下期文章:《云成本管理方法论(三)——云优化管理之判定规则》,将对云优化管理模型中可优化问题的判定规则进行详细分析。(由于云优化管理模型相对较复杂,将分判定规则和管理措施两期进行说明。)


  1. 为方便表述,在涉及成本时,我们用“成本单元”指代部门和成本单元。 ↩︎