Sustainability in Software Engineering, Teil 3: Datentransfer im Visier

Der Klimawandel ist real, und jeder muss einen Beitrag dazu leisten, ihn zu stoppen – auch und vielleicht sogar gerade Softwareentwickler. Aber wie?

In Pocket speichern vorlesen Druckansicht 22 Kommentare lesen

(Bild: Halfpoint/Shutterstock.com)

Lesezeit: 5 Min.
Von
  • Martin Lippert
Inhaltsverzeichnis

Daten über das Netzwerk zu transportieren, verbraucht Energie und verursacht somit CO2-Emissionen. Wer diese mittels reduziertem Energieverbrauch eindämmen möchte, darf den Datenverkehr über das Netzwerk nicht aus dem Blick verlieren.

Sustainability im Software Engineering – die Kolumne

Durch ihre Aufgaben haben Softwareentwickler ungeahnte Möglichkeiten, die Zukunft zu gestalten. Vielmehr noch es liegt auch in ihrer Verantwortung, für ein besseres Morgen zu sorgen. Eine neue Kolumne auf heise Developer von Martin Lippert.

Betrachtet man den Energieverbrauch des Datenverkehrs sind zwei Größen entscheidend: die Menge der übertragenen Daten und die Distanz, die die Daten zurücklegen müssen. Daraus lassen sich zwei Grundsätze ableiten:

  1. Je weniger Daten die Software über das Netzwerk transportieren muss, desto weniger CO2-Emissionen entstehen.
  2. Je kürzer die Übertragungsstrecke ist, desto geringer ist der Ausstoß an CO2.

Da der genaue Energieverbrauch einer Datenübertragung im Netzwerk und im Internet von zahlreichen Parametern abhängt, variiert er stark. Neben den Parametern Menge und Strecke hängt der tatsächliche Energieverbrauch im Detail zusätzlich von den konkret involvierten Netzwerkknoten und deren Energieeffizienz ab. Daneben spielen die Leitungen zwischen den Knoten und deren genaue Technik eine Rolle.

Um die Auswirkung der Datenmenge zu ermitteln, nutze ich folgende Grundlage: 1 MByte übertragende Daten im Internet benötigen ungefähr 0,0023 kWh Strom. Der Wert stammt aus dem Online-Kurs von Microsoft zum Thema "Sustainable Software Engineering", der wiederum auf eine Studie von "The Shift Project" verweist. Es handelt sich um einen groben Durchschnittswert. Daher eignet er sich aus meiner Sicht nicht, um einen genauen Wert für ein konkretes Fallbeispiel zu berechnen oder abzuleiten, aber er vermittelt einen groben Eindruck von der Größenordnung.

Basierend darauf benötigen 1 GByte übertragende Daten ungefähr 2,3552 kWh. Umgerechnet in CO2-Emissionen ergibt das etwa 1,22 kg CO2.

Ich habe mir meinen Hausanschluss angesehen: Ein Blick in den WLAN-Router offenbarten fast 850 GB an übertragenden Daten in einem Monat. Umgerechnet sind das etwa 1034 kg CO2 – und das in einem Monat. Zur Erinnerung: Der Langstreckenflug, der im zweiten Teil der Serie als Vergleich diente, verursacht etwa 1883 kg CO2 pro Flug in der Economy-Class für einen Passagier.

Korrektur zum Langstreckenflug

Ein Leser hat mich beim vorangegangenen Teil der Artikelserie darauf hingewiesen, dass ich den Langstreckenflug lediglich mit 640 kg CO2-Emissionen ausgewiesen habe, statt den Wert der gesamten Emissionen zu verwenden. Diese Kritik ist berechtigt. Häufig werden Emissionswerte für den Vergleich miteinander in "CO2-äquivalente"-Mengen umgerechnet. Deshalb ist es wenig sinnvoll, reine CO2-Emissionen auf der einen Seite mit CO2-äquivalenten Mengen auf der anderen Seite zu vergleichen. Der korrigierte Wert für den Langstreckenflug ist somit 1883 kg CO2-äquivalente Emissionen statt 640 kg reine CO2-Emissionen. Danke für das Feedback!

Somit lohnt es sich, den Netzwerk-Traffic der eigenen Software im Rechenzentrum anzuschauen und zu analysieren. Monatlich kommen erhebliche Mengen zusammen – sowohl im internen Netzwerk als auch an externen Traffic.

Für Webanwendungen lohnt sich ein Blick in das Buch von Tom Greenwood "Sustainable Web Design" [1], das zahlreiche Wege auflistet, um die Menge der übertragenen Daten für Webanwendungen zum Teil drastisch zu reduzieren. Ein erfreulicher Seiteneffekt ist übrigens, dass der Browser derart optimierte Webanwendungen in der Regel deutlich schneller lädt.

Was für eine hausinterne Software vermutlich keine große Rolle spielt, kann für Software, die in der Public-Cloud läuft, einen großen Unterschied bedeuten. Die Ansätze, die Strecke der Datenübertragung kurzzuhalten, sind allesamt nicht neu. Unternehmen sollten

  • die Region in der Public-Cloud sorgfältig auswählen und dabei die Nähe zu den Benutzern optimieren,
  • auf Content Delivery Networks setzen, um häufig benötigte Daten nahe an den Benutzern zu halten, statt sie über lange Distanzen im Internet zu transportieren und
  • Browser-Cache-Einstellungen verwenden, um Daten und Inhalte möglichst selten neu zu laden.

Hier gilt erneut, dass viele Optimierungen nicht nur die CO2-Emissionen reduzieren, sondern gleichzeitig die Software durch weniger und schnelleres Laden von Daten beschleunigen.

Die Green-Cloud-Computing-Studie zum Thema Video-Streaming vermittelt einen guten Eindruck davon, wie unterschiedliche Technologien bezogen auf die CO2-Emissionen abschneiden:

  • Glasfaser (2g CO2)
  • VDSL (4g CO2)
  • 5G Mobilfunk (5g CO2)
  • 4G Mobilfunk (13g CO2)
  • 3G Mobilfunk (90g CO2)

Die konkreten Zahlen, die sich in dem Fall auf eine Stunde Video-Streaming in HD beziehen, sind wenig aussagekräftig, aber das Verhältnis zueinander ist interessant. Wer die Option hat, Daten über einen VDSL-Anschluss und WLAN zu übertragen, sollte sie nutzen, statt auf das Mobilfunknetz zurückzugreifen. Für Mobilfunknetze ist 5G die bevorzugte Wahl, da es fast an den Energieverbrauch eines VDSL-Anschlusses herankommt.