Grüne Software ist noch Mangelware Der Status Quo bei und Technologien für Green Coding

Von lic.rer.publ. Ariane Rüdiger 5 min Lesedauer

Anbieter zum Thema

Wenn die PUE nicht mehr sinkt, kann grüne, also energie- und karboneffizient geschriebene Software neue Wege eröffnen, den Kohlendioxidausstoß von ICT zu verringern. Doch bislang steckt grünes Coding noch in den Anfängen.

Grüne Software kann erhebliche Mengen Kohlendioxid und Energie einsparen, erfordert aber eine andere Herangehensweise beim Programmieren. Besonders effizient ist C, besonders ineffizient sind beliebte neuere Sprachen wie Python, Ruby oder Perl.
Grüne Software kann erhebliche Mengen Kohlendioxid und Energie einsparen, erfordert aber eine andere Herangehensweise beim Programmieren. Besonders effizient ist C, besonders ineffizient sind beliebte neuere Sprachen wie Python, Ruby oder Perl.
(Bild: Green Software Foundation)

Die Green Software Foundation beziffert unter Rückgriff auf aktuelle Dachstudien den Anteil von Software auf vier bis fünf Prozent der globalen Kohlendioxid-Emissionen. Eine Studie der „Harvard Business Review“ prognostiziert für 2040 sogar einem Anteil von 14 Prozent am Kohlendioxidausstoß für die gesamte ICT.

Grüne Software ist eine Methode, hier umzusteuern. Doch geschieht das schon? Damit hat sich die Green Software Foundation in einer Umfrage beschäftigt, an der sich 2191 Softwarespezialisten, Entwickler, aber auch Tester, CIOs, IT-Architekten und Datenanalysten beispielsweise, aus vielen westlich orientierten Schwellen- und Industrieländern beteiligt haben. Programmierer aus China und Indien scheinen nur spärlich vertreten gewesen zu sein.

Die Befragten entwickeln vor allem für Cloud und Web. Sie haben meist mehr als fünf Jahre Entwicklungserfahrung, stammten aus großen Unternehmen, sind männlich (70 Prozent), gehörten keiner Minderheit an (68 Prozent) und betreiben Green IT nicht als Teil ihrer offiziellen Berufsrolle (74 Prozent). Fast alle halten das Thema Klimawandel für wichtig oder sehr wichtig.

Zwei Drittel wissen, was grünes Coding ist

Immerhin: Grüne Software kennt mehr als die Hälfte (53 Prozent) etwas, aber nur 14 Prozent sehr gut. Mehr als 30 Prozent hatten noch keine Berührung damit.

45 Prozent optimieren manchmal ihre Software nach Umweltkriterien, nur 13 Prozent immer. 30 Prozent tun dies gar nicht. Dazu kommen zirka 17 Prozent, die die Frage nicht beantwortet haben.

Umweltfreundliches Entwickeln: meist Eigeninitiative

Wenn Entwickler diesbezüglich aktiv werden, reduzieren sie vor allem den Datentransferbedarf ihrer Applikationen (45 Prozent). Verbreitet ist auch, die Belastung der Hardware zu verringern (35Prozent).

Weitere 25 Prozent gaben an, Energie-effiziente Software zu bauen, aber nur 11 Prozent, dass ihre Software karbon-effizient ist. 21 Prozent bauen Programme, die auch auf älterer Hardware lauffähig sind.

Wichtige Kriterien der Softwarequalität: Wer Nachhaltigkeit bei Software für wichtig hält, möchte deswegen weder Sicherheit noch Zuverlässigkeit vernachlässigen, ergab eine Online-Umfrage der Green Software Foundation.
Wichtige Kriterien der Softwarequalität: Wer Nachhaltigkeit bei Software für wichtig hält, möchte deswegen weder Sicherheit noch Zuverlässigkeit vernachlässigen, ergab eine Online-Umfrage der Green Software Foundation.
(Bild: Green Software Foundation)

Nur 8 Prozent arbeiten an Software, die Workloads auf andere Hardwareressourcen mit erneuerbarer Energiespeisung verlagert, um den CO2-Ausstoß zu verringern. 16 Prozent messen Energieverbrauch oder Carbon Footprint der von ihnen erzeugten Software.

Das Interesse, entsprechende Methoden einzusetzen, liegt bei fast allen genannten Technologien bei 45 Prozent oder höher, am höchsten beim Thema Energie-Effizienz (63 Prozent). Sicherheit und Zuverlässigkeit der Software werden allerdings bei den Softwarequalitätsmaßstäben weiter priorisiert. Nachhaltigkeit steht auf dem dritten Platz - Leistung und Kosten müssen ihr gegenüber zurückstehen.

Unternehmen: Engagement vorhanden

Von den Unternehmen wird der Umwelteinfluss von Software meist nur gelegentlich (rund 48 Prozent), bei 16 Prozent immer erfasst. Nie tun das 35 Prozent. Dabei haben 70 Prozent der Unternehmen öffentlich Klimaziele definiert – 47 Prozent haben sich zu deren Einhaltung öffentlich verpflichtet.

74 Prozent der Entwickler glauben, dass ihre Firmen durchaus in gewissen Grenzen oder sogar sehr in grüne Software investieren. 78 Prozent bejahen die Frage, dass die Führungsebene die Implementierung grüner Software fördert.

Training und Bewusstseinsbildung entscheidend

Um Software grüner zu machen, braucht es nach Meinung der Befragten in erster Linie Training und Bewusstseinsbildung (36 Prozent). Dazu passt, dass die meisten ihr Green-IT-Wissen aus externen Quellen (48 Prozent), von Organisationen (39 Prozent), Kollegen (36 Prozent) oder sozialen Medien (35 Prozent) beziehen. Dabei würden 55 Prozent gern etwas darüber lernen, nur 3 Prozent haben kein Interesse an Trainings zu dem Thema.

