高弹性混合云架构的容量管理和成本优化实践

引子

云的弹性容易造成一种假象,云上不需要容量管理,其实云上的浪费是一种常态, Gartner 研究显示到 2020 年,由于缺乏成本优化手段, 80% 企业的云资源成本将会大幅超出预算、平均浪费的云计算支出率估算为 35% ;造成这一现象的主要原因即是大部分使用者缺少自主可控的全局容量监测和辅助决策工具,因为大部分公有云厂商只针对自身平台产品提供针对单类别 IaaS 资源的使用量监控数据,无法实质辅助使用者有效地做出全局扩缩容决策。

问题现状

IaaS 使用方式为多云混合,涵盖少量物理设备,主要使用的公有云厂商为阿里云、腾讯云、华为云及百度云。
主要业务为票务查询、票务预订,使用云资源方式的显著特点是敏捷、资源变化快,遇节假日高峰将以百台乃至千台实例为最小单位突增骤减。
随着接入公有云厂商的逐渐增加,管理难度不断提高;对多云环境的统一管理,将同类别 IaaS 资源抽象成统一标准提供给使用者,并且全局统筹计量资源消耗、持续优化成本,是当前面临的主要挑战。

问题拆解

  • 数据采集——对于异构 IaaS 基础设施的属性数据(厂商、单价)、容量数据、实时监控数据进行周期性采集,采集方式为 Agent
    和 API 调用,目标为周期性更新、实时准确无遗漏、自维护自更新;同时因单台实例容量通常较小, Agent 性能要求较高,既不能影响业务逻辑也不能对单台实例资源造成较高损耗。
  • 数据治理——属性、容量等结构化数据采用 CMDB 进行存储,同一类型的不同厂商资源建立统一的对象模型,并且根据既有管理逻辑与业务部门关联;实时监控数据采用TSDB 时序数据库存储,需能支持横向扩容,最大管理实例数量不低于 50000 ;日志、审计信息等数据采用 KV 存储。
  • 数据利用——采用一种相对高效的自动化流程编辑工具,可以组合固化常见的系统操作、 CMDB 操作、审批操作、数据查询操作、数据更新操作以及云管类型操作;提供灵活多样的触发方式,例如事件触发、定时任务、周期任务等。
  • 场景配置——采用一种相对高效的前端制作工具,前端展示界面可提供 CMDB 、 TSDB 以及 KV 存储内数据源查询展示控件,查询后数据可按表格、树状图、饼图等定制化视图方式在前端展示;对于数据利用部分的固化工作流提供按钮触发控件;根据前文中的“问题现状”配置多云管理、容量管理、成本分析等三个主要用户侧交互场景。

应对思路

目前单独提供多云管理、容量管理、成本分析的厂商市面上均有,但三者间能柔性结合、数据互通、并支持根据用户需求定制化变更交互方式及功能的商业化软件并不多;因此选用了一款低代码的运维开发平台产品进行测试; PaaS 层组件由 OPSMIND 提供, SaaS 层应用场景为双方共研。


https://pub.opsmind.com/m.js/blog/cx001.png

测试成果

  1. 测试阶段的主要目标为能力验证,因此选用阿里云、腾讯云的计算类实例作为测试对象;出于数据安全考虑,数据采集方式以对接云厂商 API 方式实现,暂未安装 Agent ;配置阿里云、腾讯云 Access Key 后,每 30s 间隔采集更新时序存储、 CMDB 、 KV 存储数据源,确保全局资源数据实时准确无遗漏,该采集刷新间隔可根据实际需求调整。

  2. 根据业务部门最为关注的云服务器关键字段在 CMDB 中建立云服务器模型、与外网 IP间、与业务部门间索引关联关系,利用前端编辑器控件进行统一抽象模型展示,支持按任意关键字段进行检索查询;前端展示关键字段及常用查询可随时进行变更。


    https://pub.opsmind.com/m.js/blog/cx001.png
  3. 根据各业务部门共性需求制定管理操作、运维操作服务目录,将常见的资源增删查改、远程任务执行类操作固化为工作流后利用交互界面按年触发,规避高频切换登陆不同云厂商 Console 进行常规运维操作,提升人效;服务目录内容可随时进行变更。


    https://pub.opsmind.com/m.js/blog/cx001.png
  4. 容量管理系统主要配置了四个子功能模块——(1)云计算实例保有量统计分析实时报表(支持按业务线、云厂商、时间段等多维度交集聚合查询生成);(2)云计算实例关键容量指标统计分析实时报表(支持按业务线、云厂商、时间段等多维度交集聚合查询生成);(3)低利用率资源筛查(支持按业务线、云厂商、时间段等多维度交集聚合查询生成);(4)即将到期资源统计提醒(对接邮件、短信、 IM 等告警通道);实际应用场景中更多利用到的是按业务部门维度筛查出的低利用资源,用以推动资源降级或释放,因云厂商计费维度复杂,因此列表中仅以单价数据粗略计量成本节省总额。

  5. 成本分析系统主要配置了四个子功能模块——(1)云厂商标准资源账单同步录入;(2)非标类别支出人工录入;(3)周期性成本录入;(4)预算执行及成本支出定制化视图生成。


    https://pub.opsmind.com/m.js/blog/cx001.png

后续计划

1.完成 PaaS 层组件与其它两家公有云厂商的 API 对接;
2.在数据采集层、数据治理层、数据利用层及三项应用场景中覆盖目前使用到的全部资源类别;
3.管理操作、运维操作服务目录进一步完善至运维团队基本无需再登陆云厂商 Console ;
4.根据既有分账习惯设定一个更为精细化的成本节省量化统计方式,将容量管理系统辅助决策节省的成本更为直观体现出来,争取 2020 年整体支出不超过预算执行总额的 80 %。

你可能感兴趣的:(高弹性混合云架构的容量管理和成本优化实践)