孟凡杰,腾讯云容器技术专家,FinOps产品研发负责人。
为了共同应对气候变化挑战,减缓全球变暖趋势,2015 年 12 月,近 200 个缔约方共同通过了《巴黎协定》(The Paris Agreement),对 2020 年后全球如何应对气候变化做出了行动安排。为实现这一目标,全球多个国家宣布要实现碳中和。
全球气候行动峰会发布的《指数气候行动路线图》显示,数字科技在能源、制造业、农业、建筑、交通等领域的解决方案,可以帮助全球减少 15% 的碳排放,是实现碳减排的关键技术因素。云计算平台是数据中心基础设施的“操作系统”,连接数据中心基础设施和上层应用的纽带和桥梁。如何在业务功能不受影响的情况下,提高整体的能耗比,使用更低的能耗,使计算、存储、网络等资源满足一样的业务需求。提高整体的能耗比,降低 PUE,成为数据中心节能的关键。通过在云计算平台层面实施先进的技术和管理措施,能够极大的提高云计算数据中心的能源利用率,促进降本增效,实现碳排放的显著减少。
Crane 发布国内首个云原生应用碳排放计算优化器(Carbon Emission Optimizer)
为响应众多企业上云降本需求,助力云原生应用节能减排,Crane 推出了首个开源云原生应用碳排放计算优化器。该计算优化器基于运行在 Kubernetes 平台上的应用的实际资源消耗,计算对应服务器功耗,进而计算出应用运行所产生的碳排放量。
该计算优化器核心能力包括:
能耗与碳排展示:
- 根据工作负载的实际 CPU 利用率,以及运行业务的服务器规格,计算支撑工作负载运转所需功耗。
- 根据国家定义发布的碳排放因子,即每度电对应的碳排放量,计算工作负载运转对应的碳排放量。
- 除展示当前功耗和碳排放量以外,Crane 同时提供优化建议,以及优化后的功耗和碳排放推算结果。
碳排放计算优化器
Crane 根据工作负载实际资源利用率,提供了一系列工作负载成本优化能力:
- Request 推荐,给出 Pod 资源配置建议。
- 副本数推荐,给出 workload 副本数推荐。
- 弹性推荐,给出 HPA 参数配置建议。
碳排放计算优化器对这些推荐能力做了增强,在给出优化建议的同时展示了采用这些建议以后可能的减排效果,让用户更直观的看到优化动作对节能减排产生的积极作用。
Crane 希望通过推出碳排放优化器来唤醒用户环保意识,辅助有明确减排目标的企业针对云原生应用量化不同工作负载的碳排放现状和可优化空间,以及辅助企业理解碳排放现状,制定现实可行的减排战略,并通过一站式优化手段达成减排目标。
Crane 提供了面向云原生技术栈的云成本优化解决方案,并且云原生的核心特性是面向应用的。那么如何针对应用进行碳排放测算并给出优化建议呢?下文给出详细计算方法。
节点利用率与碳排放是相关的
基于工作负载利用率计算功耗
不同 CPU 型号,不同服务器在空闲和满载时的功率均有不同。服务器厂商通常会定期将服务器功耗信息提交至标准性能评估组织(如:https://www.spec.org/),并交由该组织公开数据。服务器的功耗通常包含最低功耗和最高功耗,最低功耗代表 CPU 利用率为 0% 时,该服务器开机以后维持基本运转时的功耗;最高功耗代表 CPU 利用率 100% 时,也就是 CPU 满负荷运转时的功耗。不同服务器的功耗差异主要是因为 CPU 架构、型号和数量不同导致的,下表展示了几款典型服务器的功耗信息。
提供商 | 服务器型号 | 处理器 | 总核数 | 平均最低功耗(Watts) | 平均最高功耗(Watts) |
---|---|---|---|---|---|
Inspur Corporation | Inspur i24LM6 | Intel Xeon Platinum 8368Q | 76 | 348 | 769 |
LTechKorea, Inc. | LKG-2212-C | Intel(R) Xeon(R) Gold 6226R | 32 | 96.6 | 377 |
Lenovo Global Technology | ThinkSystem SN550 V2 | Intel Xeon Platinum 8352M | 896 | 2,115 | 5,637 |
既然服务器功耗与 CPU 利用率直接相关,那么针对任何业务,就可以通过如下公式将工作负载的 CPU 利用率转换成为功耗:Average Watts = Min Watts + Avg vCPU Utilization * (Max Watts - Min Watts) 其中参数解释如下:
- Max Watts:服务器利用率为 100% 时,单个 vCPU 的功耗。最大功耗整机最高功耗(物理核数核超线程数)最大功耗=整机最高功耗/(物理核数∗核超线程数)
- Min Watts:服务器利用率为0时,单个 vCPU 的功耗。最小功耗整机最低功耗(物理核数单核超线程数)最小功耗=整机最低功耗/(物理核数∗单核超线程数)
- Avg vCPU Utilization:平均 vCPU 利用率,如 CPU 用量为 200% 代表使用了2个 vCPU
因此要衡量一个业务的功耗,我们只需查询该业务运行的服务器型号,并根据业务的 CPU 利用率,便可以将业务的 CPU 开销转换成对应利用率的功耗。
但局限于现实情况,我们可能无法实时得知具体工作负载所对应的服务器型号。譬如:云厂商没有提供用于查询服务器功耗的 API 接口;工作负载运行在虚拟机上,而 vCPU 因云服务器的规格而被限制。
为了可在无法获知具体服务器型号数据时,尽可能地规避数据不精准而带来的误差,我们可以基于不同云厂商公开的所有服务器型号,每核时的平均功耗。基于平均功耗,即可在不获取服务器型号数据的前提下,估算工作负载的功耗,如下表:
云提供商 | Average Min Watts | Average Max Watts |
---|---|---|
AWS | 0.74 | 3.5 |
GCP | 0.71 | 4.26 |
Azure | 0.78 | 3.76 |
均值 | 0.743 | 3.84 |
基于功耗计算碳排放
在有了功耗信息以后,如何再将功耗转换为碳排放量?中国生态环境部 2022 年发布的《电力行业温室气体核算指南修订版》中明确提出,电网排放因子采用0.5810tCO2/MWh,并且将根据生态环境部发布的最新数值适时更新。区域因子在新版指南中去掉了,因此无论所处地域,未来国内碳排放测算都使用统一排放因子。工作负载的碳排放最终计算公式为:
AverageCarbonEmissions=AverageWatts∗EmissionFactor=AverageWatts∗0.5810
用 Crane 碳排放优化器保护地球
就数据中心的容量而言,IT 设备的利用率通常十分低。服务器的利用率只有 5-15%,处理器利用率为 10- 20%,存储设备利用率为 20-40%,网络设备利用率为 60-80%。但即使任何此类设备空闲,设备仍然消耗大部分电能。一台标准服务器即使是在完全没有工作的情况下也会消耗 30-40% 的最大功率(闲置瓦数:200W+)。要降低碳排放量的核心方案,除了为数据中心更换清洁能源,另一个便是将单机的资源利用率提高、提高单机能耗比。而 Crane 碳排放优化器恰恰可以将单机的资源利用率提高、提高单机能耗比。
所以此处对 Crane 碳排放计算优化器进行总结:
1.Crane 能力的另一个维度的展示,将从节点维度入手,专注于能耗、碳排放的展示以及指导用户如何去做资源优化。
2.可基于 Crane 的能力对拥有碳排放指标的数据中心进行优化,合理提高单机的工作负载占比,降低整体能耗,从而达到低耗低排低碳的效果;可结合自建 IaaS 平台的能力,动态休眠物理服务器,从而优化物理服务器的在线数量,降低数据中心的电费开销、减少碳排放。
3.通过 Crane 的 Recommendation 能力,对工作负载进行副本数、资源分析,推荐恰当的副本数、资源配置,从而有效地改善资源浪费问题,提供整体能耗比。
衍生阅读:什么是 Crane
为推进云原生用户在确保业务稳定性的基础上做到真正的极致降本,腾讯推出了业界第一个基于 Kubernetes 的成本优化开源项目 Crane( Cloud Resource Analytics and Economics )。Crane 遵循 FinOps 标准,旨在为云原生用户提供云成本优化一站式解决方案。
Crane 已成功加入 CNCF Landscape,欢迎关注项目,合作共建:
- Crane Github:GitHub - gocrane/crane: Crane (FinOps Crane) is an opensource project which manages cloud resource on Kubernetes stack, it is inspired by FinOps concepts.(https://github.com/gocrane/crane)
- Crane 官网:Introduction - Crane - Cloud Resource Analytics and Economics(https://docs.gocrane.io/dev/)
- Crane 核心模块:(https://github.com/gocrane/creator)
- [Effective HPA:预测未来的弹性伸缩产品]
往期精选推荐