由于零固定投资和具有弹性等显著优势,云计算已被绝大多数的企业所采用1。但与此同时,由于尚未形成有效的管理实践,云资源的过度使用和浪费已成为云用户关注的最主要问题[^fn2]。
其中,据 RightScale 调研结果,企业云服务使用费用普遍存在 30% ~ 45% 的浪费。另据 Gartner 数据,2017年云服务(仅包括 IaaS 和 PaaS)市场额度约在 460 亿美元,因此仅 2017 年,企业在云服务使用中的浪费达到 140 亿美元以上。
可以看到,对云服务成本的有效管理已成为云用户的迫切需求,同时,对此问题的研究具有巨大的市场价值,因此,作者将在后继展开一系列系统的分析研究,尝试形成一套尽可能全面完整的云成本管理方法论,以便为云用户和云管理软件提供商提供有助的参考。
内容计划
要真正管理好云资源成本,方法论和管理措施同样重要,前者为我们提供一个可行的探索途径和指导,后者将为我们提供切实可操作的方法。所以要建立一套可行且可操作性的云成本管理实践体系,必须兼顾这两者。所以作者也将尝试从这两方面来做一个完整的探索和讨论。
就目前想到的,作者计划按如下大纲来完成这一系列文章:
- 一、《云成本管理模型》 —— 建立云成本管理基本分析框架
- 二、《云成本管理之使用管理模型》 —— 具体化使用管理场景下的云成本管理模型
- 三、《云成本管理之优化管理模型》 —— 具体化优化管理场景下的云成本管理模型
- 四、《云成本优化效果测量模型》 —— 分析云成本优化效果不同测量模型及其优缺点
- 五、《计算资源云成本管理分析》 —— 根据不同云平台下不同类型计算资源的共性及差异,细化和补充其管理措施细节
- 六、《存储资源云成本管理分析》 —— 根据不同云平台下不同类型存储资源的共性及差异,细化和补充其管理措施细节
- 七、《网络资源云成本管理分析》 —— 根据不同云平台下不同类型网络资源的共性及差异,细化和补充其管理措施细节
- 八、《其他资源云成本管理分析》 —— 根据不同云平台下不同类型非计算、存储、网络类资源的共性及差异,细化和补充其管理措施细节
云成本构成要素
云成本是指云用户在特定时间内使用特定数量的云资源或服务所产生的费用2。像任何商品的成本一样,云资源成本由两个变量决定:使用量和单价,我们将它们统称为“云成本构成要素”。出于表述的便利,我们后面一般会将这两个变量称为用量和价格。因此有:
云成本构成要素:用量、价格
需要注意的是,在很多情形下用量是时间相关的,即用量是资源静态数量与使用时长的乘积。如 1 台虚机运行 1 小时所产生的费用,1 GB 块存储 1 个月产生的费用等。
云成本管理模型
对于云成本的管理,我们的基本思路是,要管理或控制某一因素,必须先制定出相应的规则来判定此因素是否符合期望,如果不符合期望,就需要对此因素实施既定的处理措施。
基于上面的思路,引入我们的云成本管理模型:
在此管理模型中,云成本管理活动由四个维度决定,它们分别是:
- 管理对象
- 管理时点
- 判定规则
- 管理措施
这样,可以将云成本管理定义为:
云成本管理是预先定义管理对象、管理时点、判定规则和管理措施,并在特定的管理时点,对特定的管理对象根据对相关判定规则的判定,实施相应管理措施的一系列活动。
根据在管理对象上的差异,我们将云成本管理分为两大类:使用管理和优化管理。使用管理的管理对象是一个个单独的资源对象,优化管理的管理对象是资源指标及不同资源之间的关系。
下面对这四个维度分别进行说明。
管理对象
如前分析,云成本由用量和价格两个云成本构成要素决定。同时,作为云成本管理的两种类型,使用管理和优化管理的核心目标都是成本,因此这两个要素将是基本的管理对象或对管理对象的分类依据。下面分别说明。
- 使用管理
在使用管理中,对于云成本我们也有会一些直接的管理期望(如成本预算),因此它也需要作为一个独立的管理对象。因此,使用管理包含如下三个管理对象:
- 成本
- 用量
- 价格
- 优化管理
如前所述,优化管理的对象是资源运行指标或资源对象之间的关系,因为不同资源之间的关系较为多样,难以事先列举,所以我们暂仅对管理对象做如下分类:
- 资源关系类
- 资源指标类
管理时点
管理是一个系统工程,所以对管理对象的管理不能只在对资源的使用行为进行时进行。一般地,我们需要在事前、事中和事后三个阶段都进行管理。当然,因为这三个阶段有其不同特点,所以管理目标和内容也会有所不同。
管理时点是预定的可明确界定的实施管理行为的时间点。管理时点可以是确定的时刻,可以是某些阶段,也可以是特定事件的发生点。就我们要研究的内容,我们定义如下几个管理时点:
- 事前
- 事中
- 事后
这里的“事”,对于使用管理是指使用云资源的活动,既包含创建、删除资源等有明确时间点的活动,也包括保持虚机运行、保持数据持久化状态等时段性的活动;对于优化管理,是指可优化问题的检查和处理活动。
判定规则
判定规则是指对管理对象的限制、约束和期望规则。判定规则往往会以口头、书面或是程序逻辑等多种方式体现,同时这些不同方式对于参与者的约束程度也是不同的,比如说口头要求的约束强度会比较弱,而固化的程序逻辑的约束强度会很强。
根据约束强度从弱到强的顺序,我们把常见的一些判定规则类型罗列如下:
- 口头要求
- 实践示范
- 制度规范
- 程序逻辑
其中,“实践示范”是指未书面描述,但现有参与者正在执行的流程或规则。通常来说,判定规则的强弱会影响管理的成本和效果,比如约束强度俞强的类型,其前期准备阶段的成本会更高,但后期执行的成本会更低,同时执行效果会更好。
另外,需要特别注意的一点是,对于一套用于实际执行的判定规则,其每项规则应是可衡量的。也就是说,应有明确的算法或标志可判断某一规则是否被违反。
管理措施
首先,定义两个名词:
- 违规 —— 违反判定规则
- 合规 —— 符合判定规则
进而有如下定义:
管理措施是判定违规,并报告及处理违规的一系列活动。
可以看到,违规是管理措施的核心关注,所以也可以说,管理措施就是围绕违规进行的各项活动。
在不同的管理时点,其管理措施会有所不同,可以做如下分组:
事前:
- 制定规则
事中:
- 发现违规
- 报告违规
- 处理违规
事后:
- 改进规则
下面逐个做具体说明。
- 制定规则
在前期制定判定规则详细规则说明和可行的判断方法。
- 发现违规
发现违规的难点在于对判定规则是否被违反的判定。一般来说,判定规则强度越弱,其是否违规的界限会越模糊,同时对于违规的判定结果也越不确定。
而发现违规是后继管理措施的前提和基础,所以判定规则的强度对于管理措施的可行性及效果有着关键的影响。所以,在条件允许并具有经济可行性的情况下,应制定强度尽可能高的判定规则。
对于如何发现违规,一般有如下的一些方式:
- (人工)随机抽查
- (人工)定期巡检
- (人工)节点检查
- (程序)定时扫描
- (程序)事件判定
其中,节点检查是指在流程的特定节点检查判定规则是否被违反,从而决定流程的下一步走向。 事件判定是指在发生资源操作或监控事件时,判定此操作是否将要导致或已经引起判定规则被违反,从而决定拒绝还是许可此操作。另外,对于(实时)监控情形,根据其是轮询触发还是事件触发,应归于定时扫描或事件判定,所以不将监控作为单独的方式列出。
- 报告违规
报告违规的方式比较多样,一般有:
- 电话
- 消息(包括手机短信、IM软件发送的消息及应用通知等)
- 邮件(包括文档)
- 网页
- API
等等。具体采用何种违规报告方式,一般与违规的发现方式有关,比如对于人工发现方式,一般会通过电话或邮件报告,对于事件判定方式,一般会通过 API 返回值报告。
- 处理违规
对于使用管理,处理违规的方式一般只有两种:
- 许可
- 拒绝
许可即允许创建资源或允许资源继续运行;拒绝指拒绝资源创建请求,或中止正在运行或使用中的资源。
但对于优化管理,处理违规的方式与管理对象、管理时点、资源种类等因素均有关系,因此具体内容非常多样,我们将在后面专门研究。
- 改进规则
根据前置管理措施的执行情况和分析结果,需要对判定规则不断进行改进。这样才可以使云成本管理活动形成一个持续的正向反馈闭环。
云成本管理流程
在云成本管理模型中,我们定义了三个管理时点:事前、事中和事后。这三个管理时点前后相连形成一个循环,构成了一个闭环的云成本管理流程。
我们也可以将三个管理时点称为三个阶段,因此云成本管理流程就是按照事前、事中、事后的顺序循环往复这三个阶段,并在每个阶段中实施其相应的管理措施。
下面对这三个阶段做进一步的说明。
事前管理
在事前管理阶段,主要的管理措施是制定详细、准确和具有可操作性的判定规则。这里的“可操作性”是指判定依据应该有切实可行的获取方式,同时,判定结果应该是确定的、无二义的。
事前管理阶段的工作需要缜密细致,同时相对单调,但这一阶段可以说是三个阶段中最重要的,这一阶段的执行质量将直接决定着后继阶段的执行效果。
事中管理
对于不同的判定规则,其事中管理的基本措施是一致的,即包含如下三项内容:
- 发现违规
- 报告违规
- 处理违规
具体来说,在创建资源或收到资源扫描结果时,将应用事前阶段创建的判定规则来尝试发现违规。如果发现了违规事件,则将报告此违规。在接收到违规事件后,一般有两种处理方式:忽略和处置。
具体按忽略还是处置处理,由具体的业务要求决定。另外,对于没有明确指定违规处理措施的情形,将默认按忽略处理。
事后管理
事后管理措施对不同的判定规则也是一致的。事后管理措施的基本内容是将资源当前及历史的总体情况通过报表呈现出来,以便报表查看者了解总体信息及改进判定规则。
一般来说,有如下三种类型的事后管理报表:
- 资源报表
- 成本报表
- 违规报表
其中,如上报表都可以按资源类别,云平台,云账号,成本单元,项目等分组统计。另外,违规报表是对违规事件的统计,其汇总了历史违规记录和当前正在发生的违规事件。
下期预告
下期文章:《云成本管理方法论(二)——云使用管理》,将会针对使用云资源(相对于优化云资源)这一更具体的场景细化管理模型中的判定规则及管理措施等内容。
- 根据 Mcafee 及 RightScale 等机构的调研数据,已有 90% 以上的企业在使用云服务。
[^fn2]:根据 RightScale 《2017 State of the Cloud Survey》 中调研数据,成本管理已成为成熟的云用户其最为关注的问题。 ↩ - 从财务实践上来说,成本和费用是不同的,但对于我们要研究的问题,没有必要区分这两个概念,所以在文中会将这两个词作为等价的概念混合使用。另外,由于在讨论成本问题时,多数情形下不需要区分云资源和云服务,因此后面在无特殊说明时,将用“云资源”指代“云资源或云服务”。 ↩