Putting green software principles into practice
James Uther
TL;DR
The paper documents turning a live cloud-based data processing product into a low-carbon system by applying practical green software principles in a serverless, autoscaling environment. It leverages cost signals from usage-based billing as a proxy for energy use and CO2, migrating to PySpark on a managed Spark platform and surfacing feedback through dashboards. The authors propose concrete principles—renewable electricity, turn-off unused resources (LightSwitchOps), right-size resources, publish usage data, and optimize software—and discuss the limitations of current CO2 measurement tools and provider reporting. They conclude that substantial further reductions depend on platform-provider choices and reporting capabilities, offering scalable insights for teams balancing business needs with sustainability goals.
Abstract
The need and theoretical methods for measuring and reducing CO2 emitted by computing systems are well understood, but real-world examples are still limited. We describe a journey towards green software for a live product running on a public cloud. We discuss practical solutions found, in particular using the cost implications of serverless systems to drive efficiency. We end with some `green software' principles that worked well in this project.
