写点什么

软件开发减排新方案:远程办公 + 绿色 CI

  • 2025-11-22
    北京
  • 本文字数:1553 字

    阅读完需:约 5 分钟

大小:753.93K时长:04:17
软件开发减排新方案:远程办公 + 绿色 CI

在 OOP Conference 上,Jochen Joswig 指出,可持续的 API 最受益于“极简主义”设计。软件部署需要综合考虑能耗、使用量、碳强度和硬件采购等因素。远程办公、延长设备寿命以及更环保的办公室实践方式,都能有效降低排放。优化 CI 流程、有选择地构建、更小的生成文件以及更精简的静态资源,也能进一步减少能源消耗。


DevGreenOps 是 DevOps 的延伸,将环境可持续性纳入整个 DevOps 生命周期。透明、极简、高效与意识,是构建可持续数字服务的核心原则。


关于如何确保 API 的生态可持续性,Joswig 认为思路相当丰富。API Thinking 团队在 Sustainable API Green Score 中总结了诸多最佳实践,大多归入透明、极简与高效三类。其中,极简主义带来的收益最为显著,例如“下线不再使用的 API”“以尽可能小的体量完成数据交换”“优化查询以减少返回信息量”或“只收集必要数据”。

这些做法不仅能减少带宽、硬件和能源的负担,也往往意味着代码结构更干净、维护起来更省心。


其中“将 API 部署在靠近用户端的位置”和“靠近数据中心”这两项建议最具争议,因为看似与“位置迁移”(location shifting)理念相矛盾。Joswig 解释说,位置迁移本身也存在争议,可能并不像表面看起来那样绿色环保:

  • 把资源放在“并不合适”的地点长期闲置,本身就是一种浪费。

  • 数据在各地之间来回移动,会不断推高网络负荷,网络被迫扩容,建设和运营阶段都会带来额外排放。


要以可持续的方式将软件部署到数据中心,需要综合多项因素,例如:- 软件运行本身所需的能耗,与传输数据所需能耗之间的对比;- 不同地区之间的碳排放强度差异大不大,以及对具体用例是否有实际影响;- 部署是否需要新增硬件设备。


评估用例的平均碳强度十分重要。Joswig 举例,如果软件只在白天运行,那就能直接受益于电网中的太阳能,整体碳强度会更低;夜间排放再高,也与它无关。


对任何软件企业来说,最可持续的举措之一是允许员工远程办公。Öko-Institut 的研究《居家办公——对环境和员工都有益处吗?》显示,在无需额外采购硬件的前提下,居家办公能显著减少二氧化碳排放。Joswig 补充说,如果员工必须通勤,那么提供良好的自行车基础设施、支持同事间拼车,也是非常有效的减排手段。


在设备层面,可持续性还包括笔记本电脑、手机、显示器、键盘、鼠标、路由器、服务器等。延长设备使用时间、确保其寿命尽可能长至关重要。如果必须更换,也应尽量让旧设备通过翻新或捐赠计划继续使用。


Joswig 还提到,在办公室里,其实还有不少提升环保实践的空间:选择绿色电力供应商;夜间与周末关闭灯光、显示器、咖啡机等设备;推进无纸化办公;节约用水。


在 DevGreenOps 的实践中,像 EcoCI 这样的工具可以测量或评估整条流水线(包括构建流程)的能耗。对于“极简”类实践,Joswig 建议在开发、测试与生产环境之间采用“构建一次、全域部署”的方法。使用 mono-repo 的团队只需针对实际变更的部分执行构建。例如:前端代码没变就无需构建前端,后端没变就不必构建后端,仅文档变更时更不需要触发任何构建。


还有不少工具可以帮助缩小生成文件体积,例如用于 Docker 容器的 SlimToolkit。大多数构建工具与框架(尤其是前端 Web 应用)已经支持生成文件优化。Tree shaking、压缩、静态资源缩减,应该成为生产环境构建的基本操作。


部分工具功能更强,例如 Parcel,支持差异化打包、移除开发分支代码以及图像优化。Joswig 特别指出,图像优化意义重大,因为图像往往占据网页负载的大部分体量:

使用 Parcel 这样的构建工具,它能自动将图片转换为 Web 优化格式,并按实际需要调整尺寸,从而大幅减少带宽占用、内存消耗和客户端计算负担。


不过,Joswig 也提醒,过度依赖这些功能,反而可能在构建流程本身造成不必要的额外负担。


原文链接:

https://www.infoq.com/news/2025/11/sustainable-software/

2025-11-22 08:005725

评论

发布
暂无评论

如何免费调用GPT API进行自然语言处理

幂简集成

API ChatGPT

mcgs笔记 报警 报警滚动条

万里无云万里天

自动化 HMI mcgs

科技创新推动教育普惠,华为云WeLink助力"青椒计划"举办种子教师研学活动

轶天下事

语音识别与语音控制

芯动大师

语音控制

故障测试入门指南

FunTester

自控经验 自控的分层 工厂车间设备级控制

万里无云万里天

自动化 工厂运维

mcgs笔记 用户 登录登出查看用户信息

万里无云万里天

自动化 HMI mcgs

Go 必知必会:Interface灵活而强大的类型系统

王中阳Go

接口 interface 数据类型 GO语言编程

mcgs笔记 报警 报警浏览构件

万里无云万里天

自动化 HMI mcgs

mcgs笔记 权限 按钮的操作权限设置

万里无云万里天

自动化 HMI mcgs

开放原子开源生态大会OpenHarmony生态主题演讲报名开启

OpenHarmony开发者

OpenHarmony

区块链DApp开发:选择正确公链的重要性

区块链软件开发推广运营

交易所开发 dapp开发 NFT开发 公链开发 代币开发

金融安全架构设计中的反思

I

安全架构 金融服务安全 安全架构设计

mcgs笔记 查看 辅助提示

万里无云万里天

自动化 HMI mcgs

mcgs笔记 报警 报警统一配置

万里无云万里天

自动化 HMI mcgs

mcgs笔记 报警 报警统一配置的导出与导入

万里无云万里天

自动化 HMI mcgs

mcgs笔记 报警 各变量的报警属性功能

万里无云万里天

自动化 HMI mcgs

mcgs笔记 动画按钮 根据值分段显示内容

万里无云万里天

自动化 HMI mcgs

mcgs笔记 用户 查看用户与用户组

万里无云万里天

自动化 HMI mcgs

虚拟币交易平台开发指南:打造安全高效的虚拟货币交易系统

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

基于京东API返回值的商家商品管理策略优化

代码忍者

API 接口 API 测试 pinduoduo API

mcgs笔记 安全属性 使能控制与安全控制

万里无云万里天

自动化 HMI mcgs

软件开发减排新方案:远程办公 + 绿色 CI_管理/文化_Ben Linders_InfoQ精选文章