← 返回所有文章

绿色软件工程:降低代码的环境影响

By XNM Technologies · April 20, 2023 · 1 min read
绿色软件工程:降低代码的环境影响

软件的环境影响并非未来才需要关注的问题。数据中心目前约占全球电力消耗的1%至2%。软件行业对待其环境足迹的态度一直比大多数行业更为滞后,但这正在改变。企业客户正在将软件碳足迹纳入采购标准。欧盟及其他地区的监管机构正开始建立报告要求。越来越多的工程组织已认识到,编写更高效的软件本身就是更好的工程实践——这与环境效益是相互独立的。

绿色软件工程的三大原则

  1. 能源效率。 用更少的计算资源完成相同的任务。这主要不是硬件或基础设施问题,而是软件设计问题。低效算法、不必要的数据传输、未经优化的查询和过度轮询,都在消耗设计更好的软件不需要的能源。大多数组织出于延迟和成本原因已经应用的性能工程实践,同样是能源效率的主要杠杆。

  2. 硬件效率。 服务器、网络设备和终端用户设备的制造,占技术行业碳足迹的重要份额。设计为能在旧硬件上良好运行的软件,延长了现有设备的使用寿命,减少了对新制造的需求。反之,由于臃肿、性能差或人为设定的最低规格要求而需要频繁硬件升级的软件,正在产生隐含的碳需求——这不会出现在任何电费账单上,但真实存在且可以衡量。

  3. 碳意识。 电网并非均匀清洁。在任何给定时刻,电力的碳强度——每千瓦时排放的二氧化碳当量——根据当前满足需求的发电来源组合而显著变化。具有碳意识的计算调度工作负载,在电网更清洁的时间和地点运行——将批处理作业转移到可再生能源发电通常更多的夜间时段,或将工作负载路由到当前碳强度较低的数据中心区域。这不会减少工作负载消耗的能源;它减少的是该能源消耗产生的碳排放。

Scrum团队如何融入可持续性实践

  • 在架构决策记录中纳入环境影响:在ADR模板中添加可持续性字段,将环境思考融入设计流程,无需增加大量额外工作。

  • 使用碳感知的CI调度:将长时间运行的测试套件、构建流水线和批处理迁移至夜间时段或低碳云区域,可显著减少CI的碳影响,且对团队工作流程的干扰极小。

  • 优化查询并减少CPU周期:减少CPU周期和I/O的性能优化工作直接等同于减少能耗。Scrum团队可将查询性能审查纳入涉及数据库修改的拉取请求流程中。

  • 使用绿色软件基金会的软件碳强度(SCI)标准衡量和报告软件碳强度。您无法管理无法衡量的东西——SCI提供了一种计算每单位输出软件系统碳足迹的方法。

绿色软件基金会与SCI标准

绿色软件基金会是Linux基金会旗下的项目,成员包括微软、谷歌、埃森哲等公司,已将软件碳强度规范作为衡量软件排放的开放标准发布。SCI将排放量计算为能源消耗、所用电力的碳强度、软件运行硬件的隐含碳,以及使计算结果可在不同系统间比较的功能单位的函数。采用SCI不需要大量前期投入:许多组织从估算开始,随着仪器化成熟逐步转向直接测量。其价值不在于绝对数值,而在于趋势——证明工程决策正在使系统随时间推移越来越低碳。

如果您的组织正在建立敏捷交付能力,并希望了解如何在不增加团队额外负担的情况下融入可持续性实践,XNM的项目群与项目交付咨询服务与工程组织合作,构建高效、可持续且商业上合理的交付实践。