Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

The need for green software will continue to grow as technology becomes more advanced and the resulting energy usage increases. Whether it is the smartphone that requires proper resource allocation or the data center where servers need optimized computing power, changes must take place.

In terms of coding or architecture, a solid ecosystem of people, standards, tooling and best practices is the key to building green software. Defined as the software developed and run in a way that ensures maximum energy efficiency with little-to-no impact on the environment, green software engineering is an emerging discipline. And growing with it are the principles, philosophies and competencies to define, develop and run sustainable software applications.

Every line of code developed today may run for years on countless processors, eating energy and potentially contributing to global climate change along the way. To meet this challenge, green IT and coding must involve a paradigm shift in how software engineers, developers, testers and IT administrators can make their solutions and services more energy-efficient.

The software has taken a fundamental role due to its high demand from individual businesses, public sectors and end-client applications. It has the potential to become greener and thus minimize power consumption and reduce the carbon emissions generated by its application.

According to the Green Software Foundation, actions that can reduce the carbon emissions of software include using fewer physical resources as well as less energy in a more intelligent manner. This means either consuming lower-carbon sources of energy or consuming electricity in a way that could accelerate the energy transition towards a low-carbon future.

Green software practices can reduce energy consumption in multiple ways, with examples being a sustainable software development lifecycle, an improved and seamless user experience and fully enabled green AI and data practices.

Sustainable Software Principles

The software has become a key facet of computing, electronics and smart city applications. It is created via programming languages and code that can be made more efficient, more streamlined and less susceptible to error, bugs and failure due to a decrease in energy consumption and greenhouse gas (GHG) emissions within the ICT industry.

A typical smartphone software program may have 50,000 or more lines of code. For this to be sustainable, the notion of “green” software development can be considered under a different term – simple.

The KISS principle – or "Keep It Simple, Stupid" – can be put to use. It follows the context that no complexity should be added to the software. Instead, green software developers should keep the code simple and focused on the task. This will make it easier to understand and maintain the code while helping improve the software's performance.

By choosing less and not more, developers applying KISS will have only as much as required – both in terms of either coding or features – to best execute and efficiently actualize ideas. When applied on the CPU, RAM, DISK or network, the complexities of database roundtrips, service calls, data volume, amount of dead code and algorithms are each reduced.

To help with this, a Microsoft green software engineer shared metrics on making such web applications green. By improving time-to-interactive, page weight and server response time, applications become faster. Additionally, when reducing cost and increasing utilization, applications become cheaper. And indeed, making an application both faster and cheaper creates sustainable and green software, intended for longer use with fewer resources and energy.

Two other principles for sustainable software development include 1) YAGNI – "You Aren't Gonna Need It” – which means that no additional features or functionality should be added to the software without a particular purpose and 2) DRY – "Don't Repeat Yourself" – which avoids the duplication of code or data in the software. The software code should remain readable and concise to prevent errors and misconfigurations. 

Going Green is Important

Encouraging the development and adoption of green software will benefit the ICT industry. It can help in the goal of cutting the industry’s GHG emissions by 45% by 2030 to comply with the Paris Climate Agreement.

The ICT industry relies on software to run its data centers, base stations and edge servers, among other infrastructures. All of these software-based operating systems (OS) and applications are built on top of programming languages.

Playing a significant role in the energy usage of the digital economy, every line of software code is executed using a minuscule amount of processing power. This, however, can add up quickly in measurable energy usage and corresponding carbon emissions, and it is this reality that underscores the importance of code efficiency.

By writing leaner and more efficient code, fewer processor cycles are needed to complete a computation. Academics considered C followed by Rust to be the most performant in terms of reduced processing time and energy consumed to execute the necessary calculations.

In the earliest days of computer code, resources such as RAM and floating point operations per second (FLOPS) were limited, and though software features and capabilities expanded, it was not yet critical to be efficient. It is reasonable to calculate complex code by analyzing the source code and repairing the relationships of components to reduce the probability of software failure occurrences.

Relatively, energy consumption is associated with the software running time and evaluated through the CPU, memory, storage and I/O usage. The efficiency of the software is also associated with the resources used during execution and the platform’s usage. How well a program performs depends on the quality of its compiler, the presence of virtual machines, the number of software libraries required, etc.

Adopting greener server architectures, such as serverless computing and containerization, will likely prove crucial for saving energy consumption. The former separates applications at the hardware level while the latter does it at the operating-system level.

AWS launched its carbon footprint tool in 2022 that helps customers track, measure, review and forecast the carbon emissions generated from AWS usage using easy-to-understand visualizations. In fact, a study done by 451 researchers found that simply using AWS’s infrastructure is 3.6 times more energy efficient than the median of the US enterprise data centers surveyed.

The energy-efficient data centers that power AWS may lower customers’ carbon footprints by up to 96% as soon as 2025, when AWS plans to be powered with 100% renewable energy.

NTT DATA has also developed its “Carbon-Neutral Vision 2050" as a key part of its efforts to ensure that society achieves carbon neutrality. By supporting the advancement of green innovation and green software, NTT DATA will contribute to efforts seeking to realize carbon neutrality for society via the utilization of digital technologies.

There are currently no regulatory requirements limiting the energy consumption of software products. Hence, a team of industrious researchers in Germany put forth a potential certification scheme for sustainable software. Proposed criteria for the “Blue Angel Label” made to highlight resource-and-energy efficient software are to include controllability, sufficiency, power awareness, transparency and modularity.

Sustainable software must have the ability to be configured according to individual needs, be upgraded to new versions with reasonable computing power and manage the energy consumption of the corresponding hardware as efficiently as possible.

Taking all of these into consideration, modern cloud-native applications and use cases like blockchain and metaverse should have software quality and green measurements at their core for sustainability.

ICT: From Digital to Ecological Transformation

The ICT industry is on track to decarbonize and is developing sectoral, science-based targets to limit global warming. This is a testament to the drive for ecological transformation being the next big wave of innovation. After taking huge steps towards digital transformation, every business will next evolve towards ecologic behaviors, with stakeholders adamant to invest when environmental, social and governance (ESG) criteria are aligned and carried out.

Indeed, digital transformation has shifted the perspective from being traditional to tech-driven. The responsibility for environmental protection comes down to people, technology and development. With this in mind, the energy consumption of IT and software systems must be seen as an opportunity rather than a threat.

Pin It