
在 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 也提醒,过度依赖这些功能,反而可能在构建流程本身造成不必要的额外负担。
原文链接:







评论