Digital sustainability - one term, many meanings?
As we established in the last article, digital sustainability is fundamentally about operating sparingly with resources, using capacity efficiently and thus not living beyond our own needs and those of future generations. Our developer Carlo has a somewhat more precise definition for us: «Digital sustainability means designing and building software and systems in such a way that they are environmentally friendly, energy-efficient and usable in the long term.»
Sounds good, but how can that be implemented in relation to software development and use?
Of course there is - as with most topics of this kind - no single all-changing factor; it is a fluid process that includes various areas. We have put these together here:
All the factors concerning the use of software: this ranges from using green electricity through optimising cooling to using the heat produced.
It is decisive how efficiently the software is built, that is, how complex its source code is or which programming language is used.
The interplay between hardware and software: how well is software used on the corresponding hardware and how efficient is the resulting utilisation of the hardware?
Let us take a closer look at that.
Efficient energy use - green electricity, cooling and heat optimisation
Software needs energy - that is a fact that stands and that we cannot change. But what we do have influence over is the origin of the electricity used for our software. Using green electricity, that is, electricity from renewable sources, is considerably more environmentally friendly and thus contributes to more sustainable software. Beyond that, using software generates a great deal of heat on the servers, so that dealing with that sustainably is also an important point.
Data centres in particular have decisive advantages here, since the buildings can be constructed, for example, so that cooling media such as air or water are channelled optimally and cooling can thus be carried out very efficiently. Beyond that there are concepts in which the heat produced is used to heat residential areas - which is of course extremely effective.
Sustainable software is efficiently written software
Apart from using green electricity and optimising heat and cooling, a substantial part depends on how the software is programmed - that is, what its source code looks like. Efficiently written software means keeping the source code as simple as possible, which leads to better performance and thus to a more sustainable way of functioning.
Carlo explains to us: «Complex source code always means more development and maintenance costs, because it is harder to read and correspondingly takes more time to get to grips with. It also has more complex problems that you do not even see, but that still consume energy even though that would not be necessary at all. That means you should keep source code as simple as possible.»
At the same time Carlo also tells us about the difficulties of creating efficient and sustainable software:
«It is laborious to write efficient software; it is laborious to write software that goes easy on resources. It is about the entire architecture of the software. We now have ever larger volumes of data, we want to collect and process more and more data. All the processes have to be more optimised, have to be more efficient, so that you can counteract the energy consumption of the growing volumes of data.»
Programming software more efficiently therefore costs time and money at first, but makes sense in the long term in order to reduce costs, effort and energy consumption.
In this context the choice of programming language is also extremely interesting for the software's energy balance: a study by Accenture found that the chosen programming language can reduce a piece of software's energy consumption by up to 50 per cent! This shows that in some areas there is still room for improvement.
Hardware and software - optimised utilisation is what counts
Finally, not to be forgotten: the interplay of software and hardware. What is decisive is how efficiently the hardware is used by the software installed on it, so that as little performance as possible is wasted.
Carlo explains: «Hardware and software are closely connected with each other. On the server, that is, on the hardware, there is a fixed number of resources, whether that is the working memory or the number of processor cores. The point now is to fit software to these as efficiently as possible, so that the resources are not wasted but used as efficiently as possible. It is about running as much software as possible on the hardware without them clashing with one another by soaking up each other's resources.»
Utilising the hardware as fully as possible is therefore highly relevant from a sustainability perspective. Estimates from 2015, for example, concluded that up to 30 per cent of servers in data centres run idle, that is, do not deliver any performance. Interesting in this context is the comparison of the two models, private and public cloud: while in the private cloud only the data of a single company is stored and processed, in the public cloud the processes of several companies run. Since resources can thus be shared in a public cloud, far more efficient utilisation is possible here than through a private cloud.
On this Carlo explains: «If I have a server standing here or use a private cloud, it becomes enormously difficult for me to make full use of the resources available on the server. That means they run idle, are available, are reserved, are not used for anything else - but precisely, they are effectively not used for anything else. In the public cloud, by contrast, you often already have optimisations from the cloud provider, so that it is determined what goes on which server in order to make as much use as possible.»
Many fascinating insights into the field of digital sustainability - we would like to thank Carlo for the interview!




