Making software and data architectures more sustainable

By Louise Herring, Madeleine Malmsten, Christoph Sporleder, and Nikhil Srinidhi

The rising threat of climate change is leading countries to commit to ambitious carbon-reduction targets. For example, more than 70 have made commitments to achieve net-zero emissions.1 The private sector has also made reducing carbon emissions a top priority; almost half of Fortune 500 companies have commitments to reduce emissions by 2030.2 Hyperscalers such as AWS, Microsoft Azure, and Google Cloud have also developed offerings capable of reaching net-zero or even negative carbon emissions within the next decade or two.3

Technology represents a huge opportunity, but it has been largely overlooked to date. As digital continues to proliferate in all aspects of the human experience, software’s energy consumption will grow significantly. Consider that every interaction between applications and devices requires energy to complete. Multiply that by billions of transactions and the footprint of software and data quickly adds up. And although hardware will become more efficient, Moore’s Law no longer applies: hardware improvements will not keep up with growing software complexity.

Energy consumption will go up, but measures to make applications more efficient can mitigate this consumption. Organizations’ current data and software footprint is a fraction of what they will have in the next decade. Embedding sustainability into software via green data handling and coding is one of the levers CIOs can pull to combat climate change. Although the current abatement potential is low, the estimated growth of data and software suggests it could look very different in the next ten years.

Given that it takes about three years for an IT organization to alter development and architecture practices, we believe companies must start tackling this issue today. Our analysis suggests that starting now to increase the sustainability of software and data could lower CO2 emissions by approximately 5 percent by 2030.

Organizations such as the Green Software Foundation (GSF) seek to build a trusted ecosystem of people, standards, tooling, and best practices that can support the creation and development of green software. The ultimate goal is to ensure that sustainability becomes a core priority for software teams.4 The GSF has aggregated various tools that help organizations gain transparency on their software carbon footprint.5 Next, technology leaders must seek to achieve this transformative shift at enterprise scale.

How should technology leaders begin to incorporate environmental considerations when developing software and data solutions and setting up their technology organizations? Companies can manage these trade-offs by embedding sustainability as a consideration for software and data architecture at the outset. A focus on three factors among many—communication, computation, and user experience—could significantly reduce software’s energy footprint.

Software and data become ubiquitous

Software is taking a bigger piece of the pie for IT spending, and its share is poised to grow significantly in the coming years. It is also getting only more complex and interacting with larger volumes of data. These factors have greatly increased the energy usage of software and data.

To date, sustainability in software and data architectures hasn’t been a priority for companies, due in part to several misconceptions. Many IT leaders believe that software’s energy footprint is somewhat negligible or already optimized, the development of energy-efficient software incurs more infrastructure costs, and the implementation of energy-efficient software increases costs through higher complexity and lower performance.

These misconceptions have led companies to operate without constraints when architecting software. Five patterns result in data and software architectures that ultimately increase energy consumption (Exhibit 1). Developers have focused on optimizing software for maintenance (dependent on the IT organization’s setup), reuse (the ability to easily repurpose code), performance (low latency), and functionality (advanced features). Software and data are often duplicated without any consideration for how those decisions affect energy usage.

Common approaches to software and data architecture can significantly increase energy consumption.

In addition, data storage is incredibly cheap: companies can store 50 terabytes of data on the cloud for about $1,500. That equates to a carbon cost of nearly 1.3 metric tons per year of usage. (For comparison, the average annual carbon footprint for an individual in the United States is 14.5 metric tons.6) Unless companies incorporate carbon impact into the overall cost, they will likely continue to take advantage of the low unit costs and miss opportunities to improve sustainability.

Three considerations that may improve the sustainability of software and data

To significantly shrink the overall footprint of software and data, companies must address the underlying sources of emissions and apply a sustainable lens to decision making. Considering three factors will be crucial (Exhibit 2).

Three factors can help address the largest sources of emissions in software and data.

1. Communication

Communication between an application’s internal and external services, as well as between the application and its end users, consume the most energy per gigabyte (GB) compared with other factors. For an online store with 150 million annual orders, reducing the total communication payload in the end-to-end process by one megabyte could translate to energy savings of up to four metric tons of greenhouse gas (GHG) per year.7 That amount of electricity would be enough to drive an electric car for 365 kilometers8 or use a washing machine for four months.9

Companies can reduce the cost of data transfer by specifying the data to be included in each payload on the server side and removing redundant communication. These actions would also apply to internal services (such as communication between microservices), where the volume can be reduced by merging microservices that solve similar problems or limiting the number of services involved in each task.

2. Computation

