Awareness of the greenhouse gases caused by data centres is increasing, but the question of how “green” software is rarely asked, says guest author Toby Dixon from Endava.
Grocery discounter Penny made headlines in the summer with its “True Costs” campaign: For one week, the cost of the environmental impact of some products was added to their prices, among other things. However, costs for the environment are also often incurred in other areas, which are often invisible. This is also the case in the ICT sector. Particularly with regard to the emissions caused by hardware and data centres, there is growing awareness of the environmental impact of technology as well as pressure from the regulatory authorities. But software also plays a role.
Having your own on-premises infrastructure comes at the expense of the environment
This is because test environments, continuous delivery pipelines, code repositories, analysis tools and integrated development environments also generate emissions. For example, should companies not operate a complete “pre-live” environment to simulate production operations.
No, because such test environments are important to ensure that everything runs smoothly. Instead, it makes sense to operate this infrastructure in the cloud. This means that resources are only utilised when they are actually needed. The “luxury” of having your own on-premises infrastructure comes at the expense of the environment, as it continuously generates emissions, even if it is not used or only used to a limited extent. And thanks to modern DevOps practices, the days when access to a test environment was often only possible after months should be over.
High-quality code causes fewer emissions in the long term
Companies – especially developers – can also start at another point: their code. Clean, high-quality code should basically always be the goal, as this brings multiple benefits in the medium and long term. For example, software is more powerful, more reliable and more user-friendly when all its cogs – i.e. line after line of code – interact effectively. Clean code is also easier to read and understand. This in turn makes it easier to build on, make changes and collaborate with other developers. This means that high-quality code is also crucial for the longevity of software. All of this means that the extra work at the beginning pays off later – through lower costs, less effort and fewer emissions.
With hundreds of thousands or even millions of lines of code, inefficiently programmed systems and architectures increase the energy requirements of the software. Even if the software community is still discussing how these effects can be measured in concrete terms, companies and developers must already address this issue and set themselves the goal of high-quality and efficient code.
Hardware and software play into each other
Companies should also not forget the relationship between hardware and software. This is because the emissions of the former are also significantly influenced by the software that runs on it: hardware with a high utilisation rate consumes more energy than the same hardware with a lower utilisation rate – both directly through the power consumption of the device and indirectly through the load on the physical environment, especially through the necessary cooling. Companies should therefore also consider the efficiency of new hardware when purchasing it.
Switching to renewable energy is also an important step for companies to make their entire IT environment “greener”. This includes switching to cloud platforms that are powered by sustainable energy sources. Many cloud service providers also offer tools that estimate the emissions generated by cloud users. In addition, companies can follow a simple principle when choosing their software: Software is better for the environment the less hardware it requires and the less energy this hardware consumes.
Conclusion: Reducing emissions from software use and development
Overall, it can be said that the ICT sector, with all its facets, also contributes to CO2 emissions. With regard to software, it is not yet possible to determine exactly how “green” it is. However, companies can already take measures to reduce the emissions from their software use and development. And in the future, it may be possible to measure software emissions quantitatively in a similar way to how hardware and data centres are measured today.
is Managing Director of Endava in Germany.