Menschen von oben fotografiert, die an einem Tisch sitzen.

adesso Blog

Digitalisierung und ökologische Nachhaltigkeit sind aktuelle Fokusthemen, die in Unternehmen auf den ersten Blick Zielkonflikte mit sich bringen: gesteigerte Kundenzufriedenheit, kürzere Time-to-Market und Wachstum versus effektivere Ressourcennutzung und reduzierte Emissionen. Mit Green Software lassen sich sämtliche Ziele verfolgen. Man leistet nicht nur einen Beitrag zur Klimasituation, sondern sie bietet auch handfeste Vorteile für Unternehmen.

Was ist Green Software

Die Begriffswelt zu Green Software kann nach [1] in vier Bereiche unterteilt werden:

Die vier Bereiche nach im Kontext von Green Software

1. Nachhaltigkeit in der Software-Entwicklung, das heisst der Entwicklungsprozess selbst folgt entsprechenden Vorgaben zur Ressourcenreduktion.

2. Green-Software-Systeme, das heisst Anwendungen, die im Betrieb weniger Energie verbrauchen und damit weniger Auswirkungen auf die Umwelt haben sowie das CO2-Management unterstützen.

3. Software für Nachhaltigkeit, das heisst der Einsatz von (intelligenter) Software, um Nachhaltigkeit zu unterstützen. Dies kann eine Embedded-Applikation sein, die den Stromverbrauch eines Kühlschranks reduziert oder ein Echtzeit-Leitsystem im Bahnbetrieb, das die Geschwindigkeit der Züge an die Verkehrssituation anpasst oder ein intelligentes Klimasystem, das die Heizleistung an die Personenanzahl im Raum justiert.

4. Nachhaltigkeit im Software-Ökosystem, das heisst die Summe der Auswirkungen des gesamten Software-Ökosystems.

Warum sollte Green Software betrachtet werden?

Verschiedene Studien [z.B. 1, 2] zeigen den Einfluss von ICT auf ökologische Nachhaltigkeit, zum Beispiel die möglichen Einsparpotentiale zu Treibhausgasen oder der prognostizierte Energiebedarf innerhalb des nächsten Jahrzehnts. Green Software ist aber weit mehr als eine gute Tat, da sich zusätzliche Vorteile und Potentiale ergeben können:

Vorbereitung auf regulatorische Vorgaben

Im Kontext der Klimadiskussion ist in Zukunft mit strengeren Vorgaben bezüglich Transparenz und Energieeinsparungen zu rechnen. Eine Ursache für diese Verschärfung ist beispielsweise, dass die Europäische Union ihr Klimaziel 2050 der Netto-Null-Emission [3] nur noch erreichen kann, wenn neben Einsparmassnahmen noch zusätzlich CO2 aus der Atmosphäre entfernt wird. Zudem werden erstmals nicht mehr nur Energieziele, sondern konkrete Klimagesetze formuliert. Dies kann direkte und indirekte Auswirkungen auf Unternehmen haben; eine direkte Auswirkung wären beispielsweise Vorgaben zur Berichterstattung und Einhaltung von Energiezielen; eine indirekte Auswirkung wären hingegen Vorgaben, die Rechenzentren an ihre Kunden weitergeben (müssen) oder Anforderungen an Dienstleister innerhalb einer Lieferkette, wie es bereits in der Automobilindustrie geschieht.

Energie- und damit Kosteneinsparungen

Auch und gerade in Zeiten der skalierbaren Cloud sind Rechenleistung und Kosten direkt und explizit miteinander verbunden: je weniger Energie benötigt wird, um Applikationen auszuführen, umso weniger laufende Kosten fallen dementsprechend an.

Zufriedenere Kunden durch energieeffizientere Apps

