预测

本文可帮助你了解 FinOps 框架中的预测功能,以及如何在 Microsoft Cloud 中实现该功能。

定义

预测涉及分析历史趋势和未来计划,以预测成本、了解对当前预算的影响以及影响未来预算。

分析历史使用情况和成本趋势,以确定你希望更改的任何模式。 通过未来计划来增强这一点,以生成明智的预测。

定期对照当前预算查看预测情况,以确定风险并启动修正工作。 制定一个计划,以在团队和部门之间平衡预算,并在未来预算的制定中纳入所学经验。

通过准确、详细的预测,组织可以更好地适应未来的变化。

开始之前

你需要熟悉所用服务的收费方式,才能有效地预测未来的使用情况和成本。

如需了解使用模式的变化将如何影响未来的成本,你需要了解:

  • 了解影响成本的因素(例如计算、存储、网络和数据传输)
  • 服务的使用情况如何与各种定价模式(例如即用即付、预留和 Azure 混合权益)相对应

入门

刚开始管理云中的成本时,可以使用门户中提供的原生成本分析体验。

最简单的方法是使用“成本分析”来预测未来成本(使用“每日成本”或“累计成本”视图)。 如果你的用量较为稳定,几乎没有异常情况或大的变化,那么这可能就是你所需要的。

如果成本确实存在异常情况或大幅(可能是预期的)变化,那么你可能需要自定义视图以建立更准确的预测。 为此,你需要分析数据并筛选掉任何可能使结果出现偏差的内容。

  • 使用“成本分析”分析历史趋势并确定异常情况。
    • 在开始之前,确定你是对计费时的成本感兴趣,还是想要预测在考虑基于承诺的折扣后的有效成本。 如果想要预测有效成本,请更改视图以使用摊销成本
    • 从“每日成本”视图开始,然后更改日期范围,使回溯时长与你有兴趣预测的时长相等。 例如,如果要预测未来 12 个月的情况,请将日期范围设置为过去 12 个月。
    • 筛选掉所有购买 (Charge type = Purchase)。 请记下它们,因为你需要单独预测它们。
    • 用于确定新订阅、旧订阅(已删除)、资源组和资源的组成本。
      • 如果看到任何已删除的项目,请将其筛选掉。
      • 如果看到任何新项目,请记下它们,然后将其筛选掉。你需要单独预测它们。 考虑用新名称保存视图,作为以后“记住”它们的一种方式。
      • 如果视图中包含将来的日期,你可能会注意到预测开始趋于平稳。之所以会发生这种情况,是因为算法中不再考虑异常情况。
    • 如果看到任何大的峰值或低谷,请根据其中一个分组选项对数据进行分组,以确定原因。
      • 请尝试不同的选项,直到使用与查找成本意外变化相同的方法发现原因。
      • 如果要查找导致成本出现峰值(或低谷)的确切变化,请在单独的窗口或浏览器标签页中使用 Azure Monitor 等工具。
      • 如果相应变化是一项单独的收费,不应计入预测,请将其筛选掉。注意不要过筛选掉其他成本,因为这会使预测结果出现偏差。 如有必要,请首先预测一个较小的范围,以最大限度地降低筛选较多的风险,然后按范围重复该过程。
      • 如果变化处于一个不应被筛选掉的范围内,请记下该范围,然后将其筛选掉。你需要单独预测它们。
    • 考虑筛选掉在此期间重新配置的任何订阅、资源组或资源,因为它们可能无法准确反映未来成本的情况。 请记下它们,以便可以单独预测它们。
    • 此时,你应该对稳定的成本有了相当清晰的了解。
  • 更改日期范围,查看未来时间段的情况。 例如,接下来的 12 个月。
    • 如果对该时间段的总累计成本感兴趣,请将粒度更改为 Accumulated
  • 记下预测,然后对筛选掉的每个数据集重复此过程。
    • 你可能需要缩短将来的日期范围,以确保历史异常或资源变化不会影响预测。 如果预测受到影响,请根据每日或每月运行费率手动预测未来成本。
  • 下一步,考虑你计划对环境所做的任何更改。
    • 此部分可能有点棘手,需要针对每个工作负载进行单独处理。
    • 首先,向下筛选,以仅包含将会发生变化的工作负载。 如果计划的变化仅影响单个计量,例如 VM 可能具有的运行时间(小时数)或存储帐户中存储的数据总量,则向下筛选到该计量。
    • 使用定价计算器确定你现在拥有的容量与你打算拥有的容量之间的差额。 然后,手动将该差额应用于计划期间的成本预测。
    • 对每个预期的变化重复此过程。

无论哪种方法最适合你,请将预测与当前预算进行比较,了解你目前的状况。 如果将数据筛选到较小的范围或工作负载:

  • 考虑在成本管理中创建预算,以跟踪该特定范围或工作负载。 为实际成本和预测成本指定筛选器并设置警报。
  • 在“成本分析”中保存视图,以监视一段时间内的成本和预算。
  • 考虑针对此视图订阅计划性警报,以便与利益干系人共享成本趋势图。 它可以在成本随时间变化的过程中帮助你提高责任感和意识,以免超出预算。
  • 考虑针对每个订阅订阅异常警报,以确保所有人都能在系统发现异常时获知这些异常。

考虑每月或每季度查看一次预测,以确保你保持在预期的轨道上。

进阶拓展

此时,你有一个用于生成预测的手动过程。 在进行基础操作之外的探索时,请考虑以下几点:

  • 扩大预测计算的覆盖范围,以包括所有成本。
  • 如果将成本数据引入单独的系统,请使用或引入跨所有成本数据的预测功能。 考虑使用自动化机器学习 (AutoML) 来最大限度地减少工作量。
  • 将预测功能集成到内部预算工具中。
  • 自动检测和缓解成本差异。
    • 实现可实时识别和解决成本差异的自动化流程。
    • 建立相关工作流或机制,以迅速调查和缓解差异,确保成本控制与预测的预算相协调。
  • 根据所有利益干系人可用的实际值生成自定义预测和预算报告。
  • 如果要度量单位成本,请考虑为单位成本建立预测,以更好地了解你的成本收入比是呈上升还是下降趋势。
  • 建立并自动执行 KPI,例如:
    • 成本与预测,用于衡量预测算法的准确性。
      • 只有在存在预期的使用模式且没有异常时,才能执行该操作。
      • 没有异常时,目标差额 <12%。
    • 成本与预测,用于衡量成本是否达到目标值。
      • 评估是否存在异常,以衡量云解决方案的性能。
      • 目标差额为 12-20%,如果 <12%,则是优化的团队、项目或工作负载。
    • 该时间段内导致成本超出预期范围的意外异常数。
    • 对预测警报做出反应的时间。

后续步骤

  • 预算管理
  • 管理基于承诺的折扣