Wenn Software heiß läuft
Ein Artikel von Gerhard Wanner
Was und wie wir entwickeln, hat enormen Einfluss auf den Energieverbrauch unserer IT-Systeme. Softwarearchitekt:innen können durch bewusste Entscheidungen nachhaltige Impulse für mehr Energieeffizienz setzen. Während bei der Bewertung von Systemen im Betrieb bislang Kriterien wie, Funktionalität, Kosten und Zeit im Fokus standen, rückt das Kriterium Klimafolgen immer stärker den Vordergrund. Dieser Artikel zeigt, wie sich Klimaschutz und Architekturarbeit sinnvoll verbinden lassen.
Wie Software-Architektur den CO₂-Fußabdruck bremst
Die Klimakrise ist ein drängendes Problem. Auch die IT-Branche trägt maßgeblich zum weltweiten CO2-Ausstoß bei: Verschiedene Studien[1] kommen zu unterschiedlichen Ergebnissen. Schätzungen für das Jahr 2020 reichen von 2,1% bis 3,9% Anteil der weltweiten CO2-Emissionen durch Rechenzentren. Studien beschreiben, dass der Energieverbrauch weiter ansteigen wird, insbesondere getrieben durch die zunehmende Digitalisierung und KI. Im Projektmanagement für Softwareentwicklung wird das Kriterium „in Climate“ deshalb immer wichtiger – neben den klassischen Anforderungen wie: in Budget, in Time, in Functionality.

Abbildung 1: Schätzung des IKT-Anteils am weltweiten CO2-Ausstoß. Angelehnt an [2]
Die Rolle der Softwarearchitekt:innen
Mit ihrer Kompetenz und Erfahrung tragen Softwarearchitekt:innen maßgebliche Verantwortung, die weit über bisherigen Anforderungen an Softwarearchitektur hinausgeht. Diese Handlungsfelder sind entscheidend, um den CO2-Ausstoß in IT-Vorhaben zu verringern:
Anforderungen:
Nicht jede funktionale Anforderung ist zwingend erforderlich. Manche sind sogar bei Stakeholdern umstritten. Anforderungen unter Aspekten von Nachhaltigkeit und Verfügbarkeit neu zu priorisieren oder sogar abzulehnen, ist nur eine Option, um Energieeffizienz zu steigern. Natürlich ist es einfach, Dienste durchlaufen zu lassen oder cloudbasiert in mehreren Regionen zu betreiben, um gute Antwortzeiten zu erreichen. Aber braucht es wirklich alle Dienste in gleichem Umfang, rund um die Uhr und weltweit verfügbar? Durch Ermitteln des tatsächlichen Bedarfs und Anpassung der laufenden Dienste daran lässt sich viel Energie einsparen.
Architektur/Implementierung:
Bezogen auf Energieeffizienz kann Software gut oder schlecht implementiert werden. Architektur- und Designentscheidungen wirken sich positiv oder negativ auf die Energieeffizienz aus. Es gilt also, Wege zu finden, wie auf Basis der Qualitätsanforderungen eine geeignete und gleichzeitig CO2-emissionseffiziente Architektur entworfen werden kann.
Ein weiteres Beispiel sind die eingesetzten Architekturstile: Microservices haben unbestritten ihre Vorteile, z. B. zur horizontalen Skalierung. Aber wird das wirklich immer benötigt? Könnte ein in vielen Situationen energieeffizienterer Modulith (modularer Monolith) bei gleichen Anforderungen besser sein? Lassen sich beide Stile verbinden und Microservices nur dort einsetzen, wo Skalierbarkeit auch wirklich benötigt wird?
Betrieb:
Selbst bei Software, die mit Fokus auf Energieeffizienz entwickelt wurde, kann im Betrieb viel davon auf der Strecke bleiben. Auslastung der Hardware, sinnvolle Betriebszeiten, Betrieb in Regionen mit einem hohen Anteil erneuerbarer Energien im Stromnetz oder Abschaltung nicht benötigter Dienste sind Beispiele dafür, wie der Betrieb nachhaltig gestaltet werden kann.
Redundanz:
Für redundante Dienste mit hohen Verfügbarkeitsanforderungen werden zusätzliche Ressourcen benötigt, der Energiebedarf steigt. Stattdessen können kleine Dienste genutzt werden, die in sehr kurzer Zeit nachgestartet werden können. Das ermöglicht ein vergleichbares Verhalten mit deutlich verringertem Ressourcenbedarf.
Energieeffizienz als Qualitätsanforderung:
Mit Energieeffizienz kommt eine neue Qualität hinzu, die mit anderen Anforderungen in Einklang gebracht werden muss. Abbildung 2 zeigt Möglichkeiten auf, die sich bei Architekturentscheidungen in Zusammenhang mit Skalierbarkeit ergeben[3].

