现状和问题
2023年7月6日,世界迎来有记录以来最热的一天。气候变化是如今人类面临的最大健康威胁。据世界卫生组织预测2030年至2050年期间,气候变化预计每年将造成约25万人死亡。这是人们可以真切感受到的变化,而背后的主要推手是碳排放。
而在万物互联的数字化时代,碳排放很重要的来源之一是互联网,全球三分之二的人口预计将在2023年通过互联网连接。随着人们对数据和网络服务的需求日益增长,互联网在数据中心、网络通信和终端用户设备等各个环节都消耗了大量电力,其碳排放也在不断增加。如果我们将 Web 视为一个国家,那么它将在电力消耗方面排名第三,在污染方面排名第四。
过去十年内,页面传输资源大小在PC端和移动端分别增长162.5% 和 392%。目前大多数 Web 应用:
-
托管在由化石燃料提供动力的机器中
-
旨在获得用户注意力,增加内容和交互,强化用户参与度和忠诚度
-
已经开始关注并重视无障碍设计,但是尚未从设计角度考虑对环境的影响
-
开发者在实现时一般不会考虑可持续性与碳效率,大多情况下考虑的是性能和可靠性等维度
如何通过技术让 Web 应用改善对环境的影响和减少碳排放,是值得IT从业者思考和解决的问题。但我们首先可以做的,是开始构建低碳的 Web 网站。
构建绿色低碳 Web 应用
没有度量指标,就没有最佳实践,毕竟我们只能优化那些可以被观测的碳排指标。所以在探讨构建低碳 Web 应用的技术手段之前,我们需要了解表征网站碳排的指标——页面权重(Page Weight)。页面权重指网页的字节大小,代表用户访问网页时,通过互联网传输的数据量总和。
常见的 Web 碳排放计算工具,诸如Ecograder、 Website Carbon Calculator、Beacon,均基于页面权重。诚然,页面权重可能不是统计网站碳排放的最佳指标,但它是目前我们能找到的最佳碳排代理值。
随着 Web 技术的发展,用户访问的网站早已不是单纯的 HTML 文件,而是具有多种资源的 Web 应用。一般这些数据资源可以分为以下五类:
-
构成网页的 HTML 文件
-
网页中嵌入的图像和多媒体资源(视频、音频等)
-
修饰网页样式的 CSS 文件
-
提供网页交互性的 JavaScript 文件
-
网页集成的第三方服务(页面分析工具、表单工具、聊天机器人等)
页面每增加一个数据资源,意味着该资源在存储、传输和页面呈现等过程中消耗的能源,都会影响页面的数据传输量,增加页面的能源消耗。我们可以以“减少页面数据资源,降低页面数据传输量”为出发点,采取措施“降本增效”——精简压缩 Web 应用,只在必要时消耗能源;提高应用的能源利用率,优化应用性能。
这并不意味着,我们只能寄希望于开发人员,敦促他们通过技术手段落实相关举措。如果我们着眼于软件开发生命周期(SDLC),在每个交付阶段落地相应举措,团队中的不同角色的成员都能参与其中,各司其职,为低碳 Web 保驾护航。