The Cost-Carbon Paradox - Why Cost Saving !== Carbon Reduction
September 24, 2024
Photo by Jp Valery on Unsplash
The “Green in Green” Dilemma
As soon as the interviewer said they wanted to put the “green in green,” I decided this job wasn’t for me.
It was about three years ago, and I was interviewing for a role in developer relations. The hiring manager was interested in bringing me on so I could advocate for green software but in the more limited context of cost savings.
So the first “green” in “green in green” was referring to dollars, as in money. I wasn’t too sure why, but this made me feel uncomfortable.
The “green in green” was not a new concept for me. In 2021 I had written about the use of cost savings as a proxy for carbon reductions in “Carbon proxies: measuring the greenness of your application”. In the article, I argue that measuring carbon is hard, so we should measure something correlated to carbon that is easier to measure and I proposed using cost. So why was I feeling uncomfortable?
Fast-forward a few years, and the discussion of cost-saving and sustainability has firmly embedded itself in the green software ecosystem. The FinOps Foundation launched the Sustainability Special Interest Group. Anne Currie, Sarah Hsu, and Sara Bergman wrote about how cost is a co-benefit of building software sustainably in their 2024 book Building Green Software. It has become a popular topic of conversation in books, articles, conferences, and podcasts.
One was the Environment Variables podcast, where I found myself chatting again about the link between cost-saving and carbon reduction with my long-time green software journeyman, Chris Adams. And again, I found myself uncomfortable with the topic.
In this article, I attempt to refine some of my early thinking on the topic of carbon proxies and especially cost as a carbon proxy because, over the last few years, I couldn’t get rid of the thought which I call the cost-carbon paradox, “How can the problem be money and the solution be money at the same time?”.
How can the problem be money and the solution be money at the same time?
TL:DR; Using cost as a data point in an impact KPI is one thing, but using cost as a proxy KPI, i.e., assuming that if you reduce cost, you reduce carbon, is something entirely different—it’s important to distinguish between the two.
Externalities: The Core Issue
When I talk about money being the “problem,” I’m talking about externalities.
To explain the concept of an externality and specifically negative environmental externalities, I use the example of two waste management firms: Barry and Garry, two brothers who own garbage trucks.
Barry is the responsible one. When he collects your rubbish, he drives out of town and makes sure your waste is recycled as much as possible, and the remaining is disposed of in a way that limits harm to the environment. Barry’s waste company charges ten groats per bag and makes a 15% profit margin.
On the other hand, when Garry takes your rubbish, he drives around town and just spreads it all over the place, making everyone’s lives slightly worse. Garry charges five groats per bag and makes a 90% profit margin.
Garry is taking advantage of the fact he can pollute for free and without consequence to make more money. He is even passing the savings down to you, the consumer, by only charging half of what Barry is charging. What Garry is taking advantage of is a negative environmental externality. Garry is pushing the cost of the pollution externally to the public because he can—there are both no rules stopping him, and even if there were, there is no one to enforce those rules. Plus, he’s motivated to make a profit above people and the planet.
In a small community, what Garry is doing wouldn’t be tolerated, but in larger communities such as countries, we need government regulations to take care of it. According to the IMF, the majority of government regulation is related to an externality, i.e. applying some pressure to an organization that is motivated by profit not to push costs onto the general public.
A really great definition of a responsible company by Robert G. Eccles in Harvard Business Review’ s article is a company that is aware of and has plans to reduce negative externalities. Every company knows what these are and carbon is only one. Barry is a responsible company, Barry is aware of and has plans to reduce his negative externalities, Garry is not a responsible company because he does not have any plans to reduce his negative externalities, he might not even be aware of them.
Because of externalities, the problem with sustainability is money. Or specifically the profit motive coupled with lax regulation incentivises some organizations to pollute. That’s the whole reason we are even talking about a carbon tax—we want to make it more expensive to pollute, so Barry can compete on a level playing field with Garry.
Given the example of Barry and Garry, the cheapest option isn’t the most sustainable; in fact, it’s likely to be the least sustainable because of negative environmental externalities. So, how can cost savings be linked to carbon reductions? If we bought the cheapest servers, they may not be the most sustainable; in fact, they may be the least.
When it comes to cost, there is also another slippery issue we need to address—the Jevons Paradox and the rebound effect. I’ve argued previously that the cost (i.e. cost-efficiency) of a product triggers the Jevons Paradox and not other carbon-efficiency measures. So, if you’re focusing on cost reduction, there will likely be a rebound effect; if you reduce cost, you increase consumption.
So there are some problems with using cost as a carbon measurement proxy:
- Because of externalities, the cheapest item is rarely the most sustainable.
- Because of the rebound effect, the cheaper the product, the more it’s used.
My original thinking in this space is starting to look pretty flawed. A blind use of cost as a proxy to carbon will likely lead to more emissions rather than less.
Waste Reduction: A Better Approach
Despite the above, there are some self-evident examples of cost saving resulting in carbon reduction. For example, most servers are idle, so implementing software patterns that use fewer servers or scale services up and down reduces carbon and reduces cost. Another is software driven obsolescence, making software run on older devices extends the lifespan of physical products and therefore reduces the amortized embodied emissions as well as cost reduction from a longer refresh cycle.
So all is not lost, there is a link between cost saving and carbon reduction—we just need to refine our position somewhat.
When it comes to sustainability in the food industry, we don’t advocate for people to buy the cheapest food, instead we advocate for reducing food waste, which as a consequence, also saves money. When you buy less, you waste less, and you also spend less.
To clarify my earlier position, I believe that reducing waste, reduces carbon emissions, and cost savings are just a happy byproduct.
Cost savings are a happy by-product of reducing waste and reducing waste reduces carbon emissions.
But can we say the same is true the other way around? Does reducing cost always reduce carbon emissions?
In the software industry, there are many ways you can reduce cost, which has no effect on emissions:
- Free tiers: Just because you don’t pay for services doesn’t mean there is no environmental impact.
- Loss-leading means selling a product below market price to attract customers to other more profitable goods or services. AI is often a loss-leading service these days; it’s being sold to consumers for less than it costs to run.
- Negotiated rates: Enterprises have a much higher chance of negotiating more favorable rates than individual buyers. Just because you negotiated a better rate doesn’t mean the product or services emit less.
There are ways to reduce carbon without affecting cost at all:
- Carbon Awareness: Doing more when the electricity is clean and less when it’s dirty—doesn’t change cost but can dramatically reduce carbon emissions.
There are also ways to increase carbon emissions whilst reducing cost:
- Edge computing: Performing operations closer to the user may be faster and may reduce latency, but it also may increase emissions overall and, most interestingly, make emissions that were originally the provider’s responsibility the responsibility of the end user.
- Cheap services (such as cheap servers) offer competitive prices but often lack a climate mitigation strategy.
- Rate reduction: Some rate reduction strategies could encourage adverse behaviors. For instance, organizations may decide not to perform optimization to reach the usage level necessary to qualify for a rebate.
Given the above, we can agree that reducing cost does not always mean we are reducing carbon emissions; in fact, it may increase them.
Cost as a Carbon Proxy: Refining the Approach
When it comes to using cost as a proxy for carbon, I believe it’s time to refine whether you are using:
- Cost as a proxy-carbon-kpi: Focussing on measuring and reducing cost and hoping it reduces carbon
- Cost as proxy-carbon-data: Using cost as one of the data points in computing a carbon KPI.
Using Cost as a Proxy Carbon KPI
Using cost as a proxy KPI means measuring cost instead of carbon and optimizing to spend the least possible and hoping it reduces carbon.
There is a link to building greener software and cost reduction, but that is only because you are reducing waste, which reduces emissions and cost as a co-benefit.
But the same cannot be said the other way around: reducing cost, may or may not reduce emissions. And, because of externalities, the cheapest product is likely to be the least sustainable.
At the start of green software optimization, you will be minimizing waste and, as a co-benefit, reducing cost. At some point, you will have removed all the waste in a software product; after that, making more carbon reductions will increase the cost.
Only by focusing on reducing emissions and minimizing our environmental impact can we be sure of the results. Therefore it’s better to use a KPI that specifically measures the environmental impact you are wanting to minimize, such as the SCI specification from the Green Software Foundation.
I believe that using cost as a proxy KPI will likely increase emissions rather than reduce them.
Using Cost as Proxy Data
You are using a carbon KPI like the SCI, and cost is one of the data-points (observations) which you are inducing into carbon.
Ultimately, we want to compute carbon. However, even if an organization gives you a carbon figure, you might not agree with its calculation methodology, and it very likely won’t be provided at a level of granularity that is useful for your software teams.
Despite the above, very few organizations release any carbon data. As a result, most people estimate their own carbon footprint using observations (proxy-data) they do have access to and can induce into carbon, e.g., using models that, given your CPU utilization and Thermal Design Power (TDP) of your CPU, will estimate energy consumption. The CPU utilization is, therefore, a proxy for energy.
This is basically what Impact Framework (IF) does: it’s a low-level framework that lets you convert data you can gather (observations) into carbon (impacts) using models from an open source ecosystem and store everything transparently in a manifest file. So, you can show your receipts when disclosing a carbon figure.
Using IF terminology, cost is an observation about a running system, which, through the use of models and simple emission factors, can be induced into an environmental impact figure like carbon. It’s just some data you can observe, like CPU utilization, network transfer, and page views.
But not all data is equal; because of the issues mentioned above with using cost as a KPI, cost is also problematic when used as an observation (e.g., you negotiated a cheaper rate from your cloud provider this year. Does that mean your emissions went down?).
Still, using cost has one huge advantage over other observations—while getting organizations to release carbon figures is hard, they will always tell you how much you owe them. Cost is a ubiquitous proxy-data (observation) that you will always have a number for; the same can’t be said for other proxies like energy, users, servers, or bandwidth which can sometimes be challenging to obtain.
There are two bits of advice here: use a KPI that directly measures the impact you want to minimize to ensure you actually reduce impacts, and measure the impact, don’t use a proxy-KPI. Getting data to feed into your impact-KPI is hard, but cost is just data here—any other source of data is going to be better than cost but they are hard to get, so if you can’t get it, use cost instead.
Final thoughts
I get it, I’ve been in your shoes. The temptation to use cost as a proxy-KPI to carbon is high, organizations are profit making engines that speak in the language of money. It aligns to corporate goals, it opens doors, VP’s take your meetings. In my experience you might win the battle by arguing for sustainability measures purely on cost reduction, but you will eventually lose the war. The battle ground is carbon, that is the much harder argument we need to make and win.
I said it four years ago, and I want to emphasize it again: sustainability alone is already enough to justify our work, and other benefits like cost reduction will follow.