Auszug aus dem Fachartikel „Green Coding – mehr Nachhaltigkeit in der IT“
Green Coding bezieht sich auf den Energieverbrauch einer Software und hier insbesondere auf die Bereiche Softwarearchitektur, die konkreten Softwarekomponenten sowie die Betriebsplattform. Im Rahmen der Softwarearchitektur ist Green Coding eine weitere nichtfunktionale Anforderung
analog zu Security oder Performance. Sie zielt darauf ab, den Energieverbrauch einer Softwarekomponente möglichst gering zu halten.
In der Praxis deckt sich das sehr oft mit Performanceanforderungen. Das heißt, häufig ist der performanteste Code auch der, der am wenigsten Energie verbraucht. Bei der Realisierung der Softwarekomponenten muss die Anforderung des geringen Energieverbrauchs messbar formuliert und während und nach der Entwicklung überprüft werden. Die Programmierer können bei der Optimierung weitgehend auf bekannte Maßnahmen zur Performancesteigerung zurückgreifen. Das Motto lautet hier:
Grüne Betriebsplattform
Die Betriebsplattform ist ein weiterer Bereich, in dem Green Coding eine große Rolle spielt. Der Betrieb in der Cloud ist in der Regel um ein Vielfaches energie- und damit CO2-effizienter als in firmeneigenen Rechenzentren, weil virtuelle Server oder Container nur zum Bedarfszeitpunkt
gestartet werden. Wird ein eigener lokaler Server betrieben, so sollte sich die Leistung der Hardware am tatsächlichen Bedarf ausrichten, der Server also nicht überdimensioniert sein.
Ist der Betrieb in der Cloud nicht möglich, dann sollte die Abwärme des Rechenzentrums in der kalten Jahreszeit bestenfalls auch als Heizquelle
verwendet werden.
Laut wissenschaftlichem Dienst des Bundestages steigt der Energieverbrauch von Rechenzentren jährlich an. Der Anstieg sei dabei vor allem auf den steigenden Strombedarf der Server zurückzuführen. Obwohl der Anteil der Software im Gegensatz zum Beispiel zur Kühlung der Rechenzentren
geringer ist, wird die Nachfrage nach energieeffizienter und ressourcenschonender Software in Zukunft steigen.
Auch die Anwender der Software haben Einfluss darauf, wann bestimmte Berechnungen durchgeführt werden. So können zum Beispiel unkritische
Batchläufe um die Mittagszeit ausgeführt werden, wenn eine Nutzung von Solarenergie möglich ist.
[…]
