Ein Stapel aus Würfeln vor grünem Hintergrund

Trends und Technologien

Softwareentwicklung und Nachhaltigkeit: Trends und Möglichkeiten

15. August 2023 / Ben Leander Rasche

Was haben Softwaresysteme mit Nachhaltigkeit zu tun?

Das Thema Nachhaltigkeit ist mit steigender Tendenz eine der wichtigsten Herausforderungen unserer Zeit, oft auch in Bereichen, in denen es auf den ersten Blick nicht so offensichtlich ist.  „Software, das ist ja nur ein Überbegriff für irgendwo gesammelte Programme und Daten. Wie kann das schon einen Einfluss auf Nachhaltigkeit und den Umweltschutz haben“, könnte man meinen. Doch bei genauerem Hinschauen fällt auf, dass Software einen viel größeren Einfluss auf unseren Ressourcenverbrauch hat, als auf den ersten Blick zu erkennen ist. Welche Möglichkeiten es gibt, um Software nachhaltig zu gestalten, zeigen wir in diesem Text.

Digitalisierung als Lösung für den Klimawandel?

Flugverkehr, Kreuzfahrten und ungetrennter Müll sind bekannte und offensichtliche Umweltsünder. Sie sind Beispiele für offensichtliche Stellschrauben, mit denen in Zukunft Einfluss auf Nachhaltigkeit und Umweltschutz genommen werden kann. Die Digitalisierung hingegen wird oft als Schlüssel zu nachhaltigem Handeln von Unternehmen genannt. Doch auch die Digitalisierung sämtlicher Prozesse in einem Unternehmen verbraucht eine enorme Menge an Energie. Ein sehr bekanntes Beispiel für einen digitalen „Umweltsünder“ ist das Mining der Kryptowährung Bitcoin. Aus einer Studie der University of Cambridge aus dem Jahr 2022 geht hervor, dass der Stromverbrauch der digitalen Währung im Jahr 2022 bei circa 125 Terawattstunden liegt, was ungefähr das Doppelte des Stromverbrauchs der gesamten Schweiz ist.

Auch wenn Server und Rechenzentren immer effizienter werden, hat sich der Strombedarf der IT in Rechenzentren in Deutschland in der vergangenen Dekade fast verdoppelt. Im Jahr 2010 waren es laut der Süddeutschen Zeitung noch 5,8 Milliarden Kilowattstunden. Zehn Jahre später, 2020, war der Verbrauch durch die Digitalisierung sämtlicher Prozesse schon bei 10 Milliarden Kilowattstunden - plus der dazugehörigen Infrastruktur, die im Jahr 2020 5,3 Milliarden Kilowattstunden verbrauchte.

Wie wirkt sich effiziente Software auf die Hardware aus?

„Ein ineffizient programmiertes Softwareprodukt kann bis zu viermal so viel Energie wie ein effizienter programmiertes Softwareprodukt verschwenden“, heißt es in einer aktuellen Studie des Umweltbundesamtes aus dem Jahr 2023. Dass digitale Prozesse viel Energie verbrauchen können, ist aber nicht der einzige Berührungspunkt von Software und Nachhaltigkeit. Der Einfluss, den Software auf die Nutzdauer von Hardware hat, ist enorm und bisher gibt es, anders als bei der Hardware, keine gesetzlichen Anforderungen an die Mindesteffizienz von Software.

Oft führen steigende Anforderungen an die Software zu einem frühzeitigen Erneuerungsbedarf der Hardware. Funktionstüchtige Hardware muss außer Betrieb genommen werden und durch leistungsfähigere Neugeräte ersetzt werden. Des Weiteren hat eine Studie der Forschungsgruppe Informatik und Nachhaltigkeit der Universität Zürich eine Messmethode entwickelt, die den Anteil der Software am Energieverbrauch und der Inanspruchnahme von Hardware misst. Im direkten Vergleich von Softwareprodukten eines Bereiches und bei der Nutzung gleicher Funktionen wurden deutliche Unterschiede in der Beanspruchung der Hardwareressourcen und des Energiebedarfs durch die Messungen sichtbar.

Was ist Green Software?

Nachhaltige Software wird in der Wissenschaft auch als Green Software definiert. Eine genauere Definition erfolgt in dem Buch „Green Web Engineering“ aus dem Jahr 2010. Dort definieren Markus Dick, Stefan Naumann und Alexandra Held Green Software als Software, deren „direkte und indirekte negativen Auswirkungen auf Menschen, Gesellschaft und Umwelt über ihren gesamten Lebenszyklus hinweg minimal sind und die bestenfalls einen zusätzlichen positiven Beitrag zur nachhaltigen Entwicklung leisten“.

Nach dem ältesten Umweltzeichen der Welt, dem Blauen Engel, gibt es neben den schon genannten Kategorien für nachhaltige Softwareprodukte - Ressourcen- und Energieeffizienz sowie potenzielle Lebensdauer der Hardware - noch eine weitere Kategorie: die Benutzerabhängigkeit. Gemeint sind Softwareprodukte, die die Nutzenden in der Handhabung so beschränken, dass sie nur Funktionen auswählen können, welche sie auch benötigen. Das trägt ebenfalls dazu bei, Ressourcen einzusparen und den Energiebedarf zu verringern.

Wie lässt sich Software nachhaltig entwickeln?

Die Lösung, um dieses Zusammenspiel aus Soft- und Hardware nachhaltig und effizient zu gestalten und Ressourcen zu sparen, liegt in der richtigen Softwareoptimierung. Individuell auf die Nutzenden angepasste Software führt dazu, dass nur Softwaresysteme laufen, die auch von den Nutzenden benötigt werden, und dass die Software so zu der Hardware passt, dass diese maximal und langfristig ausgenutzt werden kann. Außerdem gilt es, die immensen Effizienzunterschiede bei Softwaresystemen zu identifizieren und diese so anzupassen, dass die Systeme individuell auf den Nutzer angepasst sind.

Was ist Energy Aware Programming?

Ein weiteres Trendthema und positives Beispiel, was mit Software alles möglich ist, ist das „Energy Aware Programming". Das bedeutet so viel wie „energiebewusst Software programmieren“. Intelligente Softwaresysteme steuern hierfür große Serverzentren so, dass energieaufwändige Algorithmen erst durchgeführt werden, wenn ein gewisser Anteil an Solarstrom verfügbar ist. Das verringert zwar nicht den Energieverbrauch, legt diesen aber auf erneuerbare Energien um. Da oftmals das Speichern von alternativen Energien mehr das Problem ist als das Erzeugen, könnten solche Systeme diese Energien direkt nutzen, ohne diese zwischenzuspeichern.

Eine Grafik mit Abbildungen von Post-its

IT-Landkarte: Vom Flickenteppich zum reibungslosen IT-Prozess

Wie werden IT-Systeme nachhaltig? Ein einfa­ches Tool um in gewachsenen Softwarelandschaften Trans­pa­renz zu schaf­fen, ist die Process Support Map oder auch IT-Land­karte. Sie macht Engpässe und Schwach­stel­len sicht­bar. Auf dieser Basis können gezielt Maßnah­men entwi­ckelt werden, um die Soft­wa­re­an­wen­dun­gen eines ganzen Unter­neh­mens opti­mal zu orche­s­trie­ren.