Guidelines und Kriterienkataloge für nachhaltige Software wecken häufig den Eindruck, dass über die Nachhaltigkeit primär im Programmcode entschieden wird. Doch das Coding ist nur eine von vielen Aktivitäten im Software Engineering.
Wer eine nachhaltigere Software-Architektur nutzen will, muss früh im Engineering-Prozess ein paar grundlegende Entscheidungen zur Struktur und Konzeption terffen.
(Bild: FrankBoston - stock.adobe.com)
Der Einfluss der auf Quellcode-Ebene getroffenen Entscheidungen für die Nachhaltigkeit ist oft begrenzt im Vergleich zu den großen strukturellen Entscheidungen auf Systemebene. Dieser Beitrag zeigt daher, wie Nachhaltigkeit bereits auf struktureller und konzeptioneller Ebene von Software integriert werden kann.
Monitoring und Benchmarking
Zunächst sollten Software-Architekturen ein kontinuierliches Monitoring ihres Ressourcenverbrauchs integrieren. Dieser fortlaufende Prozess des Messens sollte als fester Bestandteil der Architektur betrachtet werden, um zuverlässige und konsistente Ergebnisse sicherzustellen.
Die gesammelten Messdaten sollten genutzt werden, um die Umweltauswirkungen über verschiedene Softwareversionen hinweg zu verfolgen und zu steuern. Eine frühzeitige Überwachung und Dokumentation der Umweltauswirkungen ermöglicht eine belastbare Bewertungen und Minimierung der ökologischen Lebenszykluskosten.
Load Shifting nicht zeitkritischer Workloads
Um umweltfreundliche Software-Architekturen zu gestalten, empfiehlt es sich außerdem, nicht zeitkritische Prozesse separat zu behandeln und asynchron auszuführen. Indem Aufgaben wie Backups oder Synchronisationen - allgemein Batch-Jobs - extrahiert werden, kann die Ausführung von Workloads an die Verfügbarkeit erneuerbarer Energien angepasst werden.
In der Praxis lässt sich aufgrund der fluktuierenden Einspeisung erneuerbarer Energien ins Netz der Footprint von Workloads um bis zu 30 Prozent reduzieren. Das Konzept ist in Abbildung 1 etwas anschaulicher verbildlicht.
Modularität und Elastizität
Weiterhin ist es ratsam, auf Modularität und elastische Skalierungsmöglichkeiten zu setzen. Diese ermöglichen es, Leerlaufzeiten zu reduzieren und ungenutzte Ressourcen freizugeben, indem einzelne Dienste dynamisch angepasst werden können. Dadurch kann die Infrastrukturauslastung optimiert und der Bedarf an Hardware insgesamt verringert werden.
Es ist allerdings wichtig zu bedenken, dass modulare, verteilte Systeme auch Nachteile in Bezug auf Ressourceneffizienz haben können. Beispielsweise kann die Nutzung von Microservices im Vergleich zu monolithischen Systemen zusätzlichen Overhead durch mehr Dienste, Netzwerkdatenverarbeitung und verteilte Transaktionen verursachen. Nicht jede Anwendung erfordert eine so feingranulare Skalierbarkeit, und in manchen Fällen kann eine solche Architektur sogar ineffizient sein.
Es ist daher entscheidend, die verschiedenen Trade-Offs zu berücksichtigen und nicht ausschließlich auf maximale Skalierbarkeit zu setzen. Dennoch zeigen Erfahrungen, dass viele Unternehmen durch die Einführung von Modularität ihre IT-Nachhaltigkeitsziele verbessern können.
Batch I/O Operationen bündeln
Die Bündelung von Input- und Output-Operationen trägt dazu bei, den Overhead pro Operation zu minimieren. Die Herstellung von Verbindungen für Datenübertragungen verbraucht in den meisten Fällen eine beträchtliche Menge an Ressourcen.
Abbildung 2: Netzwerkpaket-Energieverbrauch nach Li und Halfond 2014
(Bild: Adesso SE)
Abbildung 2 verdeutlicht dies anhand des Overhead von http-Headern: Man beachte die logarithmische Skala!
Durch die Bündelung von Daten vor der Übertragung wird dieser Overhead reduziert, was zu einer effizienteren Nutzung von Ressourcen führt. Dies gilt sowohl für die Kommunikation zwischen verschiedenen Systemen als auch für den Zugriff auf lokale Datenspeicher.
Offloading-Entscheidungen
Die Balance zwischen dem Ressourcenverbrauch für die Datenübertragung sowie Hardware-Effizienz muss in nachhaltigen Software-Architekturen explizit gemacht werden. Dabei wird nicht nur die Effizienz der Zielhardware berücksichtigt, sondern auch die Belastung durch die Datenübertragung.
Oft werden Berechnungen von Client-Geräten wie Smartphones an Server in Cloud-Rechenzentren ausgelagert, da diese nach eigenen Angaben aufgrund ihrer höheren Energie-Effizienz weniger Energie verbrauchen. Jedoch kann es in Fällen, in denen der Stromverbrauch für die Datenübertragung höher ist als das Einsparungspotenzial während der Berechnung sinnvoll sein, die Berechnungen näher am Speicherort der Daten auszuführen, selbst wenn die vorhandene Hardware weniger effizient ist.
Speicheroptimierung
Nachhaltige Software-Architekturen optimieren letztlich auch die Speichernutzung, indem sie nur unverzichtbare Daten speichern, zustandslose Systeme verwenden und Daten komprimieren. Diese Speicherregeln werden bereits in der Architekturdefinition festgelegt, um festzulegen, welche Daten unter welchen Bedingungen und für wie lange gespeichert werden sollen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Dies umfasst auch die Unterscheidung zwischen hot- und cold Storage, basierend auf der Datenabrufhäufigkeit. Zusätzlich werden Mechanismen geplant, um Daten vor der Speicherung oder Übertragung zu komprimieren, wobei potenzielle Zielkonflikte zwischen Speicher- und Rechenleistung berücksichtigt werden müssen.
*Der Autor Yelle Lieder ist Green IT Lead bei Adesso. Als Mitglied des CIO Advisory Competence Center konzentriert er sich auf Strategien zur Messung und Reduzierung der Umweltauswirkungen von IT-Systemen sowie auf den Einsatz von Technologie zur Erreichung von Nachhaltigkeitszielen. Er schließt: Nachhaltige Software lässt sich also nicht nur durch die reine Programmierung oder das Betriebsmodell beeinflussen. Im Artikel wurden viele unterschiedliche Entscheidungen vorgestellt, die den Ressourcenverbrauch von Systemen reduzieren. Wichtig ist, dass diese Entscheidungen nicht zwingend mit zusätzlichen Aufwänden verbunden sind. Vielmehr handelt es sich um Alternativvorschläge für Entscheidungen, die ohnehin getroffen und umgesetzt werden müssen. Nachhaltige Software ist also nicht immer teurer, häufig sind es die grundlegenden Entscheidungen, die sie ausmachen.