DevOps 团队的职责是按时、按预算地持续交付高质量软件,以满足业务需求。要实现此目标,您需要了解云成本 KPI。其中包括应用程序功能提供的业务价值以及生成这些功能的成本。
无论您的应用程序是否在云中运行,您都可以跟踪以下 KPI:
- 基本资源利用率指标
- 工作负载性能指标
- 单位经济测量
- 收入测量
在云成本优化指南中,Azul 产品和工程专家探讨了管理和优化云成本和 Java 应用程序的指标和方法。以下是他们详细介绍的一些关键领域。
结合收入,建立效率指标
在最高级别的 FinOps 实践中,您可以按照与产品不同部分相对应的单位来细分支出,然后将结果与数据相结合,来确定每个单位的业务价值(如收入)。
接下来,您可以跟踪一些高层次的战略 KPI,比如每花费一美元云成本所产生的收入,并按团队细分。产品经理、收入/云支出较低的团队和高管团队可以就公司的长期和短期方向做出自己的战略决策。
资源利用率指标
资源利用率指标可衡量底层基础设施,在执行其他成本优化任务时(例如调整实例大小和分摊共享成本等),这些指标非常有用。常见的资源利用率指标包括:
- CPU 利用率。衡量在每个预配置的虚拟机 (VM) 或容器中,Java 应用程序所占用的 CPU 容量百分比。
- 内存利用率。跟踪堆内存和非堆内存的消耗情况,并与虚拟机或容器的可用内存总量进行比较。
- 网络吞吐量。分析入站和出站的网络流量,以确定潜在的瓶颈或过度预配置的资源。
工作负载性能
工作负载性能指标可衡量这些资源的使用方式以及运行效率。常见的工作负载性能指标包括:
- 响应时间。监控 Java 应用程序响应的延迟时间,以确保提供最佳用户体验。
- 错误率。跟踪 Java 应用程序中的错误和异常频率,以识别性能下降或潜在错误。
- 应用程序/服务使用情况。监视应用程序服务的用户数量以及处理的请求数量。
- 承载能力。跟踪单个虚拟机或容器在不超出应用程序关键性能界限的情况下所能处理的最大请求数量。
确定不同单位的满载成本
成本 KPI 基于应用程序的使用情况和资源的消耗情况,以及云提供商的计费指标。然而,在评估云成本,并利用单位经济更好地将成本与业务价值关联起来时,存在不同的成熟度水平。FinOps 基金会对满载成本的定义如下:
“满载成本是摊销成本,反映了公司为云资源支付的实际折扣率,公平地计入了共享成本,并与企业的组织结构相匹配。从本质上讲,它们显示了云的实际成本以及驱动成本的因素。”
重要的使用和成本指标
指标 | 说明 |
---|---|
每笔交易的成本 | 将成本划分到不同的交易中,将支出与业务价值关联起来,并为功能设定合理的定价。 |
每个功能的小时成本 | 如果成本没有随着功能的使用而呈线性增加,则要找出测量盲点和规模效率低下的原因。 |
每个客户的成本 | 确定单个客户上线和基本预配置的基准成本,然后按照客户活跃度的低/中/高划分额外成本。 |
除计算成本外,计入其他成本也十分关键。例如,您不仅需要考虑运行 JDK 实例所需的计算量,还需要考虑在这些 JDK 上运行的任何软件的许可证费用。与免费的开源软件或自制软件相比,按服务器授权的软件可以减少服务器总数,从而产生倍增效应
结语
需要丰富的工具集和协调一致的努力,才能建立经过验证且有价值的 KPI 数据集,为您的组织带来业务价值。在云成本优化指南中,您可以获得一些有关标记云资源、应用程序性能监控和细分云支出的工具建议。查看《FinOps 云成本分配指南》,获取策略建议。
此外,Azul 的高性能 Java 平台使用更少的资源即可实现相同甚至更高的性能。这种效率使组织能够节省基础设施成本,尤其是昂贵的云实例成本。要降低云成本,高性能 Java 平台是必不可少的工具。