Autor:innen: Linda Schmeißer, Niklas Teichmann
Bei der Betrachtung der Auswirkungen von Software auf das Klima gilt: Zwar verbraucht die Hardware die Energie, aber die Software löst den Energieverbrauch aus. Doch wie können Nutzerinnen und Nutzer, Entwicklerinnen und Entwickler überprüfen, welche Auswirkung ihre Software auf das Klima hat? Und welche Kriterien sollte nachhaltige Software erfüllen?
Warum ist ressourcensparende Software wichtig?
Die Informationstechnologie hat einen Anteil von fast 4 % der weltweiten
CO2-Emissionen erreicht und ist damit ähnlich klimaschädlich wie der weltweite Flugverkehr. Gleichzeitig zeigen Studien, dass die Digitalisierung auf dem Weg zu einer nachhaltigeren Gesellschaft enormes Potential bietet. Hierbei gilt: Der Begriff der
ressourcenschonenden Software ergibt nur insofern Sinn, als dass es keine analogen Lösungen gibt, die ressourcensparender sind.
Ein Spaziergang ist umweltverträglicher als einen Film in 4K zu streamen. Ein netter Abend mit Freundinnen und Freunden ist ressourcenschonender als 2 Stunden am Tag mit Social Media zu verbringen. Wenn Software so designt ist, dass sie Abhängigkeiten fördert, wie beispielsweise gängige Social Media Plattformen, so ist das nicht nur nachteilig für das soziale Miteinander, sondern auch für den Ressourcenverbrauch.
Es ist aber nicht nur wichtig, was digitalisiert wird, sondern auch wie. Schon kleine Anpassungen können die Energiebilanz einer Anwendung erheblich verbessern. Das erhöht die Performance der Anwendung und spart Strom- und Serverkosten. In Hinblick auf die aktuellen Klima- und Energiekrisen dürfte dieses Thema an Bedeutung gewinnen. Im Koalitionsvertrag der aktuellen Bundesregierung wird bereits als Ziel formuliert, Zertifizierungen für Nachhaltigkeit, wie z. B. den Blauen Engel für ressourcen- und
energieeffiziente Softwareprodukte, für IT-Beschaffungen des Bundes zum Standard zu machen. Doch als erstes muss der Umwelteinfluss der Software ermittelt werden.
Schnell, aber unpräzise: Online-Tools
Mit Hilfe von einigen Online-Tools lässt sich der CO2-Fußabdruck von einzelnen Webseiten einfach durch die Eingabe der entsprechenden URL prüfen. Mit dem Online-Check der Green Web Foundation zum Beispiel lässt sich in einem ersten Schritt herausfinden, ob
eine Seite auf Servern gehostet wird, die mit erneuerbaren Energien betrieben werden oder eine Form der CO2-Kompensation verwenden. Der Web Carbon Calculator verrechnet
diese Information mit der Menge der von der Seite übertragenen Daten und einem durchschnittlichen Wert für die Energieintensität von Web-Daten. So erhält man einen ungefähren Wert, wie viel CO2 durch den Aufruf der Website ausgestoßen wurde. Außerdem stellt das Tool den CO2-Ausstoß in ein Verhältnis mit anderen Seiten.
Abb. 1 Beispiel Ergebnisse des Web Carbon Calculator für istqb.org und german-testing-board.info. Beim Vergleich von ähnlichen Webseiten haben solche Tools ihre größte
Stärke.
Mehr Aussagekraft hat das OnlineTool und Browser Add-On Digital Beacon. Hier geht in die Berechnung des CO2-Fußabdrucks ein, wie viele Daten gecached werden, also bei
einem zweiten Besuch der Website nicht mehr neu geladen werden müssen und daher den Datenverkehr verringern. Kennt man zusätzlich die monatlichen Website-Aufrufe und wie viele der Userinnen und User die Seite zum ersten Mal besuchen, so kann man den monatlichen CO2-Ausstoß der Website hochrechnen lassen. Besonders interessant an Digital Beacon ist, dass es Hinweise zu besonders energieintensiven Bereichen der Seite liefert und somit den Entwicklerinnen und Entwicklern einen ersten Ansatz zur schnellen und effizienten Reduzierung des CO2-Fußabdrucks gibt.
Alle drei Tools können, sofern es sich um eine Web-Anwendung handelt, einen guten ersten Eindruck des CO2-Fußabdrucks bieten. Die Tools arbeiten aber mit Durchschnittswerten und Schätzungen und können kein realistisches Nutzenden-Verhalten abbilden. Sie sind also am ehesten eine Art Smoke-Test im Bereich des Testens auf Nachhaltigkeit und haben ihre Stärke eher beim Vergleichen von ähnlichen Webseiten untereinander.
Anspruchsvoll: (Continous) Performance Testing
Um den Ressourcen- und Energieverbrauch tatsächlich beurteilen zu können, sollten ganze Geschäftsprozesse und typische Nutzungsverhalten untersucht werden. Aus Datenströmen, CPU-Auslastung und Speichernutzung kann der Energieverbrauch und somit der CO2-Ausstoß der Software in realistischen Szenarien gemessen, berechnet und beurteilt werden.
Hilfreich und notwendig hierfür sind Kenntnisse im Performance-Testing sowie möglichst genaue Daten über das Verhalten der Nutzerinnen und Nutzer der Anwendung. Das Open Source Projekt Green Me trics Tool unterstützt dabei, den CO2-Fußabdruck der Software zu errechnen. Für die leichtere Implementierung und Vergleichbarkeit arbeitet das Tool nur in containerisierten Umgebungen. Hier müssen die Anwendungen (egal ob Desktop- oder Web-Anwendung) aufgerufen und ein Standard-Nutzenden-Verhalten durchgeführt werden.
Das Green Metrics Tool misst und berechnet die CPU-, Speicher- und Netzwerkauslastung innerhalb des Containers. Abhängig vom Standort und dem lokal üblichen Anteil an erneuerbarer Energie im Strommix berechnet das Tool den CO2-Ausstoß des getesteten Use Case Szenarios. Die Ergebnisse werden visualisiert und durch die containerisierte Umgebung vergleichbar.
Schon während der Entwicklung einer Anwendung kann so der Ressourcenverbrauch untersucht und stetig verbessert werden. Mit Continuous Performance-Testing, also der Einbindung von kurzen PerformanceTests in eine CI/CD Pipeline, können umweltschädliche Softwarelösungen frühzeitig noch während des Entwicklungsprozesses erkannt und überarbeitet werden.
Umfassend: Der blaue Engel
Umfassender als eine reine Untersuchung des Ressourcenverbrauchs sind die Anforderungen des Blauen Engels für ressourcen- und energieeffiziente Softwareprodukte.
Der Blaue Engel ist ein Zertifikat, das u. a. vom Bundesministerium für Umwelt und dem Umweltbundesamt für besonders umweltschonende Produkte vergeben wird. Ziel ist, für
Unternehmen einen Ansporn zur Reduktion der Umweltschäden zu schaffen und für Konsumentinnen und Konsumenten sowie die öffentliche Hand beim Erwerb Transparenz und Gewissheit über die Nachhaltigkeit des Produkts zu ermöglichen.
In Bezug auf Software bedeutet das, dass mit einem Performance Test der Energieverbrauch im Leerlauf und im Normalbetrieb untersucht wird. Darüber hinaus werden Aspekte wie Werbefreiheit, Modularität und rückstandslose De-Installierbarkeit der Anwendung betrachtet – alles im Hinblick auf die Vermeidung von unnötigen Datenströmen oder Speichernutzungen. Außerdem wird der Einfluss von Software auf die Möglichkeiten der Hardwarenutzung untersucht.
Je weniger die Software die Hardware belastet, desto länger ist die Nutzungszeit des Geräts. Unter dem Stichwort Abwärtskompatibilität wird sichergestellt, dass die Software auf mindestens 5 Jahre alten Referenzsystemen lauffähig sein muss. So wird eine längerfristige Nutzung von älterer, aber funktionierender Hardware möglich und die Software trägt zur Vermeidung von Elektromüll bei. Der Softwarehersteller verpflichtet sich außerdem, für mindestens 5 Jahre Updates bereitzustellen, die nachweislich den Energieverbrauch um maximal 10 % erhöhen.
Die Erlangung des Umweltzeichens ist anspruchsvoll. Den Blauen Engel für ressourcen- und energieeffiziente Softwareprodukte gibt es seit etwa 3 Jahren, bisher wurde mit dem Dokumentenbetrachter Okular nur ein einziges Produkt ausgezeichnet.
Abb. 2 : Der Dokumentenbetrachter Okular ist bisher das einzige Programm, das mit dem Blauen Engel ausgezeichnet wurde. Quelle: Der Blaue Engel
Fazit: Testen, Testen, Testen
Was genau nachhaltige Software ist und was nicht, wie die Anforderungen zu formulieren sind und welche Standards bei der Programmierung und dem Testen genutzt werden, hat
sich noch nicht etabliert.
Es gibt beim ISTQB auch noch kein Qualitätsmerkmal Nachhaltigkeit. Das gesamte Feld ist neu, es wird viel experimentiert und selbst das Umweltzeichen Blauer Engel kann noch keine quantitativen Mindestanforderungen an die Performance-Eckdaten stellen, sondern fordert lediglich, dass diese in einem ersten Schritt erhoben werden. Es fehlen ausreichende Referenzdaten und Erfahrungswerte. Das ist der Grund, warum in der aktuellen Phase das Testen eine ganz besondere Rolle einnimmt.
Die Erkenntnisse können Entwicklerinnen und Entwickler bzw. Stakeholderinnen und Stakeholder als Referenzrahmen nutzen, um an einer stetigen Verbesserung des Ressourcenverbrauchs der Software zu arbeiten. Wie viel dabei verbessert werden kann, hängt von der Art der Software und dem Entwicklungsstand ab.
Durch eine Performanceverbesserung allein der Antwortzeiten eines Systems um nur knapp 20 %, sind Ressourceneinsparung von über 70 % in Bezug auf die Hauptspeicher- und CPU-Auslastung im Rahmen des Möglichen. In diesem Sinne besteht durchaus auch ein wirtschaftliches Interesse, die Entwicklung ressourcenschonender Software voranzutreiben.