Laut Green Software Foundation (GSF) sind Wissen, Technologiekultur und geeignete Tools die drei Säulen eines Übergangs zu grünen Softwaretechnologien.
Laut Green Software Foundation (GSF) sind Wissen, Technologiekultur und geeignete Tools die drei Säulen eines Übergangs zu grünen Softwaretechnologien.
(Bild: Green Software Foundation)

Das nötige Wissen wird in Ausbildungen und Studiengängen bislang kaum vermittelt. Deshalb hat die Green Software Foundation einen kostenlosen und öffentlich zugänglichen Onlinekurs entwickelt.

Regulierung ist wichtigster Hebel

Helfen könnten auch direkte Anreize, etwa im Zusammenhang mit der Entlohnung (35 Prozent). Allerdings setzen die meisten auf Regulierung (43 Prozent), wenn es um die Durchgrünung von Software geht.

Weitere Faktoren sind bessere Umsatzaussichten (27 Prozent) und Standards. Die von der Industrie bevorzugten Zertifizierungsprogramme landen hier abgeschlagen bei 10 Prozent.

Doch was bedeutet „grüne Software“ überhaupt? Einen detaillierten Einblick gibt ein vom Softwarehaus GFT publiziertes Whitepaper. Das Unternehmen nimmt Nachhaltigkeit ernst. Es hat als eines der ersten mit Hilfe eines speziellen Modells ausrechnen lassen, wie sich das eigene Verhalten aufs 2-Grad-Ziel auswirken würde, wenn alle sich so verhielten.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Die richtige Sprache

Grundlegend für grüne Software ist die Wahl der Programmierplattform. Hier gibt es unglaubliche Unterschiede: Je nach gewählter Sprache können sich Energieverbrauch und Verarbeitungszeit um mehr als den Faktor 80 unterscheiden. Besonders effizient ist C, besonders ineffizient sind beliebte neuere Sprachen wie Python, Ruby oder Perl.

Beim Speicherbedarf klaffen die Werte nicht ganz so weit auseinander. Pascal ist am sparsamsten, Jruby verschwendet mit etwa dem Zwanzigfachen von Pascal am meisten Speicher.

Bausteine nachhaltigen Programmierens

Wichtige weitere Bausteine sind die Programmierlogik, die Programmiermethode und die Hardwareplattform – bei letzterem empfiehlt GFT wegen der um den Faktor drei bis vier höheren Auslastung eindeutig die Public Cloud.

Bei der Programmierlogik steht ganz oben die Modularisierung der Programme, um gerade nicht aktive Teile selektiv abschalten zu können. Das erfordert eine Entkopplung von Programmteilen.

Es muss nicht immer Echtzeit sein

Wirksam ist auch die De-Synchronisierung von Abläufen, sprich: der Abschied von der Vorstellung, dass alles sofort ausgeführt werden muss. Wer wenig zeitsensitive Prozesse aus Spitzenzeiten verlagert, zusammenfasst und Ähnliches kann viel Energie sparen. Das gilt auch für die Entwicklungsprozesse.

Der Einbau externer Abhängigkeiten erfordert große Aufmerksamkeit. Muss eine externe Komponente bei jeder Nutzung eines Programms aufgerufen werden, kann dies den Energieverbrauch erheblich erhöhen. Solche Abhängigkeiten sollten daher sorgfältig durchforstet und wo möglich entfernt werden.

Insgesamt lohnt es sich, auf die Bereiche zu fokussieren, bei denen die erreichten Effekte skalieren. So kann es aus Umweltsicht mehr bringen, für eine viel genutzte App sparsamere Bildformate zu verwenden als an Feinheiten des Entwicklungsprozesses zu basteln.

Bildschirmdarstellung sorgfältig auswählen

Wichtig ist, das richtige Bildformat für die jeweilige Anwendung zu wählen. Wo möglich, sollten Anwender so genanntes Dark Design wählen können.

Das ist ein schwarzer oder dunkler Bildschirm als Hintergrund. Zusammen mit OLED-Bildschirmen kann Dark Design den Strombedarf mobiler Geräte um knapp ein Fünftel senken. Bei Web-Applikationen können Standards wie Progressive Web Applications (PWAs) oder Content Distribution Networks (CDN) Einsparungen bei Stromverbrauch und Datentransfer erwirken.

Agiles Programmieren: Umweltkontrolle bei jedem Sprint

Auch das Arbeiten mit agilen Methoden macht Software umweltfreundlicher, aber nur, wenn nach jedem Entwicklungsschritt Messungen zur Energie-Effizienz und CO2-Erzeugung stattfinden und das Feedback bei der Weiterentwicklung berücksichtigt wird.

Das Messen von Umweltparametern der Software geschieht derzeit nur erratisch und lückenhaft.
Das Messen von Umweltparametern der Software geschieht derzeit nur erratisch und lückenhaft.
(Bild: Green Software Foundation)

Dazu gehört auch, das gewonnene Wissen zu umweltfreundlichem Programmieren zu teilen. Dann können sich Best Practises und Benchmarks entwickeln. Sie ersparen spätere Korrekturen am Code.

Außerdem sollten Hard- und Software-Settings harmonieren. Netzwerkeinstellungen, nicht aktivierte Kompressionsalgos oder Speicherzuweisungen gehören hierher. Solche Konfigurationen sollten verändert werden, selbst wenn das System an sich stabil läuft.

(ID:49773309)