Abbildung 2: Architekturentscheidungen-Skalierbarkeit
You can´t manage what you don´t measure
In allen genannten Handlungsfeldern ist die Expertise von Softwarearchitekt:innen gefragt. Für tragfähige Entscheidungen braucht es jedoch belastbare Daten. Messung und Monitoring von CO2-Emmissionen ist eine zentrale Aufgabe, ohne die jede Art der Optimierung fragwürdig ist. Die tatsächlichen Emissionen von Software lassen sich jedoch nur schwierig bis unmöglich messen, weil diese von vielen Faktoren abhängig sind, wie bspw.: Strommix vor Ort, Tageszeit, Wetter.
Deshalb kommen häufig Proxy-Metriken zum Einsatz, deren Werte mit den CO2-Emissionen korrelieren. Beispiele für Messgrößen sind Energieverbrauch von Systemen oder Kosten, weil
diese bspw. in der Cloud niedriger sind, wenn weniger Ressourcen verbraucht werden. Kenntnis und Umgang mit von den Cloud-Anbietern angebotenen Möglichkeiten für die eigenen Systeme muss daher eine Kernkompetenz von Softwarearchitekt:innen werden – ebenso der Umgang mit Werkzeugen, die Energieverbrauch von Workloads messen[4] oder die CO2-Emissions-Effizienz abschätzen[5] können.
Softwarearchitekt:innen als Multiplikator für Green IT
Durch ihre zentrale Rolle sind Softwarearchitekt:innen Multiplikatoren im Projekt und im Unternehmen. Sie können das Thema Green IT auf die Agenda bringen und alle Beteiligten mitreißen – für die Entwicklung und den Betrieb von energieeffizienter und CO2-armer Software.
Die Klimakrise wartet nicht: Es liegt an uns Softwarearchitekt:innen, „in Climate“ zur selbstverständlichen Anforderung zu machen.
Quellen:
[1] Roussilhe: Explaining the environmental footprint of the digital sector, https://gauthierroussilhe.com/en/articles/explaining-the-environmental-footprint-of-the-digital-sector, 2021
[2] Belkhir, Elmeligi: Assessing ICT global emissions footprint: Trends to 2040 & recommendations, Journal of Cleaner Production, Volume 177, 10. März 2018, Seiten 448–463
[3] Wanner, Kutschera: CO2-Emissions-Effizienz trifft auf Qualitätsmodell, ITSpektrum 5/2024
[4] Kubernetes Efficient Power Level Exporter (Kepler), https://sustainable-computing.io/
[5] Cloud Carbon Footprint, https://www.cloudcarbonfootprint.org/
Autor
Prof. Dr.-Ing. Gerhard Wanner (wanner@hft-stuttgart.de) ist seit mehr als 30 Jahren Berater und Softwarearchitekt, über 20 Jahre Professor für Informatik an der HFT Stuttgart mit den Schwerpunkten Softwareengineering und Softwarearchitektur. Das Thema Green IT ist seine Passion, in der Forschung, als Autor und in der Lehre.
Teilen Sie diesen Artikel:
Zum Thema passende Artikel
Wir konnten leider keine Beiträge finden. Bitte versuche es nochmal.



