随着气候变化继续成为全球日益关注的问题,组织必须采取措施实现可持续性。企业可以产生积极影响的一个重要领域是减少云中的碳排放。在 Thoughtworks,我们能够使用开源 Cloud Carbon Footprint (CCF) 软件估算我们跨云的碳足迹,并利用 Google Cloud 服务创建可持续的基础设施来高效地构建我们的解决方案。CCF 补充了谷歌云中更准确和更精细排放的首选工具——谷歌云碳足迹。
我们在做什么?
在内部提供实时能源和排放指标,以帮助营造可持续发展文化并加快补救计划。
我们方法的基础围绕绿色软件基础阶段,该阶段由绿色软件基金会 (GSF) 确定的学习、测量和减少阶段组成。这些阶段包括了解排放驱动因素及其相互关系;测量和访问正确的数据;实施必要的优化策略以减少组织的碳足迹。
为了理解排放指标以及为什么某些云服务可能或多或少的碳密集度,重要的是对绿色软件原则、排放驱动因素和广泛的技术可持续性领域有基本的了解。从碳效率到能源比例的原则对于我们的平台工程师在寻求优化他们的谷歌云基础设施时理解是必不可少的。
我们认为,组织能够访问实时能源和排放指标至关重要。这里的关键是确保有关云成本、使用情况和碳足迹的数据在历史上和每日检索中均可用,以便我们的平台团队为他们做出的决策提供上下文和简短的反馈循环。
能够在自定义图表和仪表板中查看碳排放数据不仅允许随意监控,而且还可以为许多不同的角色提供清晰度,从直接控制其云基础设施的从业者到可以使用的执行级决策者可视化来讲述一个关于削减云成本和排放的机会的引人入胜的故事。
在获得对实时数据的访问权限并通过仪表板启用临时监控后,自然而然的下一步是更深入地分析峰值和趋势,并最终确定实施战略以减少排放和降低成本的机会。我们发现,标记或标记云资源使从业者能够使用元数据在更精细的资源级别评估成本和排放影响,并在碳和有意义的分组之间建立联系以识别确切的痛点或机会领域。
通过充分的分析,我们的 Thoughtworks 团队能够考虑减少云碳足迹的方法,并确定最适合他们的目标、要求和基础设施需求的补救策略。
我们是怎么做到的?
使用 Google 的 Carbon 报告数据和 Google Cloud 服务来获取数据和开源软件,以估算和可视化有意义的见解。
CCF 是一种开源工具,可帮助您测量和分析与 Google Cloud 使用和其他云服务提供商相关的碳排放量和能源使用情况。它通过跟踪您的 Google Cloud 资源(例如 Compute Engine 实例、Cloud Storage 存储桶和 Cloud SQL 数据库)的能源使用和排放来实现这一点。
CCF 通过配置计费项目将计费和使用数据导出到 BigQuery,然后对该数据运行查询以过滤特定时间范围和其他相关信息,从而与 Google Cloud 集成。您可以参考CCF 文档以获得更详细的解释。
我们使用多种 Google Cloud 服务来管道化和可视化我们的碳排放数据。这些包括:App Engine 是一个完全托管的平台,可以轻松部署和扩展 Web 应用程序。我们使用 App Engine 来运行我们的 CCF 应用程序。
Cloud Scheduler 是一种类似 cron 的服务,可让您安排作业定期运行。我们使用 Cloud Scheduler 安排一个作业在每天午夜运行。此作业触发 Pub/Sub 消息。
Pub/Sub 是一种消息服务,允许您在应用程序之间发送和接收消息。我们使用 Pub/Sub 将消息从 Cloud Scheduler 发送到 Cloud Functions。
Cloud Functions 是一个无服务器平台,无需配置或管理服务器即可轻松运行代码,其规模为零的特性可降低成本。我们使用 Cloud Functions 来自动执行日常请求,这些请求用于为 Google Cloud 和 Amazon Web Services 收集我们的碳排放数据。
BigQuery 是一种无服务器、高度可扩展的数据仓库,可以轻松存储和分析大量数据。我们使用 BigQuery 来存储我们的碳排放数据。
Looker Studio 是一个商业智能平台,可以轻松创建交互式仪表板和报告,我们可以在其中可视化我们的碳排放数据。
Cloud Scheduler 每天触发一条 Pub/Sub 消息。该消息由 Cloud Functions 使用,它通过查询一天的数据量来访问 CCF API。此函数将此数据向上游推送,将其附加到 BigQuery 表。然后,该表由 Looker Studio 使用,并与许多不同可视化的计费导出数据相结合。
我们所做的结果是什么?
通过 CCF 开源软件和使用谷歌云服务获取云碳估算
在 Thoughtworks 的一个集中团队能够使用云计费数据使用 CCF 数据后,内部团队可以广泛使用仪表板,以便他们可以查看和监控他们的历史和日常云排放量指标。这种新发现的透明度和对实时数据的访问使团队能够识别尖峰和趋势,并自动生成重复排放报告,以通知团队他们需要采取的任何补救措施。
让我们看一个例子。在下图中,我们可以看到三个使用峰值和四个排放峰值。我们至少可以从中得出两点结论。首先,使用成本并不是排放量的完美代表。3 月初排放量大幅上升,但成本没有相应上升。其次,我们知道我们应该真正深入了解 2 月和 3 月发生的事情。事实上,我们就是这样做的,这就是我们解决尖峰问题的方法。
让我们使用一个图表来显示云产品随时间的排放量。将范围缩小到 3 月 4 日到 3 月 12 日,我们可以得到:
这是涵盖我们最大排放峰值的最高点的时间跨度。我们可以看到导致排放量增加最多的产品是 Cloud Composer。深入观察,我们了解到三个 Google Cloud 项目贡献了其中的 90%。我们联系了负责这些项目的团队。调整开始。
现在,看看四个星期后的情况,我们发现 Composer 和 Compute Engine 之间的差距要小得多。使用 Composer 的估计排放量已大大减少。
想象一个更具可持续性的组织
我们相信 Google Cloud 可以成为希望减少碳足迹的组织的强大资源。在选择最佳测量工具时,我们认为开源 CCF 非常适合跨云比较结果,同时允许通过利用开放数据源的平均值访问实时数据,而 Google Cloud Carbon Footprint 工具具有最佳准确性通过访问真实的机器级功耗数据,获取 Google 的碳估算。我们将这些工具视为根本不同但又相互补充的工具,我们鼓励您更多地了解 Cloud Carbon Footprint 并探索 Google Cloud 提供的其他可持续发展解决方案。