Wir haben uns eine komplette Woche lang mit nachhaltiger Software-Entwicklung / Green IT befasst. Hier erzählt Anita Schüttler Euch, warum, und was unsere Ergebnisse waren.
Das Wichtigste vorab in Kürze:
- IT verschlingt jede Menge Energie, was CO2 verursacht und den Klimawandel befeuert.
- Software kann so gebaut werden, dass sie Ressourcen spart. Wir haben erforscht, wie das geht.
- Unsere Ergebnisse haben wir auf einem Miro-Board zusammengetragen.
Was ist eigentlich das Problem?
Die Rechenleistung von Computern ist seit den Anfängen der IT rasant gestiegen - in 50 Jahren ca. um den Faktor 10 Millionen! Stefan Kruijer verglich das mal mit einem VW Käfer aus den 70er Jahren, der bei gleicher Effizienzsteigerung heute mit 9 Litern nicht mehr nur 100 km weit käme - sondern 30 Mal von der Erde zur Sonne und zurück - Wahnsinn!
Der Energieverbrauch der Hardware ist dabei über die Zeit mehr oder weniger konstant geblieben. Trotzdem schafft es die Software, jegliches Mehr an Effizienz der Hardware wieder "aufzufressen". Dahinter steckt aber bei weitem nicht immer auch ein entsprechender Mehrwert, der diesen Verbrauch rechtfertigen würde.
Gleiches gilt für das Datenaufkommen im Internet. Beim Mobilfunkstandard sind wir inzwischen bei 5G angekommen - 6G befindet sich bereits in der Entwicklung - und mit jedem neuen Standard kommen deutliche Effizienzgewinne in der Datenübertragung dazu. Auch hier führt der Rebound-Effekt dazu, dass in der Folge noch viel mehr konsumiert wird als zuvor und sich das absolute Aufkommen an Datenübertragung rasant erhöht.
Das Problem dabei: Die Hardware, auf der die Software läuft und die nur aus diesem Grund existiert, verbraucht jede Menge Strom, der immer noch überwiegend aus fossilen Energien stammt. Wäre das Internet ein Land, läge es mit seinem CO2-Aufkommen auf Platz 6 hinter China, den USA, Indien, Russland und Japan!
All das macht deutlich: Was wir eigentlich brauchen, ist nicht nur Effizienz (die ist sogar mit Vorsicht zu genießen!), sondern Effektivität ("getting the job done") und vor allem Suffizienz (by design weniger Verbrauch durch die Software).
Ein Thema, eine Woche Forschung: das "Lab"!
Das Lab-Format dient bei neuland dazu, in kurzer Zeit umfangreiches Wissen und am besten auch erste Praxiserfahrung mit einem neuen Thema zu generieren. Dazu ziehen sich alle, die teilnehmen, eine ganze Woche lang aus ihrem Team heraus, um gemeinsam zu dem jeweiligen Thema zu forschen und Dinge auszuprobieren.
Ende September fand ein solches Lab statt, was sich dem Thema "Nachhaltige Software-Entwicklung" widmete. Wir wollten herausfinden, was wir in unserem Projektalltag tun können, um den Energieverbrauch und damit auch das CO2-Aufkommen von Software zu reduzieren. Urpsprünglich war auch geplant, die Grundlagen für ein Tool zu legen, was, einmal in die CI/CD Pipeline eingehängt, den Verbrauch der Software in ihrer jeweiligen Version vorhersagen können sollte. Diesen Plan haben wir im Lauf der Woche aufgegeben - aber dazu später mehr.
Zum Auftakt fuhren wir einen Tag lang zur EnviroInfo in Hamburg, die unter dem Dach der GI Jahrestagung stattfand. Gleich am Montag wurden mehrere Talks zum Thema Green Coding gehalten, so dass wir beschlossen, uns den dort präsentierten Stand der Dinge anzuschauen. Vom Ergebnis waren wir etwas enttäuscht - die Flughöhe der Inhalte war relativ hoch und es gab für uns fast nichts Konkretes, was wir für unseren Alltag hätten mitnehmen können. Unser Eindruck war, dass man tatsächlich selbst noch etwas Hilfreiches zum Thema beisteuern kann.
Ab Dienstag arbeiteten wir uns durch eine Liste an Lesestoff und Videos, die ich als Vorbereitung über einen längeren Zeitraum hinweg gesammelt hatte.
Ein paar unserer Erkenntnisse:
- Das A und O ist gutes Handwerk, und Software, die datensparsam und auf Performanz optimiert ist, spart auch Energie.
- Netzwerk-Traffic sparen, wo immer es geht!
- Nur das laden, was wirklich gebraucht wird, und erst dann, wenn es gebraucht wird!
- Regelmäßig aufräumen und ungenutzten Code entfernen!
- Den tatsächlichen Verbrauch zu messen, ist ziemlich kompliziert - daran wird aber schon gearbeitet.
Wir stießen auf mehrere Organisationen, die sich zum Ziel gesetzt haben, den Ressourcenverbrauch von Software zu reduzieren. Eine möchte ich hervorheben als die, die mir am vielversprechendsten erscheint: Die SDIA, die "Sustainable Digital Infrastructure Alliance". Das ist eine NGO, die über mehrere europäische Länder hinweg gemeinsam an einer Roadmap 2030 arbeitet und in Sachen Messen von Verbrauch schon gute Fortschritte vorzuweisen hat. Und tatsächlich wird auch schon an einem Tool für die CI/CD-Pipeline gearbeitet! Unser Ziel ist also, uns dort mit einzubringen, anstatt selbst das Rad neu zu erfinden.
Da es uns wichtig war, im Lab konkrete Handlungsempfehlungen für den Projekt-Alltag zu erarbeiten, gibt es unsere Materialsammlung und einen übersichtlich gestalteten Katalog mit Empfehlungen für verschiedene Rollen auf einem öffentlichen Miro-Board. Die SDIA hat auch eine (sehr umfangreiche) Sammlung zusammengestellt.
Zum Abschluss der Woche fuhren wir von Freitag bis Sonntag zusammen nach Berlin zur Bits & Bäume. Hier gab's über 2,5 lange Tage verteilt nochmal eine riesige Menge an Input - insgesamt 285 Programmpunkte, sowohl im "Bits"-, als auch im "Bäume"-Teil der Konferenz angesiedelt, mit neuen persönlichen Kontakten, noch mehr konkretem Input für unseren Alltag und auch so einigen Denkanstößen für die gesellschaftlichen Auswirkungen und Chancen der Digitalisierung.
Wie geht es weiter?
Wir machen uns jetzt intern daran, die gewonnenen Erkenntnisse zu verbreiten und in unseren Projekten umzusetzen. Außerdem wollen wir uns auch weiter gemeinsam mit anderen Firmen in der IT-Branche dafür einsetzen, dass nachhaltige, ressourcensparende Software zur Norm wird.