成本管理规则

已完成

成本管理通常是客户在任何治理活动中都会选择要完善的首要规则。 此单元概述了结果、工具、流程和参考实现,以完善成本规则。

目标

成本管理规则可建立能够控制成本和响应以下触发条件的信心:

  • 解决有关预算的问题
  • 定义跨业务部门的成本分配
  • 实现成本防护措施
  • 分析工作负载成本
  • 跨组合应用操作最佳做法
  • 为每个工作负载团队创建成本最佳做法的问责

成本管理最佳做法

此规则的目标是应用以下成本管理最佳做法:

  • 协调团队和问责
  • 集中管理最佳做法
  • 建立工作负载级别的最佳做法

按团队和问责划分的最佳做法

整个企业的成本管理是云治理和云操作的一种功能。 所有成本管理决策都会改变支持工作负载的资产。 如果这些更改会影响工作负载的体系结构,则需考虑其他注意事项来最大程度地减少对用户和业务功能的影响。 配置或开发该工作负载的云采用团队很可能要负责执行这些更改。

  • 标记对所有治理都至关重要:确保所有工作负载和资源遵循正确的命名和标记约定,并使用 Azure Policy 强制执行标记约定
  • 确定适当大小的机会:检查整个环境中当前的资源利用率和性能要求。
  • 重设大小:修改每个资源以使用可以满足每个资源性能要求的最小实例或 SKU。
  • 水平与垂直缩放:与使用单个较大的实例相比,使用多个小实例可提供更简单的扩展路径。 使用多个较小的实例可支持自动缩放,优化成本。

运营成本管理最佳做法

以下最佳做法通常由云治理或云运营团队的成员根据修补和其他计划性维护流程完成。 这些最佳做法将映射到我们在本单元后面部分中介绍的可操作指南。

  • 标记对所有治理都至关重要:确保所有工作负载和资源遵循正确的命名和标记约定,并使用 Azure Policy 强制执行标记约定
  • 确定适当大小的机会:检查整个环境中当前的资源利用率和性能要求,标识已超过 90 天未得到充分利用的资源。
  • 预配适当大小的 SKU:修改未充分利用的资源以使用可以满足每个资源性能要求的最小实例或 SKU。
  • 自动关闭虚拟机 (VM):如果不经常使用某个 VM,请考虑自动关闭。 VM 不会被删除,也不会被停止使用,但它会停止消耗计算和内存成本,直到它被重新启动。
  • 自动关闭所有非生产资产:如果 VM 是非生产性环境的一部分(特别是在开发环境),请建立自动关闭策略来减少未使用资产所带来的成本。 请尽可能将 Azure 开发测试实验室用作自助服务选项,帮助开发人员自行对成本负责。
  • 关闭并停用未使用的资源:是的,我们说了两次。 如果一个资源超过 90 天仍未得到使用,并且没有明确的运行时间要求,请将其关闭。 更重要的是,如果计算机已停止或关闭超过 90 天,请取消设置并删除该资源。 验证是否通过备份或其他机制满足任何数据保留策略。
  • 清理孤立磁盘:删除未使用的存储,尤其是不再附加到 VM 的 VM 存储。
  • 适当大小的冗余:如果资源不需要高度冗余,请删除异地冗余存储。
  • 调整自动缩放参数:操作监视可能会发现各种资产的使用模式。 当这些使用模式映射到用于驱动自动缩放行为的参数时,运营团队通常会调整自动缩放参数,以满足季节性需求或根据预算分配做出调整。 查看工作负载成本管理最佳做法以了解重要的预防措施。

工作负载成本管理最佳做法

在进行体系结构更改之前,请咨询工作负载的技术负责人。 使用 Azure 架构良好的框架概述简介来协助审查工作负载,以指导有关以下体系结构更改的决策:

  • Azure 应用服务:验证任何高级层应用服务计划的生产需求。 如果不了解工作负载的业务需求和基础资产配置,就很难确定是否需要高级层计划。
  • 水平与垂直缩放:与使用单个较大的实例相比,使用多个小实例可提供更简单的扩展路径。 使用小型实例可支持自动缩放,优化成本。 在横向扩展工作负载之前,技术团队必须验证应用程序是否是幂等的。 若要实现横向缩放,可能首先需要更改代码并配置应用程序的各个层。
  • 自动缩放:在所有应用服务上启用自动缩放,以允许可突增数量的较小 VM。 启用自动缩放具有相同的幂等要求,这需要了解工作负载体系结构。 在进行任何操作更改之前,必须由云采用团队批准工作负载和支持资产进行横向缩放和自动缩放。
  • 实现无服务器技术:VM 工作负载通常按原样迁移,以避免停机。 通常情况下,VM 会托管间歇性任务、运行时间较短的任务或运行数小时的任务。 例如,运行 Windows 任务计划程序或 PowerShell 脚本等计划任务的 VM。 当这些任务不运行时,你仍需要为 VM 和磁盘存储付费。 迁移后,请考虑将工作负载的层重新架构为无服务器技术(如 Azure Functions 或 Azure Batch 作业)。

成本管理过程

这里描述的最佳做法是可行的,但你应如何以及何时应用它们呢? 成本管理规则是一项持续的工作,涉及多个过程和角色。

Diagram of the Cost Management discipline as a continuous process.

图 1:成本管理规则的连续过程。

与中心运营和工作负载团队合作,确保对图 1 中的每个成本管理规则最佳做法(优化、可见性、问责)都拥有适当的所有权。 根据你在环境中管理工作负载的方式,可能需要在团队之间推行一些最佳做法。 虽然有的组织让中心 IT 承担所有成本管理责任,而工作负载团队不承担责任,但也有其他组织会让工作负载团队承担所有成本管理责任。 大多数组织都处于这两种极端情况之间。 在 Tailwind Traders,中心 IT 仅负责管理报告和预算。

调整角色后,建立重复性流程,以使彼此对这项重要的重复性任务负责。

Microsoft 成本管理

Microsoft 成本管理是 Azure 中的默认工具,它将所有数据组合在一起以管理成本策略。

Microsoft 成本管理将资源组织、Azure 顾问警报和管理基础组合在一起,以满足成本管理需求。

练习:创建预算

若要开始使用 Microsoft 成本管理,请通过创建和管理 Azure 预算教程创建你的第一个预算。

练习:寻找机会进行优化

如果你的 Azure 环境中有现有部署,则可能会在 Azure 门户中提供可能会影响整体支出的建议。 完成通过建议优化成本教程,以查看 Azure 顾问提供的建议和其他可能降低成本的建议。 这些建议确定了应用本单元中描述的操作最佳做法的机会。

练习:使用 Azure Policy 限制成本风险

若要主动限制意外成本,你可以使用 Azure Policy 创建防护措施,以影响任何角色超支的能力。 最常见的两个成本风险源自误解决策:

  • Azure 区域:资产成本因 Azure 区域而异。 你可以使用 Azure Policy 限制跨区域部署资源(如果可能)。
  • Azure SKU:部署过程中选择的 SKU 会直接影响成本。 最大限度地减少自助服务或工作负载拥有的订阅中昂贵资源的使用,可以限制意外的预算超支。

将策略添加到非生产环境中的拒绝 VM SKU 以查看此类型成本控制策略的实际作用。

添加策略以指定特定订阅的允许位置,避免与区域定价相关的成本偏移。