Estimate carbon emissions of cloud applications
This note summarizes how to estimate carbon emissions of cloud applications. If you want to only estimate the energy consumption, see note Estimate energy consumption of web and cloud-based software with models.
Other related notes:
Overview
Miro board by Real Time Cloud (GSF Project):
https://miro.com/app/board/uXjVM1o59N4=/
Foundations
Impact Framework
The Impact Framework by the Green Software Foundation tries to set a new standard on how to estimate the environmental impacts of cloud applications.
It is modular and can use different ways to get and calculate data, e.g. grabbing data from a cloud provider or just using static data.
Using Real-Time Data
Tools that are using real-time data can be used to see changes in your CO2 footprint almost in real-time.
Kepler
Purpose: Analyse Kubernetes power consumption and visualize it
aether
Aether is an open telemetry exporter to calculate the carbon emissions generated by your cloud infrastructure in real-time. It utilizes the Teads AWS Estimation Model.
OpenTelemetry Java Agent Extension by RETIT
OpenTelemetry Java Agent Extension collects resource demand data and publishes carbon emissions. It uses CCF coefficient values to estimate the carbon emissions.
Kubernetes Emissions Insights Tool (KEIT)
Purpose: Calculate the SCI score of cloud applications
Using Usage Data provided by Cloud Providers
Because the big cloud providers don't share information about energy consumption and only limited information about carbon emissions, tools have to rely on proxies like billing data. That also means that the calculations can't be made in real-time, but are delayed by at least one day.
It's also important to consider, that calculate some numbers for reporting is different to measure for action! See note Measuring for reporting vs. measuring for action.
The hyperscalers provide own carbon dashboards (Cloud Carbon Dashboards & APIs). However, they are quite limited, so there is still the need for other tools.
Boavizta Cloud-Scanner
Boavizta Cloud-scanner returns environmental impacts of your AWS Instances (EC2) and Storage usage. It utilizes the Teads AWS Estimation Model.
https://boavizta.github.io/cloud-scanner/
https://github.com/Boavizta/cloud-scanner
Paper: @Simon.etal.2024.BoaviztAPI
climatiq
climatiq is a commercial API that provides CO2 estimates for many operational activities, including cloud services.
Cloud Carbon Footprint
Cloud Carbon Footprint estimates carbon footprint based on hourly billing data from cloud providers. It utilizes the Teads AWS Estimation Model.
Gaia Generation
Website: https://www.gaiagen.eu/
Gaia generation allows you to reliably deliver CO2e emission analytics to your entire workforce by helping you analyze the trends of your IT systems' CO2e footprint and gives recommendations how to make your IT systems environmentally efficient.
Demo: https://demo.gaiagen.eu/emissions
Data source:
greenpixie
Website: https://greenpixie.com/
Methodology: https://greenpixie.com/methodology
Calculation includes:
- computation
- storage
- memory
- networking
- embodied emissions