Umweltzertifikate für Software angedacht Nachhaltige Rechenzentren durch bessere Enterprise-Software
Streaming, Blockchain, Cloud & Co.: CPU-intensive Anwendungen und rapide wachsende Datenmengen lassen den Energieverbrauch von Rechenzentren rasant anwachsen. Neben Hardware-bezogenen Maßnahmen wie dem Einsatz sparsamerer Prozessoren oder Energie-effizienterer Klimatechnik lässt sich der Stromverbrauch im Rechenzentrum durch ressourcenschonende Software-Architekturen nachhaltig begrenzen.
Anbieter zum Thema

Das Schlagwort Green IT bezog sich bislang meist auf Energie-effiziente Serverhardware, auf eine möglichst effektive Stromversorgung oder auf intelligent gekühlte Racks. Erst seit kurzem rückt demgegenüber das Potenzial einer dezidiert ressourcenoptimierten Software stärker in den Fokus. Anders jedoch als beispielsweise für Prozessoren gibt es für Programme derzeit jedoch noch keine belastbaren Vergleichs-Benchmarks.
Aber eine aktuelle Studie des Umweltbundesamts vom Dezember 2018 („Entwicklung und Anwendung von Bewertungsgrundlagen für ressourceneffiziente Software unter Berücksichtigung bestehender Methodik“, PDF) hat jetzt erstmals valide Bewertungsmöglichkeiten vorgestellt: Die Methodik der Studie bricht die extreme Komplexität der kaum überschaubaren Wirkmechanismen zwischen Hard- und Software auf insgesamt 25 Kriterien und 76 Indikatoren herunter. Damit lässt sich die Inanspruchnahme von Hardware-Ressourcen durch Software in klar definierten Standardszenarien präzise ermitteln und vergleichen.
Optimiert und minimal: Sparsame Speicherzugriffe
Einen besonderen Einfluss auf den Energieverbrauch hat vor allem die Art und Weise, wie ein Programm auf gespeicherte Daten zugreift. Denn jeder Zugriff löst Kopiervorgänge zwischen Speichermedien und dem Hauptspeicher aus, die Prozessoren in unterschiedlichem Maß beanspruchen: Bei fast jeder Anwenderinteraktion – sei es ein Rechnungsdruck oder eine Adressaktualisierung – werden bestimmte Datensätze aus einer Datenbank gelesen und wieder zurückgeschrieben.
Im Sinne der Nachhaltigkeit gilt es daher, Redundanzen durch Datendopplung zu vermeiden und den Speicherzugriff auf tatsächlich benötigte Informationen einzuschränken. Einen guten Ansatzpunkt für die Optimierung von Speicherzugriffen bietet folglich die Art und Weise wie IT-Systeme Datenbankabfragen ausführen.
No-go: Datendopplung
Man denke etwa an eine Kundenstammdatenstruktur mit hundert Datensatzfeldern, von denen im konkreten Fall aber nur zehn inhaltlich relevant sind. Dann sollten auch nur diese zehn Felder von der Abfrage angesprochen werden, und nicht – wie vielfach noch praktiziert – alle hundert Datenfelder.
Generell lassen sich Datendopplungen nur durch eine unternehmensweit konsolidierte Datenbankbasis vermeiden, was allerdings leichter gesagt als getan ist: Überall da nämlich, wo etwa die Controlling- und die CRM-Software von verschiedenen Herstellern stammen, muss mit zwei verschiedenen Kundendatenstämmen weitergearbeitet werden. Hier gilt es in jedem Einzelfall abzuwägen, inwieweit die Energie-Ersparnis infolge minimierter Speicherzugriffe plus Effizienzgewinn dank vereinheitlichter Datenpflege eine Investitionsentscheidung zugunsten einer neuen CRM- oder Controlling-Software rechtfertigen kann.
Programmiersprache und Compiler
Welchen Einfluss bestimmte Programmiersprachen oder Compiler auf den Ressourcenverbrauch der damit entwickelten Programme haben – dazu liegen bis heute noch keine aussagekräftigen Untersuchungen vor. Auch die Studie des Bundesumweltamtes lässt diese Frage offen.
Erfahrungsgemäß weisen funktionsgleiche Programme, die in verschiedenen Entwicklungsumgebungen erstellt wurden, auch einen unterschiedlichen Umgang mit Ressourcen auf. Entscheidend ist in diesem Zusammenhang vor allem die Art und Weise wie effizient die Anwendungen geschrieben sind und ob die Entwickler Designprinzipien berücksichtigt haben, die sich positiv auf eine schlanke Systemstruktur und damit auch im Sinne eines geringeren Ressourcenverbrauchs auswirken.
Salopp gesagt, kann man mit einem schlecht strukturierten „Spaghetti-Code“ in jeder Programmiersprache ineffiziente und letzten Endes auch rechnerleistungsintensive Software produzieren. Nach heutigem Kenntnisstand ist eine schlanke, wartungsfreundliche und ressourcenschonende Softwarearchitektur demnach wichtiger als die Festlegung auf bestimmte Sprachen oder Compiler.
Und das Betriebssystem?
Ganz anders verhält es sich beim Betriebssystem: Prinzipiell gelten die Nachhaltigkeitskriterien des Bundesumweltamtes hier in gleicher Weise wie für jede andere Software auch. Wie groß die Unterschiede im betriebssystembedingten Ressourcenverbrauch sind, zeigt sich zum Beispiel im Umfeld der Virtualisierung beim Vergleich verschiedener Container-Technologien: Ein Container mit lediglich zehn Klienten ist zweifellos weniger Energie-effizient als einer mit doppelt so vielen.
Gleichwohl zeichnet sich im Marktsegment Virtualisierung mittlerweile ein Trend in Richtung herstellerübergreifender Plattform-Portabilität ab. Da portable und folglich kompatible Container in aller Regel auch sparsamer im Umgang mit Ressourcen sind, dürfte sich ihre Energie-Effizienz in Zukunft deutlich verbessern.
Nächster Schritt: Umweltzertifikate für Software?
Insgesamt ist für Unternehmen noch vergleichsweise schwer, das Ressourcenverhalten eines Softwareprodukts auf den ersten Blick zu beurteilen. Eine farbige Energie-Effizienzskala etwa wie beim Kauf von Waschmaschinen und Kühlschränken gibt es für Software bislang nicht. Deshalb empfiehlt die Studie des Bundesumweltamtes die Einführung eines Nachhaltigkeitssiegels für Software nach dem Vorbild des Zertifikats „Blauer Engel“ für besonders ressourcensparende Produkte.
Bis es soweit ist, empfiehlt es sich für Unternehmen, Softwarelieferanten direkt nach der Energie-Effizienz ihrer Produkte zu fragen. Und danach, welche Vorkehrungen die Entwicklungsabteilung getroffen hat, um einen Anstieg des Ressourcenbedarfs nach zukünftigen Updates spürbar einzudämmen.
* Oliver Henrich ist Vice President Product Engineering Europe bei Sage.
Artikelfiles und Artikellinks
(ID:46104587)