BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Articles Technology's Carbon Impact and What You Can Do about It

Technology's Carbon Impact and What You Can Do about It

Key Takeaways

  • The contribution of the Information and Communication Technologies (or ICT’s) share of the world’s carbon footprint is growing.
  • Metrics and specifications are reviewed and contributed to by the open community. The expectation is that specs evolve into actual international standards to guide greener software development. 
  • Greening by technology means driving sustainability by leveraging technology to achieve net zero goals, whereas greening of technology is about making the technology itself more energy efficient or less carbon-intensive. 
  • Sustainability is as much a factor in cost as in profitability. Companies can find a sweet spot where they’re financially and environmentally healthy. 
  • The Green Software Principles are a set of principles to help you make better decisions that will be environmentally beneficial for your application when developing software. 

As businesses continue to evolve their operations to meet consumer demands and remain profitable, reliance on the IT sector will only grow. Current estimations show  that this sector contributes around 4% of global CO2 emissions, on par with the aviation industry. 

Expansion of a customer base and a drive for increased revenue is on an upward trajectory. This often translates into increased demand for energy needed to power data centers roughly doubling every four years.  Even in a best-case scenario, the ICT has predicted that the Communications Technology industry will likely account for 8% of total electricity demand by 2030— a 15-fold increase from 2010. 

Achieving a balance between growth and efficiency can be a formidable task. However, software engineers can play a critical role at the nexus of both, enacting small changes to daily tech operations and software development which will add up to a big impact. This is where Green Software as practice and mindset intersects with business strategy to achieve measurable results across an organization.

In this article, we’ll discuss open source software tools and methodologies for balancing carbon with growth across your IT organization. In addition, you’ll learn about actionable approaches to greening your IT organization in your daily work.

Technology's carbon impact

The contribution of the Information and Communication Technologies (or ICT’s) share of the world’s carbon footprint grew from 1.5% in 2007 to close to 4% today, which is on par with the global emissions contributed by the aviation industry. By 2040, projections show that ICT's carbon footprint could reach 14%, with data centers contributing to almost half the growth. So, even with the considerable efficiency gains that we expect to see in this sector through the use of renewables, there’s still much more work to do, especially when it comes to making software more efficient. Given our growing appetite for tech, the industry will need to reduce carbon emissions by 45% in the next 10 years to meet the goals of the Paris Climate Agreement. 

In the coming years, we  expect  standards and policies to require certain levels of software service efficiencies. Likewise, easily accessible and accurate information about the carbon impact of technology products or services will become basic offerings to consumers, building carbon awareness of our software usage. To lay the foundation, organizations like the Green Software Foundation are building institutional momentum by developing standards, tooling and best practices in an open forum, creating an ecosystem that enterprises, governments and the public can trust. As metrics and specifications are reviewed and contributed to by the open community, the expectation is that specs evolve into actual international standards to guide greener software development. Specifications focused on measuring the intensity of carbon associated with software will also help guide greenhouse gas protocols and frameworks, something that’s currently missing.

Increased accountability will be demanded not only by consumers, but directed through policy to allow for more consistent and comparable measurement and overall transparency that ultimately will give certain companies a competitive edge. And we already have the framework in the standards space to leverage for software. For example, life-cycle analysis best practices reflected in standards such as ISO14040 provide a helpful starting point, and several environmental standards traditionally applied to hardware, like ISO14001 and 14064, could be leveraged and repurposed to be applicable for software design.

The role of technology (greening by technology and greening of technology)

Technology plays a crucial role in our society and, from our perspective, is a double-edged sword. It can be a significant source of emissions but it also provides carbon solutions.

Greening by technology drives sustainability by leveraging technology to achieve net zero goals. We’re seeing a lot of momentum from startups bringing new climate tech solutions to a wide range of industries and use cases: from carbon sequestration — a process of capturing and storing atmospheric carbon dioxide — to biofuels and the advancement of bioplastics, to automated carbon trading platforms used to facilitate the exchange of carbon credits, to applying AI/ML to support decision-making of informed cost and carbon trade-offs across the supply chain. Investments and new offerings in cleantech are only increasing, in large part thanks to the 2022 passing of the Inflation Reduction Act. 

And then there’s the greening of technology, which is about making the technology itself more energy-efficient or less carbon-intensive. We recognize as technologists that there’s a lot of opportunity to make the technology we use more energy efficient, from improving the efficiency of the code itself, to carbon awareness associated with running workloads in the cloud— even the hardware we procure and when we operate it. Carbon reduction from software is possible by using fewer physical resources, using less energy and using energy more intelligently. At the engineering level, this translates into concrete actions such as rightsizing resources and identifying idle workloads or utilizing serverless frameworks when feasible. Considered a cross-functional requirement, teams can prioritize and implement these practices across departments to reduce cost and carbon in their IT infrastructure, both in the cloud and on-premise.

For example, the free, open-source solution, Cloud Carbon Footprint, provides estimates for both energy and carbon emissions across public cloud providers. Developed by Thoughtworks, the tool also includes embodied emissions from manufacturing, which can drill down into emissions by the cloud provider, account, service and time period. 

Balancing emission, profitability, and cost

Often, we hear that sustainability does not provide much of a return on investment. When we look at Green Software, the connections between sustainability and returns are hard to measure. Nonetheless, we must recognize the emissions coming from IT if we want to tackle climate change.

The  first step companies need to take is to measure their IT emissions. That in itself is a challenge. We're seeing more tools becoming available, but with standards still in development, no established ones exist. So the next step is to relate decisions to their effects on emissions.

