Der digitale Sektor ist mittlerweile für ca. 4% der weltweiten CO₂-Emissionen verantwortlich, wobei die Emissionen aufgrund des vermehrten KI-Einsatzes voraussichtlich noch steigen werden1. Mit der Anwendung von Green Software Engineering kannst du dazu beitragen, die Emissionen zu verringern. Hier gebe ich dir einen Überblick dazu, welche Möglichkeiten du dafür hast und wie du dich zu dem Thema weiterbilden kannst.
Was ist Green Software Engineering?
Green Software Engineering bezeichnet die Entwicklung von ressourcenschonender, energieeffizienter Software. Dabei werden alle Ebenen des Softwareentwicklungsprozesses umfasst, von der Planung des Projekts, über die Implementierung bis zum finalen Betrieb inklusive Wartung2.
7 Tipps zur energieeffizienten Gestaltung von Software
1. Daten und Datennutzung minimieren
Je weniger Daten gespeichert, übertragen und verarbeitet werden, desto weniger Energie wird benötigt. Lösche daher ungenutzte Daten regelmäßig, komprimiere große Daten und vermeide unnötige Datentransfers.
2. Effiziente Datenverarbeitung
Durch intelligentes Caching kannst du unnötige Zugriffe auf Datenbanken und externe Services vermeiden. Implementiere effiziente Algorithmen und Datenstrukturen. Lade nur die Daten, die du brauchst. Mit Batch-Operationen kannst du mehrere Datenbankabfragen zu einer zusammenfassen.
3. Carbon-Aware Computing
Die CO₂-Intensität des Stroms variiert je nach Tageszeit und Region – abhängig davon, wie viel erneuerbare Energie gerade verfügbar ist. Mit dem Carbon Aware SDK der Green Software Foundation3 kannst du rechenintensive Aufgaben automatisch zu Zeiten mit niedriger CO₂-Intensität ausführen oder Workloads in grünere Cloud-Regionen verschieben.
4. Wahl des KI-Modells
KI-Modelle sind unterschiedlich energieeffizient und werden teils mit erneuerbaren und teils mit nicht erneuerbaren Energien betrieben. Es ist sinnvoll, rechenintensive KI-Modelle daher nur dann zu wählen, wenn sie wirklich benötigt werden. Mehr zum Energieverbrauch von KI erfährst du in diesem Blogartikel4 von meinem Kollegen.
5. Wähle eine energieeffiziente Programmiersprache
Eine Studie aus Portugal von 2021 hat die Energieeffizienz verschiedener Programmiersprachen miteinander verglichen.5 Es wurde die Ausführungszeit sowie die Spitzenspeicherauslastung gemessen. Beides wurde in Bezug zum Energieverbrauch gesetzt.6
Die Top 5 der energieeffizientesten Sprachen sind:
- C (1,00 Joule)
- Rust (1,03 Joule)
- C++ (1,34 Joule)
- Ada (1,70 Joule)
- Java (1,98 Joule)
Recht weit unten im Ranking befindet sich Python mit 75,88 Joule 6.
6. Code nur bei Bedarf ausführen
Code sollte nur dann laufen, wenn er auch benötigt wird. Prüfe, ob event-basierte Reaktionen nicht besser zu deinem Use-Case passen als Polling. Stoppe lokale Datenbanken, Server und Container, wenn du sie nicht brauchst. Reduziere oder pausiere Hintergrundaktivitäten wie Animationen oder Auto-Refresh, wenn Nutzer inaktiv sind. Lade Module und Daten erst, wenn sie benötigt werden.
7. Energieverbrauch messen und optimieren
Indem du den Energieverbrauch deiner App sichtbar machst, kannst du diesen optimieren. Dafür kommen verschiedene Tools infrage:
- Performance-Profiling: Mit Performance-Profilern, wie z.B. Chrome DevTools, IntelliJ Profiler, oder dem Visual Studio Profiler kannst du energieintensive Codeabschnitte identifizieren.
- Cloud-Monitoring: Über die Dashboards der Cloud-Provider kannst du dir die CPU- und Memory-Auslastung ansehen. Zudem werden auch CO₂-Metriken angezeigt, wie z.B. über die AWS Sustainability Console7 oder den Google Cloud Carbon Footprint8.
- Websites: Zur Erfassung des CO₂-Verbrauchs von Websites gibt es den Website Carbon Calculator .
Im Kern solltest du anstreben, den Code so zu optimieren, dass er für eine bestimmte Aufgabe die minimal erforderliche Menge an Energie verbraucht. Es kommt daher nicht nur auf die Geschwindigkeit an, sondern auch auf die dabei benötigte Energie.
Green Software Foundation
Die Green Software Foundation ist eine globale Non-Profit-Organisation, die nachhaltige Softwareentwicklung fördert. Sie wurde 2021 unter dem Dach der Linux Foundation von Accenture, GitHub, Microsoft, und ThoughtWorks gegründet. Mittlerweile wird sie auch von vielen weiteren Unternehmen unterstützt.9
Was die Green Software Foundation anbietet:
- Standards: Ein wichtiger Standard ist die Software Carbon Intensity (SCI) als Metrik zur CO₂-Messung von Software
- Open-Source-Tools: Verschiedene Tools zur Unterstützung nachhaltiger Softwareentwicklung wie das Carbon Aware SDK, welches bei Tipp 3 vorgestellt wurde
- Weiterbildung: Kostenloser Kurs für das Green Software Practitioner Zertifikat
- Best Practices: Der Green Software Patterns Catalog bietet eine Sammlung bewährter Muster für den gesamten Lebenszyklus nachhaltiger Software
- Community: eine Plattform zum Austausch zum Thema Green Software für jeden Interessierten
Blauer Engel für ressourcen- und energieeffiziente Software
Wenn du deine Software auf Umweltverträglichkeit prüfen und zertifizieren lassen möchtest, steht dir eine Zertifizierung mit dem Blauen Engel für ressourcen- und energieeffiziente Software offen.10
Der Blaue Engel ist das weltweit erste Umweltzeichen für Software und wird seit 2020 vergeben.10 Ressourceneffizient bedeutet, dass Hardware möglichst schonend genutzt wird, was die Lebensdauer der Geräte verlängert und somit Elektroschrott reduziert.
Was wird geprüft?
Die Software muss für die Zertifizierung verschiedene Anforderungen erfüllen, welche durch die Vergabekriterien DE-UZ 215 definiert werden.11
Die Anforderungen gliedern sich in diese Bereiche:
- Ressourcen- und Energieeffizienz: Die Software muss ihre Funktionalität mit minimalem Ressourcenaufwand und Energiebedarf erbringen.
- Potentielle Hardware-Nutzungsdauer: Die Software muss auf Hardware der jeweiligen Computer-Plattform (PC, Smartphone, Server) aus einem Kalenderjahr lauffähig sein, das mindestens fünf Jahre vor Antragstellung liegt.
- Nutzungsautonomie: Die Software soll die Entscheidungsfreiheit der Nutzenden im Umgang mit dem Produkt nicht einschränken und es soll keine Abhängigkeiten schaffen, wie z.B. einen “Vendor Lock-in”. 11
Einige zertifizierte Anwendungen sind Nextcloud, Okular (Dokumentenviewer) und OpenCloud.10
Vorteile der Zertifizierung
Das Umweltzeichen bietet eine Differenzierung am Markt gegenüber Wettbewerbern ohne Zertifizierung. Zudem kann der Blaue Engel bei Ausschreibungen der öffentlichen Hand positiv gewichtet werden12.
Kosten
Die Kosten für die Zertifizierung liegen für die erstmalige Beantragung bei 600 Euro. Hinzu kommt ein Jahresbeitrag, welcher sich am Jahresumsatz des Unternehmens orientiert.13
Fazit
Green Software Engineering führt nicht nur zu CO₂-Einsparungen, sondern reduziert durch seine Energieeffizienz auch die Kosten des Betriebs. Wenn du dich von der Vielzahl der Ansätze überwältigt fühlst: fang einfach mit der Umsetzung eines Tipps an. Der Code muss nicht bis ins kleinste Detail optimiert werden, um einen messbaren Unterschied zu erzielen. Jeder Schritt zählt und ist besser als keiner!
Die Community der Green Software Foundation kann dich auf deinem Weg begleiten.
Quellen:
Green Coding “Mit stromsparender Software zu einer nachhaltigen Digitalisierung” - 2.1 Begriffsdefinition Green Coding - https://www.dena.de/infocenter/green-coding-mit-stromsparender-software-zu-einer-nachhaltigeren-digitalisierung
https://www.codecentric.de/wissens-hub/blog/ai-everywhere-watt-now
https://www.richard-seidl.com/de/podcast/blauer-engel-software/
https://www.blauer-engel.de/de/zertifizierung/kosten-der-beantragung
Weitere Artikel in diesem Themenbereich
Entdecke spannende weiterführende Themen und lass dich von der codecentric Welt inspirieren.
Blog-Autor*in
Anja Bender
Softwareentwicklerin
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.
Du hast noch Fragen zu diesem Thema? Dann sprich mich einfach an.