Using the cloud is one thing, managing it is another。每个企业企业上云之后总是需要有人来管理自己的云环境,他们或者亲自管理或者找相应cloud provider的Partner,或者根据企业的特点选择管理部分的事务而选择有资质的专家来完成其余的云管理事务。本文将描述云管理平台的常见模块来帮助用户了解云管理的基本要求从而选择适合自己的云管理模块。
什么是云管理平台
从某种意义上来讲,云管理平台是一组工具集,Gartner对云管理平台列出了四大类150多项的功能模块。
- budget & optimization
- Consumption & operations
- administration & delivery
- comparison & selection
一项项展开描述这150多项功能模块的结果必然是一千个人眼里有一千个云管理平台。
我们就从需求出发来讲述一下几大常见功能模块
Budget & optimization(费用管理和优化)
对于费用管理模块的需求是
- 可以监测云资源每年,每月,每星期,每日的使用量
- 可以根据Cloud Provider,资源类别,负载类型,所属项目,组织架构等多种过滤条件向相关方展示透明的云资源消费情况
- 可以提供相关的报告供用户下载做进一步分析
- 可以对应云资源类型,所属的项目,部门等过滤条件设置相应的预算及费用告警
我们看一张国外某费用管理云服务平台一个用户的仪表盘
这个仪表板的上方显示了cost(费用),usage(使用量)和manage(管理,用于设置告警和报告)三大功能。图表则分别展示了
- 在过去60天内用户在云上的消费
- 截止到本日的当前月的消费以及上个月同样时间段的消费
- 预测本月的消费
- 预付费购买和按需购买虚机的使用比较
- 生产,测试,开发环境的消费对比
- 各条产品业务线的消费对比
- 。。。
这些图表当然只是该平台数据展现功能的很小的一部分,有兴趣的同学可以去他家申请试用。
国内目前也有类似的SaaS服务可供购买,有开发团队的也可以考虑自己做一个
Step by Step
1. 按展现需求把资源做好tag,以上图为例,你需要至少两个tag,一个是环境,一个是产品线
Tips: 最好在部署的时候就加上tag或者用Azure 策略(policy)强制添加tag
2. 每天多次从Azure调用使用量和费用
Tips: Azure 中国的计费模式错综复杂,Api,powershell,portal下载。。。哪个work用哪个吧
3. 编程实现各种业务逻辑或者用PowerBI等工具来展示数据
Tips: 为了更好的数据展现力,可以考虑在cloud 原生的tag上再加一层虚拟tag,在云平台这一端提供更多也更友好的条件过滤组合
Tips: 表格,柱状图, 条形图,饼图,折线图。。。都有开源代码库的
至于怎么设置告警,告警触发时候发送email,怎么生成报告提供客户下载,这些要么自己写要么找开源,都是很成熟的技术实现方案了
对于优化模块的需求是
- 根据业界最佳实践封装特定云服务提供商的资源优化算法
- 可以根据云资源消费监测分类决定资源是未使用,空闲还是使用状态
- 根据资源使用情况分类给出优化建议,调整资源类型,大小和预留计划
- 可以对预留云资源设置到期告警
我们看一张某费用优化云管理平台一位用户的优化建议界面
这里我们看到平台给出了多达11项的优化措施和建议包括:
- 空闲资源(虚拟机, 负载均衡器,数据库。。。)
- 预留虚拟机使用率偏低
- 预留计划建议
- 预留计划到期告警
- 。。。
常见的建议还包括,
存储类型选择,数据备份策略,数据生命周期。。。
Tips
这一部分模块开发的难点在于必须
-
- 深入了解云服务商的资源特性以及计费模式
- 根据常见云应用的性能需求定义优化算法
云管理平台提出优化建议,最后的优化实施和在云上的应用本身的架构,性能和特性是分不开的。