Interview zum Thema “Green Coding” mit Dr. Frank Gredel
Das Thema Green Coding beinhaltet eine Vielzahl von Maßnahmen, die helfen können, Software emissionsärmer und nachhaltiger zu entwickeln. Welche Ansätze können Unternehmen verfolgen, um mit dem richtigen Coding die Programmierung ihrer Software tatsächlich „grün“ zu gestalten? Welche Dimensionen umfasst der Bereich und was können IT-Dienstleister wie die PTA IT-Beratung in puncto Vorgehensmodell dazu beisteuern? Auf diese Fragen gibt Dr. Frank Gredel, Head of Business Development bei der PTA, im vorliegenden Interview Antwort.
Was steckt hinter dem Begriff des Green Coding?
Wir alle leben mit der Gewissheit, dass wir auf unserem Planeten die CO₂-Produktion drastisch reduzieren müssen, wenn wir diesen erhalten wollen. Dekarbonisierung lautet das heißdiskutierte Stichwort. Ein recht neuer Ansatz für mehr Nachhaltigkeit in der IT ist das Green Coding. Nach grüner Energie aus regenerativen Quellen und Green IT, die sich vor allem um stromsparende Hardware bemüht, sorgt Green Coding für mehr Nachhaltigkeit im Zuge der voranschreitenden Digitalisierung. Dabei geht es darum, Software nachhaltig zu entwickeln und auch zu betreiben. Bei der Anwendungsentwicklung betrifft dies jede einzelne Programmzeile, weil jede Zeile Code bei stark genutzter Software einen riesigen Skalierungseffekt haben kann.
Und von welchen Dimensionen sprechen wir hierbei?
Die Dimensionen, um die es geht, sind gewaltig. Experten schätzen, dass eine Google-Suche circa 0,2 Gramm CO₂ freisetzt. Wollten wir die Emissionen für alle Suchanfragen, die wir alleine innerhalb eines Jahres anstoßen, durch das Pflanzen von Bäumen kompensieren, müsste man etwa 41 Millionen Bäume pflanzen – wenn wir davon ausgehen, dass ein Baum im Jahr etwa 10 Kilogramm CO₂ neutralisiert und es schätzungsweise 5,6 Milliarden Suchanfragen täglich gibt. Aber selbst das ist ein Klacks angesichts der 2,2 Milliarden Bäume, die wir für die 22 Millionen Tonnen CO₂ pflanzen müssten, die das Bitcoin-Mining jährlich in die Atmosphäre bläst. Um eine Relation zu geben: Im Schwarzwald wachsen auf über 6000 km2 gerade einmal vier Millionen Bäume.
Vor dem Hintergrund solch eindrucksvoller Zahlen gibt es Auslöser, sich mit dem Thema auseinanderzusetzen: Welche sind das?
Es ist höchste Zeit zu handeln. Wir stehen in Sachen Klimakrise, Energiewende, Wirtschaftlichkeit im Zuge immer knapper werdender Ressourcen vor vielfältigen Herausforderungen. Zu Beginn dieses Jahres ist zudem die EU-Taxonomie-Verordnung in Kraft getreten, die Kriterien festlegt, ob eine Wirtschaftstätigkeit als ökologisch nachhaltig einzustufen ist. Diese soll nun durch eine neue CSR-Richtlinie (Corporate Sustainability Reporting Directive) ergänzt werden, die das Pflichtenheft erweitert. Schon die erste Version der CSR-Richtlinie, die seit 2017 gilt, verpflichtet alle kapitalmarktorientierten Unternehmen und Konzerne mit über 500 Mitarbeitern dazu, auch über nicht-finanzielle Themen zu berichten.
Und dennoch scheint das Thema Green Coding bei vielen Verantwortlichen noch nicht richtig angekommen zu sein, warum?
Weil es alles andere als trivial ist, die Emissionen einer Software zu messen und damit richtig zu beziffern. Software-Anbieter kalkulieren üblicherweise lediglich die Emissionen von Scope 1- und Scope 2-Faktoren ein. Scope 1-Emissionen entstehen aus der direkten Verbrennung von fossilen Stoffen bei der Produktion einer Ware. Scope 2-Emissionen wirken indirekt. Sie entstehen bei der Fertigung, etwa durch den Einkauf von Strom. Unter Scope 3-Emissionen bündeln wir alle Emissionen, die in der Lieferkette entstehen, etwa bei Dienstleistungen für die Kunden oder bei der Entsorgung von Endprodukten. Solche Scope 3-Emissionen gibt es in großem Zuschnitt auch bei Software, wie eine interne Untersuchung von Microsoft eindrucksvoll zeigte. 75 Prozent aller Emissionen des Unternehmens entfallen dabei auf Scope 3-Emissionen, also auf die Herstellung und den Vertrieb sowie die Benutzung von Windows, Office oder der Cloud-Produkte auf Abermillionen PCs im Büro oder zu Hause. Das macht die Sache nicht einfacher.
Und was bedeutet das für die IT?
Der IT-Sektor ist momentan verantwortlich für vier Prozent des globalen Ausstoßes von Treibhausgasen, Tendenz steigend. Im Jahr 2040 könnten digitale Emissionen rund 14 Prozent des weltweiten CO₂-Ausstoßes verursachen. Mit dem Grad der Digitalisierung steigt der Ausbau der IT-Infrastruktur. Und der Betrieb immer größerer Serverfarmen benötigt immer mehr Strom. Wir sollten aber die Software nicht vergessen. Deswegen bin ich der Ansicht, dass Green IT, also der effiziente und sparsame Betrieb von Hardware und Rechenzentren, oftmals aus der Cloud, hier wesentlich zu kurz greift. Denn 55 Prozent der verursachten Emissionen der IT kann durch die zugrunde liegende Software beeinflusst werden. Deshalb leistet Green Coding einen wertvollen Beitrag, um Klimaziele und Nachhaltigkeit zu erreichen.
Wo sollten die Unternehmen also ansetzen?
Es gibt drei Bereiche in der Anwendungsentwicklung, die dafür sorgen, dass sich das Optimierungspotenzial von Green Coding voll ausschöpfen lässt. Der erste Bereich betrifft die zum Einsatz kommende Plattform. Hier geht es insbesondere darum, Überdimensionierungen zu vermeiden, falsche Konfigurationen zu eliminieren und versteckte Infrastruktur nicht außer Acht zu lassen. Der zweite Bereich umfasst die Logik. Das bedeutet, dass beispielsweise ein nutzenorientierter visueller Inhalt schneller das zur Verfügung stellt, was gewünscht ist. Das steigert die Zufriedenheit der Kunden und spart zudem Zeit und Energie. Dazu zählt aber auch, bewusst einfachere Dateiformate, effiziente APIs und optimierte Bildpakete einzusetzen und „toten“ Code konsequent aus der Anwendung zu entfernen und damit einen Zero-Waste-Code zu etablieren. Der dritte Bereich betrifft die Methodik, die regeln sollte, dass die Ergebnisse, die sich im Rahmen von Green Coding-Projekten ergeben, auch organisationsübergreifend wiederverwertbar sind. Agile und schlanke Methoden bewähren sich hier, denn sie erleichtern die Anpassung von Software und erhöhen deren Effizienz.
Können Sie konkrete Anwendungsbeispiele skizzieren?
Im Plattformbereich lohnt es sich beispielsweise darauf zu achten, welche Programmiersprache überhaupt zum Einsatz kommt. Hier gibt es in Sachen Energieeffizienz und Geschwindigkeit signifikante Unterschiede. Lösungen welche C, eine sehr systemnahe Sprache, in der beispielsweise das Linux-Betriebssystem geschrieben ist, verwenden, weisen mit die niedrigsten Energieverbrauchswerte auf und sind dazu noch sehr schnell. Auch die Energieoptimierung der verwendeten Datenbanken spielt hier eine Rolle. So führt eine Erhöhung des Arbeitsspeichers, je nach Abfrage-Typ, um eine Stromersparnis von bis zu 53 Prozent. Und auch die größere Blockgröße durch den Einsatz von SSDs, idealerweise kombiniert mit FlashDB, birgt großes Einsparpotenzial.
Und wie sieht es im Bereich Green Logik aus?
Auch hier schlummert erhebliches Optimierungspotenzial. Beispielsweise beim Rendering. Legen Anwendungsentwickler ihr Augenmerk darauf, wie ihre programmierten Datensätze visualisiert und umgewandelt werden, lässt sich Energie einsparen, ebenso durch Programmcode, der so entwickelt ist, dass die CPU-Auslastung auf das erforderliche Minimum reduziert wird. Wir haben dafür sogar einen hauseigenen EnergyBenchmark programmiert, der anzeigt, wie hoch der Energieverbrauch einzelner Softwarekomponenten ist. Ein weiteres Anwendungsbeispiel ist die Trainingsoptimierung bei KI-Szenarien. So fanden Forscher von Google und der Universität Berkeley heraus, dass sich durch den Einsatz von GPT-3, einem autoregressiven Sprachmodell, in diesem Bereich 99,9 Prozent der CO₂-Emissionen in Vergleich zu einem Standard-Training einsparen lassen. Ein beachtlicher Wert.
Schauen wir abschließend auf den dritten Bereich. Welche Verbesserungen lassen sich beim Vorgehensmodell, also der Methodik, erzielen?
Mittels agiler Softwareentwicklung zur effizienten Anforderungsumsetzung können wir im Sinne des Green Coding den Nutzen von IT-Systemen maximieren. Um Nachhaltigkeit zu erreichen, sollten Prozesse, Teams und Werte mit Bedacht aufeinander abgestimmt werden. Wir leben die Idee des agilen Manifests, welches besagt, dass wir bessere Wege in der Anwendungsentwicklung erschließen, indem wir es selbst tun und anderen dabei helfen. Konkret bedeutet das, dass wir das agile Vorgehensmodell um Green Coding Ansätze erweitert haben, sodass wir das bei Bedarf in unsere Kundenprojekte als Best Practice mit einbringen können. So können wir bereits im Product Backlog priorisieren, mit welchen Anforderungen wir die Software in puncto Energieverbrauch, Nachhaltigkeit und UX-Design optimieren. Mit der agilen Vorgehensweise stellen wir sicher, dass erzielte Ergebnisse einem ausführlichen Sustainability-Check unterzogen werden und bei Bedarf angepasst werden. Denn wir haben den Anspruch, dass wir immer besser werden, weshalb auch die Retrospektive in unserem Modell wichtig ist. Nach jedem Arbeitszyklus, Sprint genannt, besprechen wir neben dem Ergebnis des Sprints auch, wie wir uns im Team bei der Umsetzung von Green Coding noch verbessern können, sodass wir bei den abschließenden Abnahmetests auch die CSR-Richtlinie erfüllen.
Haben wir Ihr Interesse geweckt? Erfahren Sie mehr über Green Coding oder nehmen Sie direkt mit uns Kontakt auf: