Green Coding ist eine junge Form der Softwareentwicklung, die durch effizienten Softwarecode den Energieverbrauch in Rechenzentren senkt. Nachhaltige Applikationen sparen indirekt Emissionen ein und leisten damit einen Beitrag zum Umweltschutz. Das Thema Nachhaltigkeit ist mittlerweile zu einem wichtigen Kaufkriterium für weltweite Absatzmärkte geworden. Im B2C-Bereich finden wir mittlerweile eine Kundschaft vor, die sehr umwelt- und verantwortungsbewusst ist. Damit fallen Aussagen zur Nachhaltigkeit auf fruchtbaren Boden. Mit dem Einkauf eines umweltverträglichen Produkts wird der eigene CO2-Abdruck kleiner.
Auch im B2B-Bereich werden bei Unternehmen und Einrichtungen vermehrt auf nachhaltige Lösungen geachtet. In einer jüngst erschienenen IDG-Studie geben bereits 90 Prozent der Unternehmen an, dass Nachhaltigkeit eine wichtige Priorität in den IT-Abteilungen sei. Im Zweifel macht das den noch einzig vorhandenen Unterschied aus, wenn Produkte verschiedener Anbieter verglichen werden. Bei immer ähnlicher werdenden Funktionsumfang kann dies das ausschlaggebende Kaufkriterium sein.
Im Zuge dieser Entwicklung stellen wir aber auch fest, dass der Begriff »Nachhaltigkeit« sehr inflationär verwendet wird. Unternehmen lernen schnell, welche Marketingaussagen besonders gut ankommen. Umso wichtiger wird es zukünftig sein, die reinen Marktschreier von den wirklich nachhaltig agierenden Unternehmen zu trennen.
Treibhausgasemissionen werden in drei Kategorien oder „Scopes“ unterteilt. Scope 1 beschreibt direkt erzeugte Emission, Scope 2 beinhaltet indirekt erzeugte Emissionen wie zum Beispiel beim Einkauf von Strom. Das Thema »Green Coding« wird bei Scope 3 erfasst. Hierbei handelt es sich um indirekte Emissionen, die in der Wertschöpfungskette eines Unternehmens entstehen.
Microsoft verursacht im Jahr rund 11 Millionen Tonnen an CO2-Ausstoß. 75 Prozent davon entfallen auf Scope 3. Das Unternehmen hat sich Nachhaltigkeit oben auf die Agenda geschrieben. Das Management hat jüngst mit Partnern die Green Software Foundation ins Leben gerufen. Darüber hinaus hat Microsoft angekündigt, ab dem Jahr 2030 CO2-negativ zu sein. Dann wird Microsoft mehr Kohlendioxid der Atmosphäre entnehmen als hinzufügen.
Die weltweite IT macht heute fünf bis neun Prozent des globalen Stromverbrauchs aus. Auf alle Rechenzentren entfällt rund ein Prozent des weltweiten Strombedarfs. Aufgrund der fortschreitenden Digitalisierung werden die Anteile in den nächsten Jahren weiter steigen. Daher macht es Sinn, jetzt alle Teilbereiche der Digitalisierung auf Einsparpotenziale zu überprüfen. Auf der Hardwareseite zum Beispiel bieten Hersteller wie Intel neue skalierbare Xeon® Prozessoren der 3. Generation für Server an, die eine bessere Produktenergieeffizienz ausweisen. Nachhaltigkeit in der IT ist sinnvoll und kann viele Millionen Tonnen CO2 in der Atmosphäre einsparen.
Wir bei BroadcastX haben uns mit dem Thema »Green Coding« intensiv auseinandergesetzt und bereits für einige Kunden eine nachhaltige Applikation erstellt. Als Ziele haben wir uns einen geringeren Datenaustausch mit einem niedrigen Energieverbrauch gesetzt, ohne die Funktionalität oder Bedienbarkeit negativ zu beeinflussen. Die erreichten Ziele lassen sich bei einem einzelnen Anwender kaum überprüfen. Aber bei mehreren Tausend Usern wird der Hebel entsprechend groß und die Einsparpotenziale werden sichtbar. Nachhaltige Softwareentwicklung macht besonderen Sinn bei Anwendungen, die große Datenmenge austauschen und wo viele User das System benutzen. Eine effiziente Programmierung reduziert den Datenstrom und lässt die Server effizienter arbeiten.
Wir sehen vier Ziele, die mit „Green Coding“ in der Praxis zu erreichen sind.
1. Niedrigerer Energieverbrauch
2. Geringere Energiekosten
3. Verbesserte Co2-Bilanz
4. Positives Marketing
Bei der Umsetzung von „Green Coding“ haben wir an verschiedenen Stellen angesetzt, um am Ende eine effizient programmierte Anwendung ausliefern zu können.
Wenig Open Source Code
Open Source basiert auf dem Gedanken, dass dieser Code öffentlich zugänglich ist und jeder ihn anzeigen, ändern und teilen kann. Open Source Software wird dezentral und kollaborativ entwickelt. Viele Programmierer entwickeln an vielen Stellen redundanten Code, der sich wiederholt und damit überflüssig ist. Open Source hat ganz sicher seine Berechtigung bei der Digitalisierung. Wenn aber „Green Coding“ im Vordergrund steht, sollte der Programmcode unter eigener Kontrolle entwickelt und gemanaged werden.
Weniger bzw. gezielter Datenaustausch
Die Optimierung und damit die Verringerung des Datenaustauschs ist eine Hauptaufgabe beim „Green Coding“. Jede Anwendung ist datengetrieben und kommuniziert mit dem User, mit angeschlossenen Systemen und mit Datenbanken. Die Kunst ist nun, die Oberflächen und die Benutzerführung so zu gestalten, dass die geforderte Funktionalität mit einem Mindestmaß an Datenaustausch funktioniert. Damit entlasten wir die Serversysteme und sparen wertvolle Energie ein. Wir prüfen, welche Anfragen im System sofort ausgeführt werden müssen und bei welchen Anfragen wir die Ausführung mit weniger Rechenleistung im Hintergrund abarbeiten können.
Weiterhin verzichten wir auf ein zyklisches Polling, bei dem regelmäßig ein Systemstatus abgefragt wird. So eine pollende Applikation kann leicht die Systemlast auf 100 % treiben und damit unnötigen Stromverbrauch und Abwärme produzieren. Alternativ bietet sich eine Eventbasierte Lösung an, die praktisch keine Systemressourcen verbraucht.
Wenn immer es geht, versuchen wir einmal abgerufene Daten zu cachen, damit diese gleichen Daten nicht immer wieder übertragen werden müssen. Auch das verringert den Datenverkehr.
Auch beim Einsatz von Bildern kann der Datentransfer optimiert werden. Die Bildgröße kann auf ein Mindestmaß verkleinert und die Pixeldichte reduziert werden. Mit dem komprimierten JPEG oder WebP-Formaten lässt sich der Datenstrom weiter reduzieren.
Wenn die Anwendung weiterhin in einem CDN-Netzwerk betrieben wird, werden die Daten von dem Server im Verbund bereitgestellt, welcher sich in der Nähe des jeweiligen Nutzers befindet. Auch dies trägt zu einer Reduzierung des Datenverkehrs bei.
Die Praxis zeigt, dass „Green Coding“ leicht umzusetzen ist und bei vielen Usern entsprechend viel Einsparpotential hat. In Kombination mit einem umweltverträglichen Projektmanagement können tatsächlich nachhaltigen Anwendungen erstellt werden, die unsere wertvollen Ressourcen schützen.
Wir beraten Sie gerne, ob „Green Coding“ nicht auch für die nächsten Anwendung in ihrem Unternehmen in Frage kommen kann.