An application’s computation also consumes substantial amounts of energy. A thoughtfully considered code base that applies pure functions10 and limits the number of abstraction layers can reduce the total computation effort. Organizations can also implement logic in the code base, or even an additional service, to clean, validate, and aggregate incoming data to lessen the risk the code will perform this task multiple times.

Software is always developing, so companies should carefully consider the needs of customers before upgrading solutions. Unnecessary features and functionality can significantly increase computation—and thus the carbon footprint.

3. User experience

When designing for user experience, organizations frequently make assumptions about end-user needs and expectations that have a direct effect on sustainability. Demands for nonfunctional requirements often require additional computational resources to meet the desired availability and reliability. For example, implementing a new feature can require a disproportional increase in resources and implementation complexity.

IT leaders should assess the costs and benefits of nonfunctional requirements. For example, what is the added business value of having a dashboard that takes 50 milliseconds to load once a day versus 100 milliseconds? With longer latencies, companies could move computation to data centers in regions with greener energy sources. When companies make these trade-offs, they should involve and educate end users on the conscious sacrifice they are making to save on energy, such as a static webpage illustrating the CO2 savings from the lowered performance.

The role of hardware in reducing energy consumption and improving sustainability

The energy consumption of client devices, such as mobile phones, increases with their usage of RAM and network traffic.11 Moving business logic to the server side, which is more optimized for computation and energy consumption (and hence produces less GHG in the process), would reduce the computation needed on the user’s hardware and cut down on phone charging sessions. IT leaders should consider the data (both the payload size and frequency) being sent to and from the client device and review the data being synced based on user-experience requirements.

IT leaders could also decrease the prerequisites for end-user devices. For instance, smartphones have an average refresh cycle of two years, and laptops four years.12 But the production of a mobile device has an impact of close to 50kg CO2 equivalent.13 Two factors in upgrade decisions are battery capacity and limitations due to applications that are no longer supported. Building applications that prioritize backward compatibility and hardware limitations could accommodate older-generation devices longer, reducing overall emissions.

Sustainable design and architecture can play a role in ensuring digital products are built to be environmentally sustainable. The software industry also has the deep responsibility of educating users on the impact their expectations and decisions have on the environment.

Making progress on sustainability requires action at multiple levels. Software developers can reduce the carbon emissions from software and data by being aware of the effects of their choices. CTOs can make environmental sustainability a nonfunctional requirement for software development. And companies can incorporate the environmental effects of software as a metric when gauging the quality of a solution. The goal is to cultivate a culture that embeds environmental sustainability into standard software and data engineering practices. Now is the perfect time to start.

Of course, improving sustainability in data and software alone won’t solve climate change. But with an understanding of technology’s contribution to carbon emissions, a focus on tech’s foundational elements can pave the way for more substantial reductions in the future.

Louise Herring is a partner in McKinsey’s London office; Madeleine Malmsten is a consultant in the Berlin office, where Nikhil Srinidhi is an associate partner; and Christoph Sporleder is a partner in the Frankfurt office.

1 “Net-zero Coalition,” United Nations, accessed October 18, 2022.

2 Alan Murray and Bernhard Warner, “Business leaders challenge fellow CEOs to raise their game on net-zero commitments,” Fortune, March 31, 2022.

3 “Sustainability in the cloud,” Amazon, accessed October 18, 2022; “Cloud sustainability,” Google, accessed October 18, 2022; “Azure sustainability,” Microsoft, accessed October 18, 2022.

4 “Manifesto,” Green Software Foundation, accessed October 18, 2022.

5 “Awesome green software” from Green Software Foundation, GitHub, June 7, 2022.

6 “How to help: Calculate your carbon footprint,” Nature Conservancy, accessed October 18, 2022.

7 Based on an energy cost for communication of 0.06 kWh/GB, from Joshua Aslan et al., “Electricity intensity of internet data transmission: Untangling the estimates,” Journal of Industrial Ecology, August 2017, Volume 22, Number 4.

8 Energy consumption of 14.4–15.1 kWh per 100 kilometers, from “Support: CO2 emission values and energy consumption,” Tesla, accessed October 18, 2022.

9 Energy consumption of 152 kWh per year based on 220 standard wash cycles for 60°C and 40°C cotton programs at full load and partial load and consumption of low power modes. The actual energy consumption depends on the way the appliance is used.

10 A pure function is predictable (it returns the same outputs for identical inputs) and has no side effects (that is, it doesn’t perform any functions not related to the final output).

11 Mine Ercan et al., Life cycle assessment of a smartphone, 4th International Conference on ICT for Sustainability, Amsterdam, August 2016.

12 Rhona Ascierto and Andy Lawrence, Uptime Institute global data center survey 2020, Uptime Institute, July 2020.

13 Life cycle assessment of a smartphone, August 2016.