Mobile Apps sind zu einem wichtigen – teilweise zum zentralen – Aushängeschild von Unternehmen geworden. Ein hoher Energieverbrauch ist für Kunden auf dem Endgerät direkt ersichtlich und führt schnell zu Nachteilen für das Unternehmen, beispielsweise via Bewertungen im AppStore. Unternehmen wie Google wollen daher in eine Vorreiterrolle gehen und weit verbreitete Apps energiesparender gestalten.

Positiver Einfluss auf die Wahrnehmung des Unternehmens in der Gesellschaft

Im Kontext der Klimadiskussion hat Nachhaltigkeit weiter an Bedeutung in der Aussendarstellung gewonnen. Die Aktivitäten und Ergebnisse zu Green Software können und sollten daher über verschiedene Kanäle kommuniziert werden, beispielsweise über Pressearbeit oder über die Nachhaltigkeitsberichterstattung. So hat zum Beispiel Microsoft bereits 2018 die Installation eines Rechenzentrums im Meer geprüft und stellt die Ergebnisse nun vor [4, 8].

Wie gelingt die erfolgreiche Umsetzung von Green Software?

Waren Green IT und Hardware-Optimierung lange Zeit Synonyme, liegt der Hebel inzwischen bei der Software: Der Energieverbrauch entsteht durch die Beanspruchung von Hardwarekapazitäten, das heisst Rechenleistung, Arbeitsspeicher, Datennetze, bei der Entwicklung, bei der Nutzung und bei der Deinstallation. Insbesondere können durch schlechte Softwarekonzepte die Energieeffizienzgewinne der Hardware nicht oder nur teilweise zum Tragen kommen [5]. Die Abbildung zeigt die Bereiche, die für die erfolgreiche Realisierung von Green Software notwendig sind. Entsprechend der Verschiebung des Optimierungsfokus von Hardware auf Software werden Aspekte zur Hardware wie Kühlung oder Nutzung von ökologischem Strom in diesem Artikel nicht näher betrachtet.

Anforderungen

Anforderungen an die zu entwickelnden Applikationen spielen eine entscheidende Rolle für Green Software, gemäss der Faustregel «je weniger Rechenbedarf umso besser» [6]. Dabei besteht die Herausforderung darin, trotz eines geringeren Ressourceneinsatzes überzeugende Ergebnisse zu liefern. Dies kann durch eine Umgestaltung der Anforderungen selbst und durch neue Leistungsmodelle gegenüber den Anwendern erreicht werden zum Beispiel «schützen Sie die Umwelt und wählen Sie 0.5 Sekunden längere Antwortzeiten» oder einen «Green Mode» für eine Mobile App.

Applikation

Bei der Umsetzung der Anforderungen in einer Applikation gibt es eine Reihe von Optimierungsmöglichkeiten: die Daten-Architektur und daraus resultierende Datenflüsse innerhalb der IT-Landschaft, die eingesetzten Programmiersprachen und Bibliotheken, die Effizienz der auszuführenden Logik, die Vermeidung von «Dead Code» und Leerläufen und die Energieeffizienz der User-Interfaces. Dafür gibt es eine grosse Vielfalt an Werkzeugen, beispielsweise für die AI-gestützte Codeanalyse, um besonders CPU-intensive Bereiche zu identifizieren [7].

Laufzeit

Die meisten Cloud-Anbieter ermöglichen verschiedene dynamische Skalierungsmodelle, die von der Applikationsarchitektur entsprechend unterstützt werden müssen, um Effizienzgewinne zu realisieren. Für mobile Anwendungen kann über den Einbezug des Kontextes und die Anpassung der jeweiligen Funktionalität Energie eingespart werden.

Applikationslebenszyklus

