Get in touch


We use HubSpot CRM to process and manage contact and information requests. Please accept the "Functional Cookies" and reload the page to load the contact form.

Insights / Blog / Tech

Mehr als Bäume pflanzen: Wie nachhaltigere Softwareentwicklung aussehen kann

06. April 2023
Stefan RotschStefan RotschSenior Solution Architect

Der Anteil digitalisierungsbedingter Emissionen steigt. Schon 2018 etwa machten in Frankfurt die Rechenzentren mit 1,3 Terrawattstunden etwa 20 Prozent des Gesamtstromverbrauchs in der Stadt aus. Gleichzeitig steigt auch das Bewusstsein für die Bedeutung – und die Notwendigkeit – von Nachhaltigkeit. Häufig wird „nachhaltiger“ im Digitalisierungskontext allerdings im Sinne von Schadensbegrenzung verstanden: Ökostrom und CO2-Ausgleich übers Bäumepflanzen. Ein Beispiel: Cloud-Computing-Anbieter AWS will bis 2025 komplett auf erneuerbare Energien umgestellt haben und bis 2040 klimaneutral sein. Gerade für Unternehmen, die im Rahmen ihrer Kerntätigkeit viel Energie verbrauchen, beispielsweise durch den Betrieb großer Serverfarmen, ist eine solche Netto-Null-Politik natürlich sinnvoll. Gleichzeitig stellt sich die Frage: Bis 2040 klimaneutral, ist das wirklich das Beste, das wir herausholen können?

Maßnahmen wie das Bäumepflanzen sind ein wichtiger Beitrag zum Klimaschutz, sie setzen aber sehr spät an, nämlich erst dann dann, wenn die negative Auswirkung, in diesem Fall der CO2-Ausstoß, bereits geschehen ist. Wer den eigenen Verbrauch über Ökostrom deckt, ohne ihn zu reduzieren, und die entstehenden Emissionen kompensiert, geht ja im Grunde davon aus, dass sich am Umfang des Energieverbrauchs grundsätzlich nichts ändern lässt. Was aber, wenn wir früher hinschauen und versuchen, generell so energieeffizient wie möglich zu agieren?

Für Softwareprovider und Entwickler:innen eröffnet das also die Frage: Wie kann Green IT aussehen? Wo bietet die Softwareentwicklung Chancen für mehr Nachhaltigkeit – und worauf gilt es dabei besonders zu achten?

Nachhaltigkeit und Software – wie hängt das überhaupt zusammen?

Um die Nachhaltigkeit von Software zu bewerten, müssen beispielsweise die folgenden Faktoren einbezogen werden:

  • Energieverbrauch: Wieviel Energie kosten Entwickeln, Hosten und Ausführen der Software?
  • Energieerzeugung: Aus welchen Quellen stammt der hierfür bezogene Strom?
  • Lebenszyklus: Wie lange kann die Software genutzt werden? Lässt sie sich langfristig erweitern und warten?

Wichtig dabei ist, den Prozess möglichst Ende zu Ende zu betrachten – also vom Server bis zum Endgerät der Endkund:innen.

Nutzen Unternehmen beispielsweise eigene Datencenter und halten dort Kapazitäten für besondere Events vor, etwa Black Friday oder Weihnachten, ist das ganzjährig unnötig ernergieaufwändig, denn der Grundverbrauch ungenutzter Server ist relativ hoch. Das ist leider häufig noch gängige Praxis. Eine effizientere Alternative zu On-Premise-Servern bietet Cloud-Computing mit optimierter Auslastung: Durch lastabhängiges Autoscaling können Ressourcen nach Bedarf allokiert oder freigegeben werden, um Energie (und Kosten) zu sparen und den CO2-Ausstoß zu reduzieren.

Auch die Übertragung bietet Einsparpotenzial: Im Mobilfunk konnte bereits 4G (LTE) gegenüber 3G (UTMS) enorm Energie einsparen, 5G ist nun sogar ähnlich effizient wie Kupferkabel. Auch bei der Festnetzübetragung gibt es deutliche Unterschiede im Energieverbrauch: FFTH ist hier eindeutig die effizienteste Zugangstechnologie, insbesondere im Vergleich zu klassischem ADSL.

