Sustainable Stacks

Stacey M Gifford
Don’t Boil the Ocean
4 min readFeb 16, 2023

An overview of sustainable computing

Photo by Martin Sanchez on Unsplash

In my last post I discussed the importance of identifying and managing stakeholders and delivering value as part of a sustainable IT strategy. This month, I want to kick off a few posts focusing on one specific example — sustainable computing. There are multiple layers to unpack in this topic, so in this post we’ll go through how each stack intersects with sustainability and how they are interconnected. In the next few posts, we’ll explore in greater detail which metrics IT organizations are using and ways we are tackling each of these in turn.

The Green Software Foundation is a non-profit associated with the Linux Foundation focused on establishing best practices for building sustainable software. They’ve published a set of green software principles, which you can learn more about through their compact and informative Green Software Practitioner course (you can even get a Linux Foundation certification). The 6 principles, while written with software development in mind also, in my opinion, apply to the full application stack shown above.

Green Software Foundation’s 6 Principles of Green Software:

1. Carbon Efficiency — minimize carbon emissions

2. Energy Efficiency — minimize energy consumption

3. Carbon Awareness — optimize run times and locations to take advantage of cleaner energy when available

4. Hardware Efficiency — optimize hardware selection and lifetime for lowest embodied carbon

5. Measurement — “you can’t improve what you can’t measure”

6. Climate Commitments — start with eliminating carbon emissions, then avoidance, then removal

Niklas Sundberg, SVP and CIO at ASSA ABLOY and author of the Sustainable IT Playbook for Technology Leaders, breaks down ownership of such principles in another way. Responsibility for sustainability IN the cloud lying with the customer, or application owner, while sustainability OF the cloud lies with the operators of data centers and the IT hardware within them. Even for on-prem data centers, I think this paradigm still works well.

Let’s start with sustainability of data centers and hardware at the bottom of the application stack. Key sustainability metrics include PUE (power usage effectiveness), CUE (carbon usage effectiveness), and carbon intensity (the amount of carbon produced by consuming 1 kWh of energy in a given location). Significant effort has gone into driving energy efficiency tied to more modern servers with capabilities such as low-power standby modes to reduce power consumption and decrease cooling requirements. Carbon efficiency can be addressed by considering the overhead building and cooling processes, location of a datacenter, and proximity to renewable energy — Iceland has become a growing market for datacenters due to its year-round cooler temperatures and access to geothermal energy. Finally, hardware efficiency, measured by embodied carbon, can be optimized by extending the lifetime of servers and other IT equipment.

In the top layers of the stack, most opportunities to build green software lie around building applications and architectures to optimize sustainability IN the data center. In middle of the stack we have virtualization, operating system, and data and middleware. During application design and development, practices such as minimizing data transport, data lifecycle management, considering code language selection, and designing for reuse and efficiency can all drive optimization of energy and carbon efficiency. In the middle layers of the stack, consideration for application architecture, practices such as containerization, and shifting from mono to micro services can increase flexibility of when and where workloads are run. This flexibility allows for improved utilization of IT hardware so that servers can be placed in lower-energy standby modes or turned off completely, improving carbon and energy efficiency. Additionally, the ability to dynamically move workloads between locations and run them at various times enables application owners to take advantage of renewable energy when it is available, referred to as carbon awareness.

Together, by first measuring key metrics and then implementing sustainable practices across the application stack, IT organizations can start to make climate commitments. The first step is to focus on eliminating sources of carbon in your stack as much as possible by improving carbon and energy efficiency, as introduced above, and leveraging renewable energy sources. The remaining carbon emissions are most often addressed collectively at the enterprise level by purchasing carbon offsets on the voluntary carbon market. Another approach is to remove carbon from the atmosphere — typically by reforestation, but also more nascent technologies like direct air capture are being leveraged by Microsoft and others. In general, the collective consensus is that avoiding emissions is always better than offsetting or removing.

Now that we’ve set a foundation, I hope you’ll join me as we explore more specific sustainable computing practices for application development, architecture, and infrastructure in the next few posts.

Stacey Gifford, Ph.D. is CIO Sustainability Lead at IBM based in New York. This article is personal and does not necessarily represent IBM’s positions, strategies, or opinions.

--

--

Stacey M Gifford
Don’t Boil the Ocean

IT sustainability professional, biochemistry Ph.D. Mom, nerd, outdoor enthusiast, New Englander. https://www.linkedin.com/in/stacey-macgrath-gifford-521087a/