工作负载管理和自动化
本文可帮助你了解 FinOps 框架中的工作负载管理和自动化功能,以及如何在 Microsoft Cloud 中实现该功能。
定义
工作负载管理和自动化是指仅在必要时运行资源,并且仅在活动工作负载所需的级别或容量上运行。
根据资源的启动时间要求标记资源。 查看资源使用模式,确定是否可以在非高峰时段纵向缩减甚至关闭资源(以停止计费)。 考虑使用更便宜的替代方案来降低成本。
有效的工作负载管理和自动化计划可以通过调整配置以动态匹配供需来降低成本,从而确保最有效的利用率。
入门
首次开始使用一个服务时,请考虑以下几点:
- 服务是否可以停止(如果可以,是否可停止计费)?
- 如果服务无法停止,请查看替代选择,以确定是否有任何服务可以停止运行(从而停止计费)。
- 请密切关注在资源停止时可能会继续计费的非计算费用,以免感到意外。 存储便是这样一个常见的成本示例,即使使用存储的计算资源不再运行,也会继续收费。
- 服务是否支持无服务器计算?
- 无服务器计算层可在未处于活动状态时降低成本。 一些示例:Cosmos DB、Synapse Analytics。
- 该服务是否支持自动停止或自动关机功能?
- 如果使用的服务支持进行停止但不支持自动停止,请考虑在 Power Automate 或逻辑应用中使用轻型流。
- 服务是否支持自动扩缩?
- 如果服务支持自动扩缩,请将其配置为根据应用程序的需求进行扩缩。
- 自动扩缩可与自动停止行为配合使用,以实现最大效率。
- 考虑在工作时间自动停止和手动启动非生产资源,以避免不必要的成本。
- 避免自动启动并非每天都使用的非生产资源。
- 如果选择自动启动,请注意可能会自动启动资源但不使用资源的假期和假日。
- 考虑标记手动停止的资源。 将查询保存在 Azure Resource Graph 中或“所有资源”列表中的视图中,并将其固定到 Azure 门户仪表板,以确保停止所有资源。
- 考虑使用容器和无服务器等体系结构模型,以便仅在需要时使用资源,并在关键服务中实现最大效率。
进阶拓展
此时,你已设置自动扩缩和自动停止行为。 在进行基础操作之外的探索时,请考虑以下几点:
- 自动执行自动扩缩或停止不支持该功能或具有更复杂的要求的资源的过程。
- 考虑使用 Azure Functions。
- 分配“Env”或“环境”标记,以标识哪些资源用于开发、测试、暂存、生产等。
- 首选在订阅或资源组级别分配标记。 然后,启用 Azure Policy 的标记继承策略和成本管理标记继承,以涵盖不发出有关使用情况数据的标记的资源。
- 考虑设置自动化脚本来停止具有特定运行时间配置文件的资源(例如,如果开发人员 VM 在非高峰时段连续 2 小时未使用,则停止这些资源)。
- 根据特定标记值记录运行时间预期,以及在标记不存在时会发生什么情况。
- 使用 Azure Policy 来跟踪是否遵守了标记策略。
- 使用 Azure Policy 根据环境强制实施特定配置规则。
- 考虑在需要时使用“替代”标记来绕过标准策略。 跟踪成本并将其报告给利益干系人,以确保问责。
- 考虑为低优先级工作负载(如开发服务器)建立和跟踪 KPI。