A closer look at these relationships will demonstrate that sustainability is as much a factor in cost as in profitability. Looking at decisions through a sustainability lens can help companies to find a sweet spot where they’re financially and environmentally healthy. However, investing in gaining this perspective is challenging.

Measure the carbon impact of cloud resources

Some cloud providers already have reports on their carbon footprint  you can use. But they’re not standardized — different cloud providers will report differently. Most companies, about 95% in Europe alone according to Flexera’s 2021 State of the Cloud Report, use a multi-cloud strategy. Cloud providers use different methodologies and have different refresh periods for the data. So, for now, the out-of-the-box reports are hard to aggregate in one emissions report. 

In the open-source realm, there are some tools available you can use, such as the Cloud Carbon Footprint (CCF) tool developed by Thoughtworks. Since cloud providers don’t make available how much energy you use, CCF uses a series of coefficients and billing information to derive your carbon footprint. First, it reads how much of a resource was used and infers which hardware was involved. From there, the carbon intensity of where these resources reside can estimate your carbon footprint. 

It’s still an approximation, with the advantage of being the same approximation across any cloud provider connected, giving us more power to compare providers and make decisions over emission results.  For example, suppose you want to calculate your cloud emissions. In that case, the recipe is as follows: the quantity of the resource used, the hardware used, the amount of carbon generated to manufacture the hardware, the energy consumption of this hardware and the carbon intensity generated. If you know these, it's possible to calculate the carbon impact of your cloud computing. And given you can use these for all cloud providers, the result is consistent across them. 
 

Cutting carbon emissions while running your business

Firstly, do not look at lowering your carbon emissions solely as a cost. There are several reasons why reducing your carbon emissions is good for your business. A straightforward reason is to lower your resource usage, which translates into lower costs. But you shouldn’t ignore other significant reasons, such as branding, employee retention and innovation. Companies can also cut their emissions by using carbon awareness. Carbon awareness is the framework in which you take different actions depending on your energy consumption's carbon intensity. 

One example is Microsoft's Windows Update which is now carbon aware. This feature means that the Windows system will first evaluate the carbon intensity based on the energy source, and then choose the least carbon-intense time to run its update.  For example, let's imagine we have a Windows OS computer in San Francisco. The city has a robust solar energy generation, which means there is more renewable energy in the grid during the day than at night. So, Windows OS will then prefer to run updates during the day. 

In another case, let's pretend a company needs to run batch jobs to aggregate data daily in the cloud. Because these jobs must run every night after the business closes and can't shift in time, we now need a different strategy. One possibility is to make a geographical move. Instead of running simultaneously in the same region, the company can elect a different cloud region to run the jobs, supposing that the region was the least carbon-intensive at that time. 

Finally, a green software mindset in software engineering can lead to the design of products that already embed these ideas. From the automation of a cloud region selection to graceful service degradation at peak carbon-intensive times, setting a carbon reduction and energy efficiency goal will lead to different decision-making at all levels of the organization. For a list of other possibilities, the Green Software Foundation published a Pattern Catalog, which is a consolidated open-source database of green software patterns categorized by engineering, technology and domain. 

The green software principles for reducing environmental impact

The Green Software Principles can help you make better decisions that will be environmentally beneficial for your application when developing software. They’re freely available here thanks to the Green Software Foundation. Like other principles, the Green Software Principles aim to guide developers into making decisions that are beneficial to their applications regarding their carbon footprint. It’s like having a new point of view for decision-making — a different set of trade-offs to consider. These are:

Carbon

Build applications that are carbon efficient

Electricity

Build applications that are energy efficient

Carbon intensity

Consume electricity with the lowest carbon intensity

Embodied carbon

Build applications that are hardware efficient

Energy proportionality

Maximize the energy efficiency of hardware

Networking

Reduce the amount of data and distance it must travel across the network

Demand shaping

Build carbon-aware applications

Measurement and Optimization

Focus on step-by-step optimizations that increase the overall carbon efficiency

Now let's imagine that a company develops a mobile application. One of the product team's first questions is, "Which phone models will we support?" This question is usually a decision that considers user base and development cost — after all, the maintenance costs of backward compatibility are larger than not maintaining it. But what about sustainability? Which principle can we use to help us with these decisions? 

Let’s consider the Embodied carbon principle. Embodied carbon is the carbon produced by manufacturing and disposing of hardware, and it’s about 80% of all the carbon generated by hardware such as cell phones. How does that reflect on our decisions of models to support? First, there are new cell phones released every year. If we support just the new ones, we’ll  force our users to upgrade every year, generating copious amounts of carbon emissions. 

Instead of creating an application that requires the latest hardware, we can create an application that gracefully degrades its features on older hardware, extending the lifetime of these old phones and slowing down their disposal. In this scenario, we used the Embodied principle as an additional factor in our product development. The other principles can work similarly, helping us make decisions that account for the environmental impact of our software products. 

Advice for greening IT organizations

Our advice? Start now. Consider building carbon awareness within your IT, as less of an investment and more as an enabler for achieving sustainability goals resulting in measurable carbon reductions. The IT business unit can act as one of the areas within operations where stakeholder goals align with a company’s sustainability pledge. 

As long as we rely on technology, work must be done, from measuring your carbon footprint to engaging in optimizations. Start small, measure fewer resources and create a culture of agency and sustainability. From the mindset that small actions can have a significant impact, the culture can materialize into behavioral change leading to measurable outcomes associated with lower costs for operations, meaningful incentives for teams, more expansive branding opportunities and risk management. All while creating compounding benefits for the environment.  

About the Authors

Rate this Article

Adoption
Style

BT