Green IT: So wird Software umweltfreundlich
Geht es um Green IT, denkt so mancher als erstes an stromsparende Serverhardware, eine möglichst effektive Energieversorgung oder auch an intelligent gekühlte Racks. Seit einiger Zeit wird aber auch vermehrt über die Möglichkeiten ressourcenoptimierter Software-Lösungen diskutiert. Im Gegensatz zu Prozessoren gibt es für Programme im Moment zwar noch keine belastbaren Vergleichsbenchmarks. Trotzdem kann das Software-Umfeld die Energieeffizienz im Rechenzentrum beeinflussen. Denn zwei unterschiedlich geschriebene Programme mit genau denselben Funktionen können erhebliche Abweichungen beim Stromverbrauch aufweisen, wenn beispielsweise die Software unbeabsichtigt verhindert, dass ein Gerät automatisch in den Energiesparmodus wechselt – einfach nur, weil dieser Aspekt bei der Softwareentwicklung nicht mitberücksichtigt wurde.
Inanspruchnahme von Ressourcen verlässlich auswerten
Immer mehr Unternehmen erkennen, wie hoch das Energiesparpotenzial dank einer nachhaltigen Software-Architektur sein kann. Das Unweltbundesamt hat dazu im vergangenen Jahr eine valide Bewertungsgrundlage in Form einer Studie veröffentlicht. Die enorme Komplexität der kaum überschaubaren Wirkmechanismen zwischen Hard- und Software sind in dieser Erhebung in insgesamt 25 Kriterien und 76 Indikatoren unterteilt. Hierdurch können Unternehmen die Nutzung von Hardware-Ressourcen durch Software in klar definierten Standardszenarien genau ermitteln und vergleichen.
Datendopplung vermeiden und Speicherzugriffe minimieren
Ein wichtiger Gesichtspunkt in diesem Zusammenhang ist die Art und Weise, wie ein Programm auf gespeicherte Daten zugreift. Das kann den Energieverbrauch eines IT-Systems spürbar beeinflussen. Denn jeder Zugriff löst Kopiervorgänge zwischen Speichermedien und Hauptspeicher aus, die Prozessoren unterschiedlich stark beanspruchen. Egal ob es um den Druck einer Rechnung oder die Aktualisierung einer Adresse geht: Bei fast jeder Interaktion werden Datensätze aus einer Datenbank gelesen und wieder zurückgeschrieben. Um die Nachhaltigkeit zu unterstützen, gilt es daher, Redundanzen durch Datendopplung zu vermeiden und den Speicherzugriff auf wirklich benötigte Informationen einzuschränken. Datenbankabfragen sind in diesem Zusammenhang ein guter Ansatzpunkt, um Speicherzugriffe zu optimieren. Ein Beispiel aus der Praxis: Eine Kundenstammdatenstruktur besteht aus hundert Datensatzfeldern, von denen im konkreten Fall aber nur zehn inhaltlich relevant sind. In einem derartigen Fall sollten auch nur diese zehn Felder von der Abfrage angesprochen werden, und nicht – wie vielfach noch praktiziert – alle hundert Datenfelder.
Unterschiedliche Kundendatenstämme als Herausforderung
Datendopplungen lassen sich zumeist nur durch eine unternehmensweit konsolidierte Datenbankbasis vermeiden. Das ist jedoch manchmal nicht so einfach: Stammen beispielsweise die Controlling- und CRM-Software von verschiedenen Herstellern, muss mit zwei verschiedenen Kundendatenstämmen weitergearbeitet werden. Hier gilt es abzuwägen, wie und ob die Energieersparnis aufgrund minimierter Speicherzugriffe nebst Effizienzgewinn dank vereinheitlichter Datenpflege eine Investitionsentscheidung zugunsten einer neuen CRM- oder Controlling-Software rechtfertigt.
Schlanke Software-Architektur im Fokus
Bis heute gibt es noch keine aussagekräftigen Untersuchungen, die zeigen, wie stark bestimmte Programmiersprachen oder Compiler den Ressourcenverbrauch der entwickelten Programme beeinflussen. Auch die Studie des Umweltbundesamts lässt diese Frage offen. Konkrete Auswirkungen des Quellcodes auf die Energieeffizienz der Anwendung zeigen sich jedoch nur dann, wenn bestimmte Designprinzipien bei Softwareentwicklung und Coding Berücksichtigung finden. Das bedeutet: Ein schlecht strukturierter und chaotischer Code kann in jeder Programmiersprache für ineffiziente Software sorgen. Eine schlanke, wartungsfreundliche und ressourcenschonende Software-Architektur ist daher stets wichtiger als die Festlegung auf bestimmte Sprachen oder Compiler.
Herstellerübergreifende Plattform-Portabilität im Trend
Beim Betriebssystem sieht das anders aus: Im Allgemeinen gelten die Nachhaltigkeitskriterien des Umweltbundesamts hier genauso wie für jede andere Software auch. Wie groß die Unterschiede im betriebssystembedingten Ressourcenverbrauch sind, zeigt sich beispielsweise im Umfeld der Virtualisierung beim Vergleich verschiedener Container-Technologien: Ein Container mit lediglich zehn Klienten ist natürlich weniger energieeffizient als einer mit doppelt so vielen. Im Marktsegment Virtualisierung zeichnet sich zudem ein Trend in Richtung herstellerübergreifender Plattform-Portabilität von Containern ab, was die Energieeffizienz eines Systems vermutlich weiter verbessern wird, weil es den Einsatz besonders ressourcensparender Container, beispielsweise auf Linux-Basis, ermöglicht.
Längere Hardware- und nachhaltige Software-Nutzung
Ein weiterer Aspekt, der in diesem Kontext darüber hinaus von Bedeutung ist, ist der Einfluss von Software und Betriebssystemen auf die Nutzungsdauer eines IT-Systems. Allgemein bekannt ist beispielsweise, dass ein Laptop oder das Smartphone nach jedem Betriebssystemupdate langsamer läuft. Das führt irgendwann dazu, dass Nutzer ein neues Gerät anschaffen müssen. Würde bei der Neu- oder Weiterentwicklung von Softwareanwendung mit bedacht werden, diesen Effekt zu reduzieren, hätte dies weitere positive Auswirkungen auf die Nachhaltigkeit des Gesamtsystems. Denn: Je länger eine Hardware im Einsatz bleibt, desto mehr lassen sich all die Ressourcen ausnutzen, die für Herstellung, Transport, Vertrieb und Implementierung aufgewendet wurden. Die verlängerte Nutzungsdauer und damit auch die Orientierung an einer nachhaltigen Software-Architektur wirkt sich damit auch positiv im Sinne eines sinkenden IT-Investitionsbedarfs aus.
Energieeffizienz beim Software-Anbieter erfragen
Aktuell können Unternehmen das Ressourcenverhalten einer Software-Lösung noch nicht auf den ersten Blick erkennen. Eine Energieeffizienzskala wie beim Kauf von Waschmaschinen und Kühlschränken gibt es für Software nicht. Deshalb empfiehlt die Studie des Umweltbundesamts die Einführung eines Nachhaltigkeitssiegels für Software nach dem Vorbild des Siegels „Blauer Engel“ für umweltverträgliche Produkte. Bis ein derartiges Zertifikat Wirklichkeit wird, können Unternehmen ihre Software-Anbieter eigenständig nach der Energieeffizienz ihrer Produkte fragen. Damit nicht genug: Sie können auch in Erfahrung bringen, welche Vorkehrungen ihre Entwicklungsabteilung getroffen hat, um einen Anstieg des Ressourcenbedarfs nach Updates verlässlich einzudämmen.
Wir betreiben mehrere hundert Terminalserver für unterschiedliche Anwendungsfälle. Und dabei stellen wir fest, dass Software ganz unterschiedlich mit den Prozessorressourcen umgeht. Dies ist relativ unabhängig vom Betriebssystem.
Der SAP-GUI ist ein positives Beispiel sowohl auf Windows Server 2008 R2 (derzeit in der Ablösung) als auch auf Windows Server 2016. Leider haben wir in der Mehrzahl Anwendungen, die gerade im Multiuserbetrieb negativ auffallen und in der Summe natürlich dann auch bei einer Bereitstellung auf FAT-Clients einen höheren Energieverbrauch aufweisen. Nur fällt das bei einer Anwendungsnutzung auf FAT-Clients weniger deutlich auf.