Dieser Bereich gliedert sich in Ausbildung, Tool-Support und Langlebigkeit: häufig fehlt das Verständnis dafür, wie Entscheidungen bei der Softwareentwicklung den Energieverbrauch beeinflussen sowie die entsprechenden Werkzeuge für die Umsetzung der energiesparenden Massnahmen. Dies kann durch passende Designprinzipien adressiert werden zum Beispiel durch Kriterien für die nachhaltige Gestaltung von Software sowie Werkzeuge zur Messung und zur automatischen Optimierung. Häufig vergessen wird die Langlebigkeit, das heisst wie lange wird die aktuelle Hardware unterstützt beziehungsweise wann muss eine neue beschafft werden, wie lange kann der Softwarestand aus Lizenzsicht genutzt werden und welche Ressourcen sind für den Ersatz notwendig.

Reporting

Dieser Bereich gliedert sich in Metriken, Datensammlung und Berichterstellung. Bei Metriken liegt die Herausforderung in der Auswahl aus der grossen Menge an Möglichkeiten hinsichtlich Aussagekraft, Messbarkeit im Unternehmen und Zielwertdefinition, das heisst einer passenden Balance zwischen Energieeffizienz und weiteren Faktoren wie Sicherheit und Time-2-Market. Anhand der Metriken müssen dann Daten gesammelt und daraus Aussagen generiert werden können. Neben der direkten Effizienzsteigerung zur Laufzeit gehören auch die kontinuierliche Überwachung, Evaluation und Optimierung des Energieverbrauchs zum Reporting.

Change

Green Software ist noch kaum als Qualitätsmerkmal für Software etabliert und steht hinter Performance und Wachstum nach wie vor an zweiter Stelle. Dies hat auch damit zu tun, dass es für die etablierten Attribute Werkzeuge und KPIs gibt, für Energieeffizienz hingegen nicht. Die Einführung von Green Software im Unternehmen bedingt somit einen Wandel bei Prioritäten, Zielen und Arbeitsweise.

Fazit

Der Weg zu Green Software ist für die meisten Unternehmen vergleichsweise lang. Richtig umgesetzt ist es aber nicht nur ein Beitrag zur Klimasituation, sondern generiert handfeste, positive Ergebnisse. Es lohnt sich also, die ersten Schritte auf diesem Weg bereits heute zu gehen.

[1] Classifying the Measures of Software Sustainability; Oyedeji, S. et. al.; Proc. of the 4th Int. Workshop on Measurement and Metrics for Green and Sustainable Software Systems co-located with Empirical Software Engineering Conference 2018

[2] Breakthrough Technologies 2020, MIT Technology Review, März 2020

[3] Unkonventioneller Klimaschutz - Gezielte CO2-Entnahme aus der Atmosphäre als neuer Ansatz in der EU-Klimapolitik; Oliver Geden, Felix Schenuit; Deutsches Institut für Internationale Politik und Sicherheit

[4] https://news.microsoft.com/features/under-the-sea-microsoft-tests-a-datacenter-thats-quick-to-deploy-could-provide-internet-connectivity-for-years/

[5] Entwicklung und Anwendung von Bewertungsgrundlagen für ressourceneffiziente Software unter Berücksichtigung bestehender Methodik; Jens Gröger; Andreas Köhler; Stefan Naumann; Andreas Filler; Achim Guldner; Eva Kern; Lorenz M. Hilty; Yuliyan Maksimov; Hrsg. Umwelt Bundesamt

[6] Ten best practices for a green IT system; Joost Visser; Software Improvement Group (SIG)

[7] https://aws.amazon.com/de/codeguru/features/

[8] https://news.microsoft.com/innovation-stories/project-natick-underwater-datacenter/

Bild Christian Straube

Autor Dr. Christian Straube

Dr. Christian Straube ist Head Consulting Digital & Innovation bei der adesso Schweiz AG. Mit seinem Team verfolgt er die Vision, dass jedes Unternehmen disruptive Technologien gewinnbringend einsetzen kann. Im Fokus der Beratungstätigkeit stehen No-Code/Low-Code, Green Software und Quantum Computing.

Kategorie:

Softwareentwicklung

Schlagwörter:

Green IT

Diese Seite speichern. Diese Seite entfernen.