Bedenkt man nun, dass Streaming einen Großteil des weltweiten Internet-Traffics ausmacht, wird auch die Frage nach der Auflösung relevant: Denn in 4K verbraucht das Übertragen etwa doppelt so viel Energie wie in HD, auf mobilen Endgeräten ist der Unterschied visuell aber oft gar nicht wahrnehmbar. Eine einfache Stellschraube, um über aktiven (denn leider wird von Anbietern standardmäßig in der maximalmöglichen Auflösung abgespielt) Verzicht bewusst Energie einzusparen.

Stefan Rotsch

Stefan Rotsch

Solution Architect Telco / AOE
Bis 2040 klimaneutral, ist das wirklich das Beste, das wir herausholen können?

Nachhaltige Softwareentwicklung

Natürlich haben Softwareprovider oder gar Entwickler:innen nicht auf alle diese Faktoren Einfluss. Dennoch kann bei der Wahl von Tools, Services und Dienstleistern und beim Entwickeln selbst viel für mehr Nachhaltigkeit getan werden.

  • Hardware, Tools und Services nach Effizienz auswählen: Hardware optimal auslasten (z. B. durch Virtualisierung), Container (statt komplett virtualisiertes Betriebssystem), Function-as-a-Service (Ausführen von Software nur nach Bedarf)
  • Automatisierung durch Infrastructure-as-Code & Abschalten nicht benötigter Infrastruktur: Systeme bei Nicht-Nutzung herunterfahren (z. B. nachts/am Wochenende)
  • Demand Shaping: energieintensive Prozesse an Verfügbarkeit eneuerbarer Energien ausrichten
  • Sinnvolle Auswahl oder Kombination von Programmiersprachen: wenn möglich kompilierte Sprachen (z. B. Rust) verwenden, die bei Ausführung weniger Energie verbrauchen als interpretierte Sprachen
  • Agiles Vorgehen: Software iterativ und Funktionen nur nach Bedarf entwickeln, um Ressourcen zu sparen
  • Modularität & Qualität: durch modulare Architektur und Wiederverwendbarkeit von Modulen Erweiterbarkeit, Wartbarkeit und damit Langlebigkeit sicherstellen
  • Nutzungsdauer Hard- & Software optimieren: beim Entwickeln und auf langlebige Produkte oder Anwendungen setzen
  • Ökostrom: Strom aus nachhaltigen Quellen beziehen

Rebound-Effekt: Obacht, it’s a trap!

Werden Prozesse oder Anwendungen effizienter, spart das nicht nur Energie, sondern auch Zeit. Aus wirtschaftlicher Sicht verleitet das natürlich dazu, diese Ersparnis in neuen Workload zu investieren. Die Entwicklung ist damit immer noch effizienter, allerdings wird letztlich keine Energie gespart – ein Rebound-Effekt. Nachhaltigkeit bedeutet also auch, bewusst auf maximales Wachstum oder maximale Wirtschaftlichkeit zu verzichten.

Fazit: Make IT greener on our side

Nun ist Nachhaltigkeit natürlich nicht mit einer Minimierung des Energieverbrauchs gleichzusetzen – in diesem Kontext spielen noch viele weitere Faktoren eine Rolle. Da wären beispielsweise die genutzten Rohstoffe, die Arbeitsbedingungen bei der Herstellung digitaler Endgeräte und der resultierende Elektroschrott. Heute ist es unmöglich, ein Produkt oder eine Dienstleistung wirklich ganzheitlich Ende zu Ende auf seine Nachhaltigkeit zu prüfen.

Fakt ist: Die Digitalisierung bringt enorme Verteile und viel Potenzial auch hinsichtlich Nachhaltigkeit, sie hat allerdings auch ihren Preis. Es lohnt daher, als Entwickler:in oder Softwareunternehmen genau hinzuschauen, Prozesse, Tools und Arbeitsweisen zu hinterfragen und die kleinen Chancen für „grüneres Coding“ zu ergreifen, wo sie sich bieten. Und regelmäßig ein paar Bäume zu pflanzen, kann sicher auch nicht schaden.

Dieser Artikel von Stefan Rotsch erschien zuerst bei ComputerWeekly. Wir freuen uns über Feedback und das Teilen des Artikels.

Originalbeitrag