green_coding_digital_chiefs

Mit Green Coding zu nachhaltiger Softwareentwicklung

Softwarecodes sind oft sehr überladen und teilweise redundant, was zu mehr Stromverbrauch und Treibhausemissionen führen kann als eine schlankere Programmierung. Hier setzt Green Coding an.

So wie die EU haben auch die USA und andere Länder sich verpflichtet, bis 2050 Klimaneutralität zu erlangen. Derweil wächst aber auch der CO2-Fußabdruck, der von der Digitalisierung ausgeht, obwohl diese auch Teil der Problemlösung sein kann. Man denke nur an Smart Cities mit Einbindung von modernen Fahrerassistenzsystemen, um die Städte von mit hohen Feinstaubemissionen einhergehenden Staus zu entlasten. Ein recht neuer Ansatz für mehr nachhaltige IT-Infrastrukturen findet sich bereits bei der Softwareentwicklung: Green Coding.

Software ist vor allem indirekter Emittent

Green IT war schon vor 20 Jahren ein großes Thema, da klar wurde, dass weniger Stromverbrauch und CO2-Ausstoß nicht nur dem eigenen Image dienen, sondern auf Dauer auch sehr viel kostensparender sind. Und auch damals gab es, unter anderem getrieben von den noch hohen Speicherpreisen, vonseiten der Hardwarehersteller erste Ansätze, die Programmiercodes zu verschlanken. Die Programmzeilen sind wie gesagt oft viel zu überladen, was sich nicht nur auf die Geschwindigkeit, sondern eben auch auf den Stromverbrauch auswirkt.

Die Treibhausemissionen teilen sich laut in drei sogenannte Scopes oder Kategorien. Scope 1 sind die direkten Emissionen, aus der Verbrennung von Kraftstoffen etwa, Scope 2 betrifft die indirekten Emissionen aus dem Einkauf von Strom oder Wärme. Technologieunternehmen haben bei den ersten beiden Kategorien nur einen vergleichsweise geringen Anteil, aber das Gros der Umweltauswirkungen, die von ihnen ausgehen, sind Scope 3, der Emissionen der Wertschöpfungskette zuzuordnen.

Und dazu gehören auch die indirekten Verbräuche durch Nutzung der Produkte. Somit entfielen von den geschätzten 16 Millionen Tonnen, die Microsoft 2020 emittiert hat, rund 75 Prozent auf eben jenen Scope 3.

Nur eine Sekunde kann den CO2-Fußabdruck verkleinern helfen

Dem Bundesumweltamt (UBA) zufolge reichen die Spannweiten für den weltweiten Energiebedarf bei Rechenzentren von etwa 200 bis 1.000 Terawattstunden (TWh), was etwa 100 bis 500 Millionen Tonnen C02-Äquivalent entspricht. Tendenz steigend.

Green Coding, also der sparsamere Umgang mit nicht notwendigen Berechnungen, Code-Fragmenten und Abläufen in den Programmen, kann tonnenweise an CO2-Äquivalenten einsparen helfen.

green_coding_umgang_digital_chiefs
Green Coding kann helfen, tonnenweise an CO2-Äquivalenten einzusparen (Quelle: Adobe stock / jijomathai).

Ein nur eine Sekunde schnellerer Start des Betriebssystems oder ein etwas schnelles Suchmaschinenergebnis kann schon viel bewirken. Ein weiteres Problem bildet auf der Hardware oder in den Serverräumen nicht voll ausgelastete Software. Vollausgelastete Server sind deutlich sparsamer als solche, die nach den Leistungswerten zwar weniger Strom verbrauchen, aber nur vergleichsweise wenig arbeiten und die meiste Zeit leerlaufen. Die Rechenzentren der großen Hyperscaler laufen mit einer Auslastung von circa 65 Prozent, in den meisten lokalen Rechenzentren sind es dagegen nur 12 bis 18 Prozent.

Logik, Methodik, Plattform – die drei Säulen von Green Coding

Für Unternehmen, die von Green Coding profitieren möchten, kann es sich lohnen, danach zu suchen, wo zum Beispiel nicht gebrachte Programmlogiken versteckt sind. Als weiteres Potenzial hat eine Studie von Sysparency die Optimierung der Abfrage und Speicherung von Daten ausgemacht. Insgesamt soll Green Coding laut der Studie helfen, bis zu 35 Prozent der Ressourcen einzusparen.

Green Coding basiert auf architektonischen Prinzipien und ist von drei Säulen getragen: der Logik, der Methodik und den Plattformen, die verwendet werden, um die Codes zu schreiben, zu entwickeln und auszuführen.

Die drei Säulen lassen sich laut Expert:innen mit entsprechenden Fragewörtern überschreiben: Über der grüneren Logik steht, was generiert wird, über der grüneren Methodik, wie generiert wird, und über der grüneren Plattform, wo die Software schließlich Einsatz findet und betrieben wird.

Für eine nachhaltigere Software kann eine modulare Entwicklung helfen. So können einzelne Module bei Nichtgebrauch abgeschaltet werden. Viele Anwendungen müssen sich auch nicht ständig dynamisch ändern, und selbst bei Landing-Pages mit hoher Nutzerfrequenz genügt es, diese täglich oder wöchentlich anzupassen. Außerdem sollte man immer die Zielgruppe oder den Zweck der Software im Blick haben, um sich auf das Wesentliche zu konzentrieren und darauf, wo die größeren Verbräuche und Energie-Einsparpotenzial besteht. Bei Anwendungen, über die Tausende von Bildern pro Stunde laufen, kann es sich auf Dauer schon lohnen, in eine Zehntelsekunde pro Bild mehr Entwicklungszeit zu investieren.

Was die grünere Logik angeht, empfehlen Experten in einem ComputerBild-Beitrag unter anderem, Ressourcen mit geringerem Fußabdruck zu wählen (zum Beispiel CSV statt Excel und YAML statt XML) sowie mehr auf nutzenbasierte visuelle Inhalte zu achten, weil bei einer großen Nutzerbasis jede Mikrosekunde zählt. Die API kann laut GFT auch einen direkten Einfluss auf den CO2-Fußabdruck haben. Ersetze man zum Beispiel die heute viel verwendeten REST-APIs durch eine GraphQL-API kann sich bei 100 MB pro Sitzung die Datenmenge um 20 MB reduzieren. Feedback-Metriken wie die zum Messen der Ladezeit sowie Agile- und Lean-Methodiken können helfen die Effizienz der Software zu verbessern.

Fazit und Ausblick: Software ist oft viel zu überladen. Diese von unnötigem Ballast zu befreien, ist bei älteren Produkten oft schwieriger als bei neueren. Open-Source-Lösungen sind oft per se mehr auf Sparsamkeit bedacht. Die leicht zugänglichen Open-Source-Bausteine können aber auch Teil des Problems werden. Der Trend zu Low-Code- und No-Code-Programmierung wird sein Übriges tun mit Blick auf Green Coding und geringen Software-Fußabdruck.

Quelle Titelbild: Adobe Stock / Gorodenkoff

Diesen Beitrag teilen:

Weitere Beiträge

Axians Horizon – die ICT-Exhibition im Messestil startet im September 2022

Um nach langer Corona-Durststrecke wieder Begegnungen von Mensch zu Mensch zuzulassen und die neuesten ... »

11.08.2022 | Redaktion Digital Chiefs

Roboter in Rechenzentren für mehr Effizienz

Um den anhaltenden Fachkräftemangel aufzufangen und an Effizienz zu gewinnen, wird bis 2025 jedes zweite ... »

04.08.2022 | Redaktion Digital Chiefs