Die 5 Säulen des Green Software Designs.

Will man den CO2-Fußabdruck von Software senken, setzt man nicht bei einer einzelnen Zeile Programm-Code an. Wichtig ist, sich zuerst klarzumachen, wo die großen Hebel liegen. Dieser Beitrag stellt die fünf wesentlichen Handlungsfelder im Überblick vor.

Zusammengefasst kann man sagen, dass sich Software mit optimiertem CO2-Fußabdruck durch folgende Eigenschaften auszeichnet: Sie ist maßgeschneidert, vermeidet Verschwendung, nutzt Energie intelligent, ist effizient programmiert und trägt wirksam zum Klimaschutz bei. Je nach Anwendungsfall ist der eine oder andere Faktor wichtiger. Die Reihenfolge stellt somit kein Ranking dar.

Schlank

Kennen sie das: Berichte, die früher wichtig waren, die heute aber niemand mehr liest? Womöglich werden sie aufwändig aus einem Data Warehouse generiert. Regelmäßig, und vermutlich zu festen Tageszeiten. Das Beispiel zeigt: Schon bei der Festlegung der Funktionen von Software können Einsparpotentiale genutzt oder verschenkt werden. Das Erstellen der Berichte könnte ein- und ausschaltbar sein, je nach Bedarf oder automatisiert. Der Zeitpunkt der Erstellung könnte flexibler sein, um Energie intelligent nutzen zu können.

Es geht nicht darum, relevant Funktionen wegzulassen oder auf Komfort zu verzichten. Ein systematischer Check wird bestimmt Einsparungen identifizieren, die keine Einschränkungen darstellen. Diese gilt es zu nutzen.

Verschwendung vermeiden

Der Server in unserer Testumgebung verbraucht bei hoher Auslastung ca. 120 Watt. Wenn er sich hingegen langweilt, weil niemand auf die Software zugreift, sind es immer noch 80 Watt. Man sieht, wie wichtig es ist, vorhandene Hardware auch wirklich zu nutzen. Dazu tragen passende Systemarchitekturen bei, ebenso die Auslegung von Systemen, sowie die gemeinsame Optimierung durch Software Engineers und Betrieb im Rahmen von DevOps. Trivial ist das nicht. Zum Beispiel kann der Stromverbrauch durch eine allzu hohe Auslastung von Servern auch steigen, weil dann Aufgaben in eine Warteschlange gestellt werden, was den Gesamtrechenaufwand erhöht.

Insgesamt liegt in der Optimierung der Hardwarenutzung derzeit wohl das größte Potenzial, um Hardware und Strom einzusparen. Die Serverauslastung ist nämlich nur ein Beispiel. Es gibt andere Einflussfaktoren, wie die Entscheidung zwischen Virtualisierung oder Containerisierung.

Intelligent

Dass durch Software Strom verbraucht wird verursacht, ist das eine. Wie viele Emissionen dieser Verbrauch verursacht, das andere. Denn je nach Tageszeit sind unterschiedlich viel erneuerbare Energien an der Stromerzeugung beteiligt. Solarenergie liefert mittags den meisten Strom, nachts gar keinen. Der Wind weht hingegen in der Regel nachts stärker als am Tag. Dadurch kommt es zu erheblichen Schwankungen in den Emissionen pro Kilowattstunde. Bevor Green Software relevant wurde, hat sich über diesen Zusammenhang niemand Gedanken gemacht. Doch können durch sogenanntes Demand Shifting (auch Time Shifting genannt) gezielt Zeiten mit geringen Emissionen genutzt werden. Dieses Vorgehen nennt sich in der Green-Software-Szene Intelligent Use. Wie groß die Rolle ist, die es spielen kann, hängt auch davon ab, welche Funktionen der Software zeitunabhängig gestaltet werden.

Effizient

Wenn von Green Software die Rede ist, denken die meisten Menschen zuerst an effiziente bzw. performante Programmierung. Also an Green Coding. Und es stimmt natürlich: Die Effizienz von Software wurde in den vergangenen Jahren meist zu wenig beachtet. Zusätzliche Hardware wurde ständig billiger, gute Programmierer hingegen nicht. Die Verbesserungspotentiale durch Green Coding sind daher zum einen davon abhängig, wie gut in der Vergangenheit bereits optimiert wurde. Bei mittelgroßen oder kleineren Softwareprojekten hat man darauf oft verzichtet. Deshalb ist gerade hier viel zu holen.

Zum anderen kommt es auf den Anwendungsfall an. Wo komplexe Algorithmen eingesetzt werden, ergeben sich spezielle Ansatzpunkte. Extrembeispiele sind Blockchain-Technologien oder Machine Learning, also KI. Doch selbst bei einer scheinbar einfachen Software wie einer Textverarbeitung kann die Codierung dazu führen, den Stromverbrauch um 75% zu senken (dies ergibt sich aus einer Studie im Auftrag des Umweltbundesamtes).

Effektiv

Auf keinen Fall sollten wir vergessen, dass Software auch positive Klimawirkungen haben kann. Tatsächlich wird der Digitalisierung ein enorm hoher Beitrag zum Klimaschutz zugeschrieben. Solche positiven Wirkungen gehen in den CO2-Fußabdruck ein, weil dieser stets auf der Betrachtung des Produkt-Lebenszyklus basiert. Es gilt daher, mit den Methoden des Innovationsmanagement und der Digitalisierung Potentiale zu identifizieren, mit denen eine Software aktiv zum Klimaschutz beitragen kann. So kann eine Online-Banking-Software zum Beispiel die Möglichkeit bieten, mit einem Klick CO2-Kompensationen durchzuführen. Zahlungen an Tankstellen, Bahn- und Fluggesellschaften sind ja direkt in den Kontoumsätzen erkennbar.

Nicht in allen Fällen lassen sich solche Features identifizieren. Es lohnt sich aber, die Möglichkeiten ernsthaft zu prüfen und nicht vorschnell aufzugeben.

Fazit

Man sieht, dass es ein breites Feld an Möglichkeiten gibt, den CO2-Fußabdruck von Software zu verbessern. Die genannten fünf Handlungsfelder stecken den Rahmen ab. Innerhalb dieses Rahmens existiert eine lange Reihe verschiedener Einzelmaßnahmen. Und es kommen laufend Erkenntnisse hinzu, ebenso wie Werkzeuge zum Messen und Verbessern. Packen wir es gemeinsam an!

An den Anfang scrollen