Fachartikel

Green Coding – die neue Dimension der Softwareentwicklung

Der Klimawandel ist die zentrale Herausforderung des 21. Jahrhunderts. Betriebe weltweit müssen ihren CO2-Fußabdruck reduzieren. Ein mächtiger Hebel hierbei kann die IT sein – Stichwort Green Coding.

1360
3 Minuten Lesezeit

In dieser Collection enthalten:

Collection öffnen

Green Coding zur Reduzierung des CO2-Fußabdruck

Der Klimawandel ist die zentrale Herausforderung des 21.Jahrhunderts. Betriebe weltweit müssen ihren CO2-Fußabdruck reduzieren. Ein mächtiger Hebel hierbei kann die IT sein – Stichwort Green Coding.

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 nicht- funktionale 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 über- prüft werden. Die Programmierer können bei der Optimierung weit- gehend auf bekannte Maßnahmen zur Performancesteigerung zurück- greifen. Das Motto lautet hier: „Jede Codezeile hat das Potenzial, den Energieverbrauch zu senken.“

Green Coding reduziert den CO2-Fußabdruck

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 Bundestages1 steigt der Energieverbrauch von Rechenzentren jährlich an. Der Anstieg sei dabei vor allem auf den steigenden Strom- bedarf der Server zurückzuführen. Obwohl der Anteil der Software im Gegensatz zum Beispiel zur Kühlung der Rechenzentren2 geringer ist, wird die Nachfrage nach energieeffizienter und ressourcenschonender Software in Zukunft steigen.

Auch die Anwender der Software haben Einfluss darauf, wann bestimmte Berechnungen durch- geführt werden. So können zum Beispiel unkritische Batchläufe um die Mittagszeit ausgeführt werden, wenn eine Nutzung von Solarenergie möglich ist.

In Zukunft wird es weitere Entwicklungen in Richtung Performanceverbesserung und damit auch in Richtung Nachhaltigkeit geben. Die Vergangenheit zeigt, dass wir immer schneller immer komplexere Systeme entwickeln können und die Programme oft sogar noch performanter und mit weniger Energie- verbrauch laufen als früher.

Beschäftigte in Fachabteilungen, IT-Architektur, Entwicklung und Betrieb können somit einen Beitrag zum Umweltschutz leisten.

Sie möchten mehr zu konkreten Maßnahmen und Entwicklungsmustern für Green Coding lesen?

Im Fachartikel Green Coding finden Sie mehr Informationen zum Thema.

Checkliste: Die wichtigsten Punkte für alle Stakeholder

Nichtfunktionale Anforderungen zu grüner IT und Green Coding sind definiert IT-Architekten und Entwickler sind geschult

System skaliert dynamisch und fährt sich bei Leerlauf herunter Dynamische Inhalte und Echtzeitverarbeitung werden möglichst vermieden Komponenten mit dem höchsten Energieverbrauch sind identifiziert

Green-Coding-Prinzipien und Entwicklungsmuster in folgenden Punkten sind berücksichtigt:

  • Effizienter Code mit optimalen Algorithmen
  • Vermeidung unnötiger Round-Trips
  • Caching
  • Optimiertes Datenvolumen
  • Komprimierte Netzwerkkommunikation
  • Datenbank-Indizes
  • Optimierte Ressourcennutzung durch optimierte Konfiguration
  • Zero Waste Code
  • Prinzip: „Jede Codezeile hat das Potenzial, den Energieverbrauch zu senken“
  • Performance Engineering: Es ist klar, was, wann und wie gemessen wird
  • Was: Gesamtsystem, Prozess, Komponente, Methode
  • Wann: Unittest, Integrationstest, Betrieb
  • Wie: Open Hardware Monitor oder Smart Plugs, Frameworks
  • Ressourcenverbrauch: Optimierung von CPU, RAM, Speicher, Netzwerk
  • DevOps und Betrieb
  • DevOps-Pipeline ist hinsichtlich Energieverbrauch optimiert
  • Containerbasierte Plattform mit intelligenter, dynamischer Skalierung wird genutzt
Quellen
Jakob Deiner

Jakob Deiner

berät bei msg for banking Kunden in seinen Schwerpunktthemen IT-Architektur, objektorientiertes Design und containerbasierte Betriebsplattformen. Er ist außerdem Certified Professional for Software Architecture (iSAQB) - Foundation Level (CPSA-F) und Certified Scrum Master (CSM), Scrum Alliance.

Schreiben Sie einen Kommentar

Sie müssen sich anmelden, um einen Kommentar zu schreiben.