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 Nach­hal­tig­keit ist mit stei­gen­der Tendenz eine der wich­tigs­ten Heraus­for­de­run­gen unse­rer Zeit, oft auch in Berei­chen, in denen es auf den ersten Blick nicht so offen­sicht­lich ist.  „Soft­ware, das ist ja nur ein Über­be­griff für irgendwo gesam­melte Programme und Daten. Wie kann das schon einen Einfluss auf Nach­hal­tig­keit und den Umwelt­schutz haben“, könnte man meinen. Doch bei genau­e­rem Hinschauen fällt auf, dass Soft­ware einen viel größe­ren Einfluss auf unse­ren Ressour­cen­ver­brauch hat, als auf den ersten Blick zu erken­nen ist. Welche Möglich­kei­ten es gibt, um Soft­ware nach­hal­tig zu gestal­ten, zeigen wir in diesem Text.

Digitalisierung als Lösung für den Klimawandel?

Flug­ver­kehr, Kreuz­fahr­ten und unge­trenn­ter Müll sind bekannte und offen­sicht­li­che Umwelt­sün­der. Sie sind Beispiele für offen­sicht­li­che Stell­schrau­ben, mit denen in Zukunft Einfluss auf Nach­hal­tig­keit und Umwelt­schutz genom­men werden kann. Die Digi­ta­li­sie­rung hinge­gen wird oft als Schlüs­sel zu nach­hal­ti­gem Handeln von Unter­neh­men genannt. Doch auch die Digi­ta­li­sie­rung sämt­li­cher Prozesse in einem Unter­neh­men verbraucht eine enorme Menge an Ener­gie. Ein sehr bekann­tes Beispiel für einen digi­ta­len „Umwelt­sün­der“ ist das Mining der Kryp­towäh­rung 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 Rechen­zen­tren immer effi­zi­en­ter werden, hat sich der Strom­bedarf der IT in Rechen­zen­tren in Deut­sch­land in der vergan­ge­nen Dekade fast verdop­pelt. 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 inef­fi­zi­ent program­mier­tes Soft­wa­re­pro­dukt kann bis zu vier­mal so viel Ener­gie wie ein effi­zi­en­ter program­mier­tes Soft­wa­re­pro­dukt verschwen­den“, heißt es in einer aktu­el­len 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 stei­gende Anfor­de­run­gen an die Soft­ware zu einem früh­zei­ti­gen Erneu­e­rungs­be­darf der Hard­ware. Funk­ti­ons­tüch­tige Hard­ware muss außer Betrieb genom­men 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?

Nach­hal­tige Soft­ware wird in der Wissen­schaft auch als Green Soft­ware defi­niert. Eine genau­ere Defi­ni­tion erfolgt in dem Buch „Green Web Engi­nee­ring“ aus dem Jahr 2010. Dort defi­nie­ren Markus Dick, Stefan Naumann und Alex­an­dra Held Green Soft­ware als Soft­ware, deren „direkte und indi­rekte nega­ti­ven Auswir­kun­gen auf Menschen, Gesell­schaft und Umwelt über ihren gesam­ten Lebens­zy­klus hinweg mini­mal sind und die besten­falls einen zusätz­li­chen posi­ti­ven Beitrag zur nach­hal­ti­gen Entwick­lung leis­ten“.

Nach dem ältes­ten Umwelt­zei­chen der Welt, dem Blauen Engel, gibt es neben den schon genann­ten Kate­go­rien 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 Zusam­men­spiel aus Soft- und Hard­ware nach­hal­tig und effi­zi­ent zu gestal­ten und Ressour­cen zu sparen, liegt in der rich­ti­gen Soft­wa­re­op­ti­mie­rung. Indi­vi­du­ell auf die Nutzen­den ange­passte Soft­ware führt dazu, dass nur Soft­wa­re­sys­teme laufen, die auch von den Nutzen­den benö­tigt werden, und dass die Soft­ware so zu der Hard­ware passt, dass diese maxi­mal und lang­fris­tig ausge­nutzt werden kann. Außer­dem gilt es, die immen­sen Effi­zi­enz­un­ter­schiede bei Soft­wa­re­sys­te­men zu iden­ti­fi­zie­ren und diese so anzu­pas­sen, dass die Systeme indi­vi­du­ell auf den Nutzer ange­passt sind.

Was ist Energy Aware Programming?

Ein weite­res Trendt­hema und posi­ti­ves Beispiel, was mit Soft­ware 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.