Green IT: Warum nachhaltige Softwareentwicklung die Zukunft ist

12.10.2022

Wie jedes Jahr war ich auch in diesem Jahr wieder Teilnehmer auf der Code-Days Messe teil. Ich nutze die Messe gerne, um neuen Input zu erhalten und mir auch Themen anzuhören, die über den Tellerrand eines Entwicklers hinausgehen.

Normalerweise habe ich von den meisten Themen im Vorfeld schonmal etwas am Rande gehört – oder kann mir zumindest ungefähr vorstellen, worum es gehen könnte. Dieses Jahr war das anders. Als ich den Titel „Umweltverträglichkeit von Software & von Cloud-Dienstleistungen auf dem Prüfstand“[1] gelesen habe, hatte ich keine Ahnung was auf mich zukommt, geschweige denn wie sehr dieser Vortrag meinen Blick auf die Softwareentwicklung ändern wird.

Der Vortrag von Marina Köhn vom Umweltbundesamt (UBA), hat mich sehr zum Nachdenken angeregt und schlussendlich auch dazu bewegt, diesen Blogpost zu erstellen.

Es gab vor allem eine Schlüsselaussage für mich, die, wie ich finde, eine sehr dramatische Entwicklung in der Softwareentwicklung aufzeigt:

Während die Hardware immer effizienter wird, wird die Software die darauf läuft immer ineffizienter.

Software wird ineffizienter und braucht mehr Hardware – aber ist das nachhaltig?

Diesen Umstand nennt man „Software Bloat“. Der Begriff bedeutet, dass Software über die Zeit immer ineffizienter wird. Sie braucht mehr Speicherplatz, mehr RAM, mehr CPU und allgemein eine stärkere Hardware als zuvor. Das hat diverse Gründe. Zum einen können durch unausgereifte Anforderungen oder enge Zeitfenster ineffizienterer, unausgereifterer Code zustandekommen. Andererseits kann der erhöhte Bedarf aber auch durch ineffiziente fremd-Libraries in das Projekt reinkommen. Auch das fehlende Bewusstsein für energieeffiziente Software ist ein Problem.[2]

Allgemein kann man aber sagen, dass durch den Umstand, dass die Hardware immer besser wird, die Software gar nicht mehr effizient sein muss. Früher, als man noch begrenzte Ressourcen hatte, musste man darauf achten diese so effizient wie möglich auszunutzen. Energieeffizienz stand insoweit auf der Prioritätenliste, da man keine andere Wahl hatte. Heutzutage spielt das keine Rolle mehr. Man hat nahezu unbegrenzte Möglichkeiten und wenn man in der Cloud ist, kann man seine Performance Probleme mit der Kreditkarte statt mit Algorithmen lösen. Geht der Speicher aus oder ist die CPU zu schwach, bucht man sich einfach eine Stärkere.

ABER: Diese Entwicklung hat nach dem Umweltbundesamt1 (UBA) durchaus Folgen für unsere Umwelt:

  • Steigende Anforderungen der Software führen häufig zur vorzeitigen Hardwareerneuerung
  • Datenintensive Formate und unnötig große Datenmengen belasten die Übertragungsnetze und führen zu großem Speicherbedarf im Rechenzentrum
  • Schlechte Programmierung und ungünstige Softwarearchitekturen führen zu unnötig hohem Energieverbrauch

Blauer Engel für nachhaltige Software?

Das UBA hat das Problem erkannt und versucht Methodiken zu entwickeln, um die Energieeffizienz bei Software messbar zu machen. Ihnen ist es in einer Studie von 2012-2015 gelungen, die Energieeffizienz unterschiedlicher Textverarbeitungsprogramme zu messen. Dabei fiel auf, dass das etablierte Programm ein Vielfaches an Strom, Prozessor und RAM Leistung verbraucht als das Open-Source Pendant3.

Das UBA hat sich für den Blauen Engel folgende übergeordneten Ziele gesetzt1:

  1. Ressourceneffizienz
    a. In welchem Ausmaß werden bei gegebener Funktionserfüllung Hardwarekapazitäten und Energie benötigt; und damit indirekt natürliche Ressourcen beansprucht?
  2. Potenzielle Hardware-Nutzungsdauer
    a. Zu welchem Grad sind Hardware-Erneuerungszyklen von Software-Erneuerungszyklen entkoppelt
  3. Nutzungsautonomie
    a. Welche Möglichkeiten zur Anpassung hat der Nutzende mit dem erworbenen Softwareprodukt?

Was können wir als Entwickler für mehr Nachhaltigkeit in der Software und damit für Green IT tun?

Mitarbeitende von doubleSlash haben sich mit Kolleginnen und Kollegen aus der Branche von QAware und MaibornWolff zusammengetan und das Green Software Development Manifesto gegründet. Sie haben sich als Vision gesetzt, die Softwarebranche klimaneutral zu machen und die ökologische Transformation zu fördern. Denn sie sehen, dass die aktuellen Maßnahmen zur Bekämpfung der Klimakrise nicht ausreichen. Darum übernehmen sie Verantwortung und leisten ihren Beitrag zum Erhalt eines lebenswerten Planeten. Die Mission ist, eine offene Community zu entwickeln mit der sie gemeinsam Maßnahmen und Vorgehensweisen für die ökologische Transformation der Softwarebranche und Gesellschaft erarbeiten.

Jedem steht es frei, dieses Manifest zu unterschreiben und sich darauf zu committen.

Fazit – Eigeninitiative ist der Schlüssel für nachhaltige Software

Ich empfinde die aktuelle Entwicklung der ineffizienten Software sehr bedenklich. Wir können dabei aber nicht alleine darauf hoffen, dass die Behörden das Problem lösen. Als Softwareentwicklerinnen und -entwickler sind wir Teil des Problems. Daher muss das Umdenken bei uns stattfinden. Ein erster guter Schritt dafür ist es, sich das Green Software Development Manifesto durchzulesen und Teil der Community zu werden. Nur wenn wir Umdenken, können wir eine Veränderung herbeiführen.

 

Mehr über unsere Softwareentwicklung erfahren

Quellen

[1] https://www.youtube.com/watch?v=BEo7oFacxz0&t=688s&ab_channel=SIGSDATACOM
[2] https://en.wikipedia.org/wiki/Software_bloat
[3] https://www.umweltbundesamt.de/publikationen/entwicklung-anwendung-von-bewertungsgrundlagen-fuer

Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*