云优化管理四个管理维度中管理时点在通用管理模型基础上不需要额外补充,所以主要说明其他三个维度(管理对象、判定规则和管理措施)。另外,为了贴近我们熟悉的优化概念,我们将优化管理中的违规称为问题,并将处理违规称为实施优化。
因为优化管理相对较复杂,我们将分两篇文章来讨论。此篇文章主要讨论管理对象和判定规则。
优化管理中的管理对象是资源指标和资源之间的关系(后面会看到,严格来说是“资源关系状态”)。其中,资源指标种类很丰富,并且一般会随资源种类的不同而不同,但是对于具体资源其指标种类是确定的,所以并不需要做一般性的分析。所以,我们重点需要分析影响资源成本优化的不同资源关系。为此,下面先对一些基础概念进行说明。
资源基本关系:
另外需要注意的是,无论在聚合还是组合关系中,代表部分的资源都有可能不与任何代表整体的资源发生关联。而由于聚合关系中的部分资源对整体资源没有强的依赖性,所以部分资源一般在这种情况下仍能够独立实现其业务功能(比如未关联负载均衡器的虚机仍可对外提供服务);但对于组合关系,部分资源在这种情况下一般不能独立实现其业务功能(如未挂载到任何虚机的存储卷无法对外提供数据存储服务)。
基于资源基本关系的定义,我们再定义如下几个概念:
从上面的例子也可以看到。同一资源可能会有多种聚合关系(如虚机与负载均衡器以及虚机与伸缩组),而且不同的聚合关系可能既有一般聚合关系也有组合关系。
需要明确的是,真实的资源之间具体应属于哪种关系是由其功能特征决定的,是固有的,所以对这些关系本身我们并没有办法去改进或优化。但是,我们可以对其关系状态进行优化。因此,下面列出各种关联关系的不同状态:
其中,由于关联关系中的“已关联”和“未关联”只具有最基本的信息,无从判断问题,因此将不作为管理对象。同时,还有如下几种非关联关系的关系状态也将作为管理对象:
另外,优化管理中的管理对象除资源关系状态外还有资源指标,所以汇总后云成本优化管理全部的管理对象如下:
优化管理中的规则判定结果为是否存在问题(即违规),以及问题的类型。问题类型可结合管理对象和资源状态两方面的信息进行判断。
在定义资源状态之前,我们先定义两种物理资源类型:
可以发现,有些资源如VPC,子网,用户账号、权限及秘钥等信息在其整个生命周期中都不会占用运行所需资源。这种资源在一般情况下价格为零。
任意资源可能的状态有如下三种(忽略如“销毁中”等转换状态):
首先,一种资源如果在其全部生命周期中都不会占用运行所需资源,则其只有活动中状态,没有已停止状态。对于会占用运行所需(物理)资源的云资源,活动中状态是指正在或有能力占用运行所需资源的状态;已停止是指不会占用运行所需资源的状态。已销毁是指已删除其定义所需资源的状态。
下面针对不同的管理对象来分析其判定规则。
注:
1. 与使用管理的描述方式有所不同,关联关系相关的判定条件由表格的表头(被关联资源状态)及每行的第一列(关联资源状态)构成,其他单元格中内容即为判定结果。同时,从判定条件到判定结果之间的映射关系即构成了违规判断方法。
2. 判定结果有三类:“/”表示不存在此情形,“无”表示此情形属正常情况,其他情况为问题描述。
关联资源状态 | - | 被关联资源状态 | - |
---|---|---|---|
活动中 | 已停止 | 已销毁或未创建 | |
活动中 | 无 | 无 | 无 |
已停止 | 无 | 无 | 无 |
已销毁 | / | / | / |
关联资源状态 | 违规判定结果 |
---|---|
活动中 | 数据错误 |
已停止 | 数据错误 |
已销毁 | / |
关联资源状态 | - | 被关联资源状态 | - |
---|---|---|---|
活动中 | 已停止 | 已销毁或未创建 | |
活动中 | 无 | 无 | 数据错误 |
已停止 | 无 | 无 | 数据错误 |
已销毁 | / | / | / |
关联资源状态 | 违规判定结果 |
---|---|
活动中 | 无 |
已停止 | 无 |
已销毁 | / |
快照资源状态 | - | 源资源状态 | - |
---|---|---|---|
活动中 | 已停止 | 已销毁或未创建 | |
活动中 | 无 | 无 | 源资源不存在 |
已停止 | / | / | / |
已销毁 | / | / | / |
快照资源状态 | 违规判定结果 |
---|---|
活动中 | 数据错误 |
已停止 | / |
已销毁 | / |
父资源状态 | - | 子资源状态 | - |
---|---|---|---|
活动中 | 已停止 | 已销毁或未创建 | |
活动中 | 无 | 无 | 数据错误 |
已停止 | 父资源已停止 | 无 | 数据错误 |
已销毁或未创建 | 数据错误 | 数据错误 | / |
资源角色 | - | 资源状态 | - |
---|---|---|---|
活动中 | 已停止 | 已销毁 | |
父资源 | 无子资源 | 无 | / |
子资源 | 无 | 无 | / |
父资源状态 | - | 子资源状态 | - |
---|---|---|---|
活动中 | 已停止 | 已销毁或未创建 | |
活动中 | 无 | 无 | 数据错误 |
已停止 | 父资源已停止 | 无 | 数据错误 |
已销毁或未创建 | 数据错误 | 数据错误 | / |
资源角色 | - | 资源状态 | - |
---|---|---|---|
活动中 | 已停止 | 已销毁 | |
父资源 | 无 | 无 | / |
子资源 | 无父资源 | 无父资源 | / |
管控资源状态 | - | 托管资源状态 | - |
---|---|---|---|
活动中 | 已停止 | 已销毁或未创建 | |
活动中 | 无 | 无 | 无 |
已停止 | 数据错误 | 数据错误 | 数据错误 |
已销毁或未创建 | 数据错误 | 数据错误 | / |
资源角色 | - | 资源状态 | - |
---|---|---|---|
活动中 | 已停止 | 已销毁 | |
管控资源 | 无 | 无 | / |
托管资源 | 数据错误 | 数据错误 | / |
预留资源小于可匹配实例资源用量 | 预留资源等于可匹配实例资源用量 | 预留资源大于可匹配实例资源用量 |
---|---|---|
预留资源不足 | 无 | 预留资源低利用率 |
份数低于合理范围 | 份数处于合理范围 | 份数高于合理范围 |
---|---|---|
快照或备份不足 | 无 | 快照或备份过多 |
指标低于合理范围 | 指标处于合理范围 | 指标高于合理范围 |
---|---|---|
资源低利用率 | 无 | 资源不足 |
结合用户实际使用资源时的操作,我们会发现,如上判定规则判定得出的很多问题在用户合理的使用过程中实际也会发生。比如,在人工创建一个存储卷与完成挂载此存储卷之间会存在一定的时间差(在此期间会处于“无父资源”的状态),在业务不繁忙的时段预留资源可能会低利用率,一台虚机的 CPU 利用率在访问低谷时可能很低等等,这些状态都与用户的不合理操作无关,也并无可优化的问题。
进一步考虑这个问题,会发现很多的“问题状态”必须持续一定的时间,或是达到总时长的一定比率后才会成为问题。所以,在实际制定判定规则时,一般都需要增加“持续时长”和/或“平均时长”等辅助判定条件。
下期文章:《云成本管理方法论(四)——云优化管理之管理措施》,将针对本篇文章中判定规则所发现的各类可优化问题,来一般性地说明对这些问题的优化措施。