Podcast

Nachhaltige Softwareentwicklung

Den ökologischen Fußabdruck unserer Software minimieren

„Wenn man sich mit ökologischer Nachhaltigkeit beschäftigt, dann reicht es nicht, nur die Reisen zu reduzieren oder im Büro etwas zu tun. Die Software, die wir entwickeln, hat einen großen Einfluss darauf, wie viele CO₂-Emissionen wir verantworten“. In der ersten Folge unserer Serie zum Thema „Nachhaltige Softwareentwicklung“ spricht Daniel Westheide darüber, wie wir den ökologischen Fußabdruck von Softwareprodukten reduzieren können, welche Prinzipien dahinterstehen und wie bereits kleine Schritte helfen können.
Listen to other episodes

Shownotes & Links

Transkript

show / hide transcript

Lucas

Hallo und herzlich Willkommen zu einer neuen Folge des INNOQ Podcasts. Heute wollen wir über ökologisch nachhaltige Softwareentwicklung sprechen und dafür habe ich mir den Daniel eingeladen. Hallo Daniel.

Daniel

Hallo Lucas.

Lucas

Daniel ist Senior Consultant bei INNOQ und ist wie ich auch sowohl in der Entwicklung als auch in der Architektur unterwegs. Heute wollen wir unseren Podcast erst mal mit dem Allgemeinen starten. Warum muss man überhaupt über Nachhaltigkeit in der Softwareentwicklung sprechen? Aber wir haben auch schon vor, eine weitere Folge aufzunehmen. Dazu später mehr. Aber erst mal Daniel, wir haben als INNOQ auch schon vor einiger Zeit angefangen unseren ökologischen Fußabdruck erst mal ein bisschen kritischer zu betrachten. Was haben wir denn da vorab schon getan? Welche Maßnahmen haben wir ergriffen, welche Sachen haben wir entdeckt?

Daniel

Vor allem wird durch das Engagement von Christoph Wiemers, der dazu auch vor ein paar Jahren einen Artikel geschrieben hat, was wir da alles schon gemacht haben, ist da einiges passiert. Wir haben in sämtlichen unserer Büros mittlerweile Ökostromtarife. Ich weiß von mindestens einem Büro, dass wir eine intelligente Heizungssteuerung haben. Und wahrscheinlich noch wichtiger ist, dass wir auch schon vor der Pandemie angefangen haben, weniger zu reisen und vor allem aber auch Flüge durch Zugfahrten zu ersetzen. Und das ist auch so geblieben.

Lucas

Ich glaube, das hat sich jetzt auch durchgesetzt. Und ich glaube tatsächlich, dass viele von uns mittlerweile wesentlich mehr remote arbeiten, als sie das früher getan haben. Aber ich glaube, es ist trotzdem so, als du dir das Thema nochmal angeschaut hast, dass wir da vielleicht uns mit anderen Teilen unserer Arbeit, vor allem mit unserer Entwicklungs- und Architekturarbeit vielleicht nicht mit beschäftigt haben. Was ist dir da aufgefallen?

Daniel

Wenn man sich mit ökologischer Nachhaltigkeit beschäftigt, dann reicht es eigentlich nicht, nur die Reisen zu reduzieren oder im Büro etwas zu tun. Denn die Software, die wir entwickeln, die hat auch natürlich einen ziemlich großen Einfluss darauf, wie viele CO₂ Emissionen wir zum Beispiel zu verantworten haben bzw. die Software, wenn sie dann betrieben wird. Und das ist natürlich ein Aspekt, den wir bisher so nicht berücksichtigt hatten. Wir haben uns darauf beschränkt, die Art, wie wir arbeiten, zu verändern.

Lucas

Wie würdest du das denn abwägen? Siehst du das als einen größeren Einflussfaktor oder einen kleineren Einflussfaktor?

Daniel

Das lässt sich leider gar nicht so einfach sagen. Es hängt natürlich auch stark davon ab, wie viele Nutzer eine Anwendung, die wir entwickeln, überhaupt hat. Wie groß der Einfluss ist, wenn man diese ökologisch nachhaltig entwickelt oder das eben nicht tut. Aber grundsätzlich kann man schon sagen, dass der Einfluss doch essenziell ist, den man hat. Die Software, die wir entwickeln ist nicht nur ein Produkt. Und wenn wir bei allen diesen Software-Produkten, die wir entwickeln, ein bisschen mehr auf Nachhaltigkeit achten, dann hat das schon einen großen Effekt.

Lucas

Aber ich vermute mal, das ist auch gar nicht so leicht. Man kann jetzt nicht einfach eine Software anschauen, vielleicht noch die Userzahlen dazunehmen und dann ausrechnen, was der Stromverbrauch ist, oder?

Daniel

Nein, das ist überhaupt nicht einfach. Vielleicht kommen wir da nachher auch noch mal darauf zu sprechen, wie und ob man so was überhaupt messen kann. Grundsätzlich unterscheidet man bei Informationstechnologie, wenn man sich den Energieverbrauch oder auch den Ausstoß von Treibhausgasen anschaut, zwischen Effekten erster, zweiter und dritter Ordnung. Effekte der ersten Ordnung, da bezieht man sich auf die Energie, die benötigt wird, um diese Informationstechnologie oder auch Softwareprodukte in unserem Fall zu produzieren und sie zu benutzen. Effekte der zweiten Ordnung sind die direkten Konsequenzen der Nutzung dieser Produkte. Zum Beispiel, wenn es das Reiseverhalten von Leuten ändert, dadurch, dass sie eine bestimmte Software nutzen. Effekte der dritten Ordnung sind langfristige Anpassungen der Gesellschaft und Innovationen, die durch IT ermöglicht werden. Wir beschränken uns jetzt hier auf Effekte erster Ordnung. Das ist eigentlich schon schwierig genug, da die Effekte zu messen.

Lucas

Weil für die zweite und dritte Ordnung müsste man fast schon irgendwie soziologisch vorgehen, um das zu analysieren.

Daniel

Genau. Es gibt auch zum Teil Studien, die dann zu überraschenden Ergebnissen kommen. Da habe ich jetzt vor kurzem eine Studie gesehen, die herausgefunden hat, dass Telearbeit, also Remote Work, tatsächlich nicht zu weniger Reisen, sondern oft zu mehr Reisen bei den entsprechenden Leuten führt. Das ist erst mal nicht intuitiv, aber da gibt es wahrscheinlich komplexere Wechselwirkungen.

Lucas

Und wahrscheinlich kann man das auch nicht so ganz generell für alle beantworten. Wahrscheinlich ist das auch ein Vergleich zwischen Leuten, die vielleicht auch in derselben Stadt wohnen und dann auch dort das Büro haben, im Vergleich zu Leuten, die sich dann vielleicht für eine Off-Site mehrfach treffen.

Daniel

Ja, ich glaube in dem Fall ist es auch so, dass Telearbeit dann tendenziell auch eher aufs Land hinausziehen, weil sie nicht mehr in der Nähe des Büros wohnen müssen. Und wenn sie dann mal reisen müssen, ist es umso länger.

Lucas

Als jemand, der auch auf das Land gezogen ist, kann ich das bestätigen. Aber wenn wir jetzt mal diese Aspekte und ein bisschen raus sortieren und uns auf die erste Ordnung konzentrieren. Was kann ich denn tun, um ökologisch nachhaltige Software zu entwickeln?

Daniel

Es gibt natürlich viele Maßnahmen, die man treffen könnte. Ich würde jetzt einfach mal anfangen, ein paar Prinzipien, die jemand anderes schon destilliert hat, vorzustellen. Die sind ein bisschen allgemeiner gehalten und die findet man auf der Website principals.green. Und die sind unabhängig, im Grunde von der Fachlichkeit, von der Branche, Programmiersprache und so weiter. Und aus denen kann man aber dann wiederum ganz gut konkrete Maßnahmen ableiten. Und das erste Prinzip, ist, dass man die Carbon Efficiency, also die Carbon-Effizienz, maximieren solle. Und diesem Prinzip sind im Grunde alle anderen untergeordnet. Darum geht es letztendlich die Emissionen von CO₂und anderen Treibhausgasen zu minimieren. Das heißt jetzt nicht, dass man sie irgendwie auf null bringt. Das ist jetzt hier nicht damit gemeint mit diesem Ziel, auch wenn das natürlich wünschenswert wäre. Aber es geht eben darum, sie nicht zu verschwenden. Anwendungen sollten möglichst noch den gleichen Wert liefern und dabei möglichst wenig CO₂emittieren. Beziehungsweise CO₂Äquivalente ist eigentlich die Metrik, um die es hier geht. Weil es noch andere….

Lucas

Wenn es jetzt Methan ausstoßen würde, wäre das jetzt nicht hilfreich, oder?

Daniel

Genau.

Lucas

Aber das heißt aber ist, dieses Prinzip, auf dem basieren die anderen Prinzipien, über die wir jetzt gleich sprechen werden oder ist das schon in sich ein Prinzip, aus dem man irgendwelche Maßnahmen ableiten kann?

Daniel

Eigentlich kann man aus diesem Prinzip noch nicht so konkrete Maßnahmen ableiten. Das würde ich eher über den anderen Prinzipien stehen sehen.

Lucas

Verstehe. Ich kann mir jetzt mal vorstellen, ich versuche meine Software so zu bauen, dass meine Software einfach weniger Strom verbraucht. Vielleicht können wir auch gleich mal über Möglichkeiten sprechen, wie das gehen würde. Wäre das jetzt zum Beispiel das erste Prinzip, Energy Efficiency, glaube ich noch?

Daniel

Ja, Energy Efficiency ist das zweite Prinzip. Das kann man im Grunde als Proxy für Carbon-Effizienz sehen, weil heutzutage eben doch noch relativ viel Strom oder auch Energie durch fossile Energieträger erzeugt wird, also Kohle und Gas. Deswegen heißt es natürlich: Je weniger Strom ich verbrauche, desto besser ist auch meine Carbon-Effizienz. Aber auch wenn das nicht der Fall wäre, wenn ich also erneuerbare Energien nur benutzen würde, sollte man die natürlich auch nicht verschwenden, weil auch die Herstellung von Photovoltaikanlagen, Windkraftanlagen und so weiter verursacht eben auch CO₂Emissionen.

Lucas

Ich würde sogar noch ergänzen, wenn wir jetzt diesen Teil mal rausnehmen, tun wir jetzt mal so, als hätten wir einen Weg gefunden, wirklich CO₂-neutral Energie zu erzeugen. Auch wenn man da jetzt die ersten und zweiten und dritte Ordnungseffekte betrachtet, dann wäre es trotzdem noch so, dass wir irgendwie eine beschränkte Gesamtmenge von Energie haben. Das heißt, wir müssen auch dann überlegen, vielleicht versuchen wir weniger Ökostrom auch zu verbrauchen, damit der Ökostrom auch noch für andere Sachen übrig ist. Das ist auch nicht zu unterschätzen, dieser Effekt.

Daniel

Ganz genau. Da sprichst du einen wichtigen Punkt an und es ist auch so. Vielen ist glaube ich gar nicht bewusst, wie viel Strom Informationstechnologie oder das Internet überhaupt benötigt. Da kann ich vielleicht mal ein paar Zahlen zu nennen: Im Jahr 2010 war der Stromverbrauch durch Informationstechnologie weltweit 2000 Terawattstunden. Und Schätzungen zufolge kann das bis 2030, der Worst Case auf 8000 Terawattstunden steigen. Oder relativ gesehen ist es so, 2012 war das Internet für 4,7 % des weltweiten Stromverbrauchs verantwortlich. Das ist schon ziemlich viel im Übrigen, ungefähr auf dem Niveau von Deutschland. Und man schätzt eben, dass dies zum Jahr 2030 auf 21 % steigen wird. Sowohl in absoluten Zahlen als auch relativ gesehen kann man davon ausgehen, dass der Stromverbrauch durch das Internet deutlich größer noch werden wird, als er jetzt schon ist.

Lucas

Ich denke mal, dass es eine Herausforderung ist, dass das ein relativ unsichtbarer Stromverbrauch ist. Es ist nicht so offensichtlich, wie viele Maschinen für das, was ich so tue, Energie verbrauchen müssen. Es ist nicht so, dass ich das sehe, wie wenn ich jetzt irgendwie mein Ofen anschalte, dann sehe ich: Okay, der Ofen verbraucht Energie, aber nichts anderes verbraucht jetzt Energie, um mein Ofen zum Laufen zu bringen. Aber wenn ich jetzt auf meinem Telefon irgendeine App öffne, dann ist es nicht so offensichtlich, wie viele weitere Maschinen jetzt gerade auch noch Stromverbrauch neben meinem Telefon, das ich benutze, um die Webseite zu öffnen oder um die App zu bedienen. Das ist das, was das so trickreich macht für Endanwender und Endanwenderinnen.

Daniel

Ja, das stimmt. Tatsächlich ist es so, dass die Endgeräte momentan oder nach den letzten Zahlen, die man hat, ungefähr 1,6 % des globalen Stromverbrauchs ausmachen. Aber Rechenzentren liegen ungefähr bei 1,4 % und Tendenz ist stark steigend. Und die ganze Netzwerkinfrastruktur liegt bei ungefähr 1,7 %. Und zusammen machen die Rechenzentren und die Infrastruktur dann sogar deutlich mehr aus als die Endgeräte. Und das ist tatsächlich ziemlich unsichtbar für die meisten Menschen.

Lucas

Ja, aber für uns, die meisten Leute, die hier zuhören, die werden wahrscheinlich entweder Entwicklung, Architektur oder vielleicht Produktentwicklung oder UX&I machen. Wir haben da durchaus ein bisschen mehr Einblick und können vielleicht auch ein bisschen mehr Einfluss nehmen. Das nächste Prinzip, wenn ich auf diese Webseite schaue, ist die Carbon Intensity. Kann die uns dabei helfen, das schon mal ein bisschen mehr zu verstehen?

Daniel

Prinzip Carbon Intensity meint im Grunde die Gramm von CO₂ Äquivalenten pro Kilowattstunde. Das heißt, dass sie fast bei null wäre, wenn ich ausschließlich erneuerbare Energie benutze. Tatsächlich variiert sie aber natürlich abhängig von dem Energiemix von meinem jeweiligen lokalen Stromnetz, wo zum Beispiel meine Server betrieben werden. Das heißt, es ist auch eigentlich nicht damit getan, einfach einen Ökostromtarif für mein Rechenzentrum zu verwenden, denn das Rechenzentrum ist in der Regel an das lokale Stromnetz angeschlossen und der Energiemix dort ist in der Regel so, dass dort ein substantieller Anteil fossiler Energieträger noch benutzt wird. Das lässt sich auch nicht durch den Ökostromtarif ändern und man kann natürlich dem entgehen und sich vom Stromnetz komplett entkoppeln. Da gibt es interessante Beispiele für. So kann ich dann natürlich schon meine Carbon-Intensität auf nahe null bringen. Nahe null, weil natürlich trotzdem die Produktion von Photovoltaikanlagen oder auch Batterien auch CO₂ Emissionen verursacht.

Lucas

Und auch der Server.

Daniel

Auch der Server natürlich, genau. Und zwar gibt es diese Website, das Low-tech Magazine. Die haben eine neue Version ihrer Seite gemacht, die von einem Server in Barcelona betrieben wird, im Grunde aus dem Apartment des Betreibers. Und der Server ist an eine Batterie angeschlossen, an eine kleine Photovoltaikanlage und ist komplett vom Stromnetz abgekoppelt. Das funktioniert. Und über Nacht wird in der Regel natürlich dann der Server durch die Batterie betrieben, tagsüber, wenn die Sonne scheint, durch die Photovoltaikanlage und man kann auf dieser Seite sich sogar den aktuellen Zustand der Batterie anschauen, ist ganz interessant. Wichtig ist aber eben, dass diese Seite offline geht, wenn dann eben weder die Sonne scheint, noch Kapazitäten in der Batterie vorhanden sind.

Lucas

Wie kann ich mir das vorstellen? Wie hoch ist denn die Verfügbarkeit von dieser Webseite?

Daniel

Die ist tatsächlich um die 90 % trotz allem. Das ist gar nicht so schlecht, die war auch mal deutlich höher eine Zeit lang. Allerdings hat glaube ich dann ein Linux-Kernel Upgrade irgendwie dafür gesorgt, dass der Stromverbrauch gestiegen ist und dadurch ist dann die Verfügbarkeit doch gesunken.

Lucas

Ja, ist auch ein interessanter Fall, dass selbst so etwas, auf das man relativ wenig Einfluss hat. Man muss sein Kernel einfach updaten. Man kann nicht einfach sagen, ich warte jetzt mal auf einen energieeffizienteren Kernel, dann könnte das schon eine Art den Einfluss auf die Verfügbarkeit der Webseite haben. Das merken wir natürlich nicht, wenn wir unsere Webseite einfach am normalen Stromnetz haben, dann steigen vielleicht die Kosten von dem Rechenzentrum, aber das bekommen wir meistens auch schon nicht mehr direkt mit. Das ist auf jeden Fall ein interessantes Experiment, um das einfach ein bisschen deutlicher zu machen, welche Sachen darauf Einfluss haben.

Daniel

Ja, genau. Es gibt noch ein ähnliches Projekt: solarprotocol.net. Das finde ich auch sehr spannend. Da stehen mehrere Server an verschiedenen Standorten, mit einem Setup, was so ähnlich ist wie von diesem Low-tech Magazin und über die DNS Auflösung findet je nach Sonne statt. Wo Google das üblicherweise macht, um möglichst schnell antworten zu können, wird hier entschieden. Je nachdem, an welchem Server Standort am meisten Sonne da ist, wird man auf den entsprechenden Server weitergeleitet. Das heißt natürlich, ich habe mehr Server und mehr Photovoltaikanlagen und Batterien, um auch die Verfügbarkeit zu erhöhen. Das heißt, ich habe mehr CO₂ Quellen, die ich imitiere bei der Herstellung dieser Hardware. Das nennt sich auch Embodied Carbon. Diese Emissionen, die bei der Herstellung von Hardware anfallen. Wenn man die anteilig pro Lebensjahr dieser Hardware rechnet, sind das die Embodied Carbon Kosten für ein Jahr jeweils. Das ist bei Photovoltaikanlagen und Batterien schon auch nicht unerheblich und natürlich auch bei Servern.

Lucas

Das heißt also, ich müsste quasi vorher abschätzen, wie lange meine Hardware im Einsatz ist und dann könnte ich daraus ableiten, wenn ich jetzt genau wüsste, wie viel Carbon verbraucht, wo erzeugt wurde, um meine Hardware herzustellen, könnte ich dann abschätzen, was das Embodied Carbon wäre, richtig?

Daniel

Genau. Zu dem Thema Embodied Carbon kommen wir auch nachher noch mal zurück in einem eigenen Prinzip. Hier bezieht sich das jetzt im Wesentlichen auf die Photovoltaikanlagen und Batterien, die die Leute betreiben. Aber das spielt natürlich, da kommen wir später darauf, auch bei unserer Hardware und auch den Endgeräten der User eine Rolle.

Lucas

Aber das ist schon mal ein interessanter Aspekt. Wenn wir vorher jetzt auf das Prinzip geschaut haben, dann merkt man, aus betriebswirtschaftlicher Sicht könnte man durchaus sagen: Strom sparen ist für uns interessant. Das ist sowohl ökologisch als auch ökonomisch interessant. Aber wenn wir jetzt auf so etwas schauen, wie dass unsere Verfügbarkeit vielleicht sinkt oder du hast auch gerade eben schon gesagt, eine größere Webanwendung wie GitHub, Google, was auch immer. Die werden über CDMs dafür sorgen, dass der DNS immer das nächste Rechenzentrum ansteuert. Das ist jetzt wirklich ein anderes Prinzip, wo wir nicht das nächste anpingen. Das heißt, unsere Antwortzeiten sind eventuell schlechter, als wenn wir jetzt auf Performance optimieren. Das heißt, hier steht das schon eher im Widerspruch als beim reinen Energiesparen, wo man durchaus sagen könnte: Ja, okay, das kriegen wir irgendwie zusammen. Ist das richtig?

Daniel

Ja, das stimmt, genau.

Lucas

Okay. Wenn man jetzt überlegt, dass man diese Embodied Carbon reduzieren will, wie könnten wir das denn machen? Können wir irgendwie Skalierungseffekte nutzen oder irgendetwas anderes tun, um irgendwie unsere Carbon Efficiency zu verbessern?

Daniel

Dieser Betreiber von diesem Low-tech Magazine in Barcelona zum Beispiel hat dazu auch ein paar Gedanken geäußert. Es wäre nicht besonders effizient, wenn jeder das so machen würde, wie er. Seine eigene Webseite mit einem eigenen Server und eigener Photovoltaikanlage und Batterien zu betreiben. Er hat dann auch schon angefangen, weitere Webseiten auf diesen Server zu packen. Das verbessert natürlich die Carbon-Effizienz. Aber wenn man den Gedanken weitertreibt, ist man natürlich bei einem Rechenzentrum, das einfach genauso arbeiten würde. Es gibt auch, ich weiß nicht, ob das schon fertig ist, aber es gab eine Meldung über ein Rechenzentrum in Nevada, welches mit riesigen Photovoltaikanlagen ausgestattet ist und Unmengen von Tesla Power Packs als Batterien. Und da ist wohl auch das Ziel, dass sie vom Stromnetz entkoppelt sind. Aber der Ansatz, den die verfolgen, ist natürlich, sie wollen trotzdem eigentlich immer verfügbar sein. Es ist dieses Konzept, dass man auch mal offline sein kann, ist da wahrscheinlich einfach undenkbar. Aber da muss man klar sagen, dass das Ziel, immer verfügbar zu sein, eigentlich mit ökologischer Nachhaltigkeit nicht vereinbar ist. Denn ab einer bestimmten Verfügbarkeit gilt, dass die Produktion der Batterien und der Photovoltaikanlagen mehr CO₂ Äquivalente emittiert, als man durch die Nutzung der Photovoltaik überhaupt einsparen kann. Und diese 90 % Verfügbarkeit von diesem Low-tech Magazine, die sind natürlich in der Hinsicht noch nachhaltig. Aber wenn ich eine Verfügbarkeit haben möchte, die wir jetzt für okay annehmen oder die wir erwarten heutzutage, dann kann man das eigentlich nicht erreichen nur durch Photovoltaik und Batterien oder Windkraft und Batterien.

Lucas

Ich meine, man könnte natürlich durchaus darüber nachdenken, ob man vielleicht das noch mit Wasserkraft oder Windkraft, oder so was, ergänzt. Dann könnte das die gleichen vielleicht sogar noch mal ändern, oder?

Daniel

Ja, vielleicht. Aber eigentlich muss man da schon skeptisch sein. Ich glaube, wir kommen eigentlich nicht drumherum, tatsächlich insgesamt unseren Stromverbrauch zu senken, wenn wir nachhaltiger sein wollen.

Lucas

Ich denke auch, dass wir unser Verhalten und vielleicht auch unsere Erwartungshaltung eventuell an vielen Stellen ändern müssen. Das kennt man auch, für alle Leute, die auch Elektroauto fahren, muss man einfach einplanen, dass man zwischendurch mal Rast macht an dem Rastplatz und vielleicht mal eine halbe Stunde lädt, wo man sonst vielleicht gesagt hätte: Ach komm, das Stück fahren wir noch durch. Das ist einfach ein anderes Verhalten und ich glaube das trifft auch auf die IT-Industrie zu. Dass wir einfach unsere Erwartungen ändern müssen. Du hast es eben schon kurz angesprochen, dass der Mensch auf seinem Server jetzt auch noch andere Webseiten betreibt. Das bringt mich ein bisschen auf die Fragen: Wie könnte man denn vielleicht auch betrachten zu Cloud gegenüber Bare Metal? Wenn ich jetzt irgendwie an Cloud denke, ist es auch so mit dem Resource Sharing. Aber bei Bare Metal habe ich vielleicht das Gefühl, dass ich vielleicht auch sagen kann: Hey, ich mache hier nur Ökostrom. Wie würdest du denn da die Abwägung sehen zwischen diesen beiden Möglichkeiten? Gerade jetzt Cloud und Bare Metal?

Daniel

Wenn man die Cloud sieht, hat man da natürlich deutlich weniger Kontrolle darüber. Wie du schon sagtest. Welcher Strom wird überhaupt verwendet? Auf welcher Hardware laufe ich überhaupt? Und intuitiv denkt man natürlich auch, dass Bare Metal immer energieeffizienter ist, weil man näher an der Hardware ist und nicht 1000 Layer von Virtualisierung noch darüber hat. Aber in der Regel ist der Betrieb in der Cloud oder von mir aus auch ein Shared Hosting deutlich effizienter als ein eigener Server. Eine Ausnahme wäre, wenn der Server wirklich dauerhaft ausgelastet ist, denn dann hat man nichts zu gewinnen. Ansonsten hat man in der Cloud aber starke Synergieeffekte, dadurch, dass ich mir die Ressourcen teilen kann. Und dann macht es auch nichts aus, wenn mal ein Server mal zwischendurch nichts zu tun hat, mein virtueller Server. Dadurch steigt dann der Stromverbrauch des eigentlichen Servers, der Hardware nicht signifikant.

Lucas

Ich glaube auch, dass manchmal unterschätzt wird, welche Effekte auch für ganz kleine Projekte auch sowas wie Shared Hosting haben kann. Meine Homepage beispielsweise hat kaum Traffic. Es kommt kaum jemand auf meine Homepage. Jetzt wäre es so der übliche Weg seine Homepage zu deployen, wenn man in der IT unterwegs ist, vielleicht so was wie GitHub Pages oder eins der CDN Anbietern zu nehmen und da irgendwie seine statischen Seiten draufzulegen. Ich habe mich aber tatsächlich vor einigen Jahren dafür entschieden, einfach so einen Shared Hoster zu verwenden, der in Deutschland seine Server stehen hat. Und auf demselben Host laufen noch ganz viele andere Projekte von anderen Leuten, die ich überhaupt nicht kenne. Aber dadurch, dass meine Anforderung so gering ist, langweilt sich jetzt nicht diese Hardware und die Kabelintensität ist nicht vergeudet dafür, dass niemand auf meine Homepage geht, sondern die liefert einfach andere Webseiten aus. Klar, das ist jetzt nicht die richtige Lösung, wenn man jetzt einen großen E-Commerce Shop hat, einen Shared Host zu benutzen, aber ich glaube, es ist trotzdem manchmal eine Überlegung wert für kleinere Projekte, für Sachen, die wirklich wenig Traffic haben oder auch selten Zugriffe haben oder vielleicht auch, sagen wir mal du schreibst jetzt einen Blog und ein Blogpost von dir hat jetzt ganz viel Traffic und sonst hast du aber wenig Traffic. Dann würde das auch beim Shared Hosting meiner Meinung nach relativ effizient funktionieren, weil das müsste zufällig auch so sein, dass andere Leute, die auch auf diesem Shared Host sind, auch genau zu diesem Zeitpunkt jetzt gerade viele Zugriffe haben, um das jetzt irgendwie zu verhindern. Und ich glaube, dieses, egal, was man hat, es auf den CDN ist, ist das vielleicht für solche Sachen einfach nicht die der richtige Weg, auch wenn es was sehr Einfaches ist. Da muss nicht unbedingt mit so einem großen Werkzeug gearbeitet werden. Ich finde auch noch an der Stelle interessant den Aspekt von CDNs, da will ich jetzt nicht zu tief drauf eingehen, weil dies glaube ich auch mal noch was ist, was wir vielleicht in der nächsten Folge nochmal besprechen wollen. Aber auch da ist die Frage, wenn ich meine Anwendung auf verschiedene CDN Knoten verteile, bedeutet das dann, dass auf jedem von diesen zehn Knoten meine Anwendung dauerhaft läuft? Oder bedeutet das, dass sie dort dauerhaft Speicherplatz benötigt? Weil das würde auch bedeuten, dass wenn ich jetzt mein CDN so aufsetze, dass es auch in Australien funktioniert, aber niemand auf der Welt geht von Australien aus auf meine Webseite oder vielleicht nur einmal im Jahr, sollte ich mir schon die Frage stellen: Ist es dann der richtige Weg dafür, meine Webseite auf diesen CDN Knoten zu deployen? Das kommt dann auch wieder ein bisschen darauf an, wie dieses CDN funktioniert, weil die machen auch sehr viel Resource Sharing, ganz klar. Aber ich glaube, darüber sollten wir auch mal so ein bisschen nachdenken, bevor wir immer diesem Techie Drang folgen, unsere Webseiten irgendwie weltweit verteilt und was weiß ich zu bauen.

Daniel

Ja, auf jeden Fall. Es ist selten eine Lösung, die immer richtig ist. Wie du schon sagtest, wenn ich jetzt weiß, dass meine User nur in Deutschland sitzen oder sehr wahrscheinlich nur in Deutschland, dann ist es wahrscheinlich eher aus Sicht der CO₂ oder Carbon Effizienz kontraproduktiv, wenn ich ein CDN benutze und weltweit Replikate meiner Daten verteile.

Lucas

Genau, das denke ich auch. Wir hatten eben jetzt schon über die Carbon-Intensität gesprochen und da hast du auch gesagt: Wir müssen gucken, wie ist die denn lokal? Kann ich das denn rausfinden, wie die Carbon-Intensität in meiner Stadt oder meinem Dorf ist?

Daniel

Ganz so lokal kann man das nicht. Zumindest wüsste ich das jetzt nicht für Deutschland. Aber es gibt verschiedene Anbieter, die für Regionen oder Länder die aktuelle Carbon-Intensität erfassen und die auch Vorhersagen machen für die kommenden Stunden mittels Machine Learning. Und der einzige Anbieter, von dem ich weiß, der das eigentlich für europaweit einigermaßen flächendeckend macht, ist Electricity Map. Die haben da eine schöne Karte, die kann sich eigentlich jeder angucken, da muss man sich auch kein Account machen. Da sehen wir jetzt zum Beispiel die aktuelle Carbon-Intensität für Deutschland. Das sind 302 Gramm pro Kilowattstunde. Wir sehen auch, dass wir einen Anteil von 58 % erneuerbare Energien aktuell zum Beispiel haben. Und man sieht auch, wie viel Strom jeweils und auch wie viel Carbon-Intensität exportiert wird in andere Länder und so weiter. Das ist ganz spannend. Aber diese Karte ist natürlich im Grunde für uns jetzt ganz nett, hilft uns aber nicht kurzfristige Entscheidungen zu treffen. Dafür haben solche Anbieter und eben auch Electricity Maps eine API, die die aktuelle Carbon-Intensität und die vorhergesagte für die nächsten Stunden zurückgibt. Das ist eine kommerzielle API. Und die wird tatsächlich auch unter anderem auch von Google genutzt. Die machen etwas, das nennt sich Demand Shifting, also energieintensive Aufgaben werden an eine Zeit oder an einen Ort verlegt, wo geringe Carbon-Intensität ist. Das kann sich auch echt lohnen, denn zum Beispiel wird durch das Trainieren eines typischen Natural Language Processing, Deep Learning Modells circa 284 Tonnen CO₂ emittiert. Das ist schon ganz schön viel. Und dieses Demand Shifting, also die Aufgabe, vielleicht nicht immer zu einem bestimmten Zeitpunkt auszuführen oder an einem bestimmten Ort, sondern da flexibel zu sein. Das kann laut einer Studie zwischen 45 und 99 % der Emissionen einsparen. Das ist schon beeindruckend.

Lucas

Definitiv. Hätte ich nicht gedacht. Das ist der eine Aspekt. Wir hatten ihm auch schon ein bisschen über im Embodied Carbon gesprochen und da haben wir jetzt über so Sachen gesprochen wie Batterien und Photovoltaik, aber auch unsere Server, Laptops, Tablets, was auch immer, die haben auch alle Embodied Carbon. Wird das überschätzt oder unterschätzt? Habe ich viel im Embodied Carbon in meinem Notebook oder in meinem iPhone?

Daniel

Das wird eher unterschätzt, würde ich sagen. Bei Servern ist es, glaube ich, nicht ganz so dramatisch. Die haben auch in der Regel eine etwas längere Lebenszeit als Consumer Geräte. Aber für Smartphones und ich glaube auch für Tablets hat man herausgefunden, dadurch, dass die so eine extrem kurze Lebenszeit haben, oft nur zwei Jahre, ist der Anteil des Embodied Carbon an den gesamten CO₂ Emissionen dieser Geräte extrem hoch. Und zwar bei zwei Jahren Lebensdauer machen die Herstellung und die Entsorgung für ein typisches Smartphone 85 bis 95 % der gesamten Emissionen aus. Und der Rest ist das Aufladen dieser Geräte. Nicht enthalten sind jetzt, wenn wir ein Smartphone nutzen, die Emissionen der Server und der Netzwerkinfrastruktur. Diese schönen Unsichtbaren, die wir eben erwähnt haben. Aber dennoch ist das extrem viel. Und je länger ich ein Gerät nutze, desto geringer ist dann der Anteil an Embodied Carbon pro Jahr. Deswegen ist es ein weiteres Prinzip von dieser principals.green Website, die Hardware-Effizienz zu maximieren.

Lucas

Und wie kann man das denn machen?

Daniel

Ja, zum einen, das Wichtigste ist eigentlich eine Software zu schreiben, die ressourceneffizient ist und das gilt natürlich sowohl für Software, die auf Servern läuft, auch für Desktop Anwendungen, Mobile Anwendungen oder auch für Webanwendungen. Wenn sie Ressourcen effizient ist, ist die Chance größer, dass sie auch noch auf alten Geräten laufen kann, die nicht die allerneueste Hardware haben, nicht den schnellsten Prozessor, nicht so viel Arbeitsspeicher und so weiter. Aber das ist nicht alles. Oft kann es auch helfen, zu vermeiden, dass wir einfach immer die neuesten APIs nutzen, die jetzt von den neueren Betriebssystem-Versionen vorausgesetzt werden. Das ist jetzt etwas, was sich auf Mobile und Desktop Anwendungen bezieht, würde ich sagen. Da ist es oft so, dass neue Betriebssystem-Versionen von Android, iOS oder MacOS irgendwelche neuen APIs bereitstellen und die dann auch gerne genutzt werden von Anwendungsentwicklerinnen. Und wenn ich das tue, dann schließe ich aber Leute aus, bei denen Apple zum Beispiel künstlich sie daran hindert, auf diese neue Betriebssystem-Versionen upzugraden. Ich habe zum Beispiel ein relativ altes iPad, wo ich eigentlich aktuell kaum noch irgendwelche Anwendungen installieren kann aus dem AppStore, weil die alle für meine iOS Version nicht mehr verfügbar sind und ich aber auch auf diesem iPad keine neuere Version installieren kann von iOS. Also im Prinzip funktioniert das Gerät noch, aber es ist total nutzlos geworden.

Lucas

Ja, verstehe.

Daniel

Das ist natürlich. Wenn ich jetzt das für eine Software mache, kann das natürlich sein, dass es niemanden stört und niemand entscheidet vielleicht wegen meiner Software unbedingt alleine, dass er jetzt eine neue Hardware braucht. Das kann aber durchaus der Fall sein. Oder die Summe es. Wenn viele Anwendungen nur noch mit neuer Hardware verfügbar sind, dann entscheidet man sich vielleicht doch ein neues Gerät zu kaufen.

Lucas

Ja, wenn man jetzt noch mal über Webanwendungen spricht, dann könnte man durchaus über solche Aspekte wie Progressive Enhancement sprechen, dass vielleicht auf einer älteren Betriebssystem-Version oder Browser Version vielleicht eine einfachere Version zur Verfügung steht. Und wenn dann mehr Fähigkeiten zur Verfügung stehen, dann wird die vielleicht auch erweitert oder sieht schicker aus oder was auch immer. Das könnte man sich durchaus auf jeden Fall auch überlegen. Ich weiß nicht, inwieweit das auf Sachen wie einer Native App auch funktioniert. Dafür kenne ich mich zu wenig aus, weil ich eigentlich schon die ganze Zeit über schon Webentwickler war. Aber ich könnte mir vorstellen, dass man da auch vielleicht gucken kann und prüfen: Ist dieses Feature verfügbar? Dann mache das und sonst mach es irgendwie auf eine einfache Art und Weise. Das kann ich mir durchaus vorstellen.

Daniel

Ja, bei Native Apps bin ich da ehrlich gesagt auch kein Experte. Aber ich vermute, dass das Konzept von Progressive Enhancement auch irgendwie umsetzbar ist.

Lucas

Neben dem Aspekt von Features und vielleicht Fähigkeiten usw. ist eine Sache, die auch ganz viele Leute beschäftigt. Nicht nur wegen Carbon Efficiency, sondern auch wegen so Sachen wie Datenlimits auf Handyverträge oder so was. Da ist die Datenmenge, die wir übertragen. Und es ist schon so, dass wenn man sich jetzt irgendwelche aktuellen Blogposts und Statistiken und so weiter anguckt, dass die Datenmengen, die für jede Webseite übertragen werden, immer weiter steigen. Das hat wahrscheinlich auch irgendwie Einfluss auf unsere Carbon-Effizienz und nicht nur auf irgendwie Ladezeiten oder sowas, oder?

Daniel

Ja, auf jeden Fall. Die Datenmengen, die übertragen werden, das ist eigentlich auch einer der wichtigsten Faktoren für den Stromverbrauch von Informationstechnologie. Und dabei spielen zwei Faktoren eine Rolle. Zum einen die Größe, die Datenmenge und die Entfernung, die die Daten zurücklegen müssen. Wir hatten eben schon mal kurz das Thema CDNs erwähnt, womit man versucht, die Entfernung zu reduzieren. Es gibt natürlich auch andere Faktoren, die eine Rolle spielen, aber das sind die entscheidenden. Die Carbon-Intensität in den jeweiligen Stromnetzen spielt natürlich auch eine Rolle, wo die Netzwerk-Infrastruktur sich befindet. Oder das Netzwerk-Protokoll. Aber Größe und Entfernung haben wir auch am meisten Einfluss drauf. Interessant ist dann zu schauen, wie viele Gramm CO₂ Äquivalente werden dann so im Schnitt emittiert pro Gigabyte übertragener Daten? Und da gab es eine Studie vom Shift Projekt. Die haben das ermittelt, basierend jetzt auf der globalen durchschnittlichen Carbon-Intensität. Das war zu dem Zeitpunkt 519 Gramm CO₂ Äquivalente pro Kilowattstunde. Und sie haben diesen Faktor ermittelt von 0,0023 Kilowattstunden für jedes MB, was übermittelt wird. Und damit kommt man dann für ein Gigabyte auf geschätzte 1,22 Kilogramm von emittierten CO₂ Äquivalenten. Das ist viel. Aber es ist natürlich ein Durchschnitt, weil die globale Carbon-Intensität natürlich auch nur ein Durchschnitt ist. Die ist höher als zum Beispiel die in Deutschland oder der EU im Durchschnitt. Und die Distanz wird natürlich hier in diesem Faktor 0,0023 auch nur als Durchschnittswert verwendet. Wenn ich ein CDN benutze, kann ich natürlich eigentlich, wenn die Distanz sehr klein wird, dann wahrscheinlich kleinere Werte erreichen.

Lucas

Absolut. Da ist es dann schon fast wieder ein Trade off, zwischen dem mehr an Computing Power, die vielleicht auf der Welt verteilt ist, aber dafür auf der anderen Seite dann der Übertragungsgeschwindigkeit, die daraus resultiert, wenn jetzt alle von der ganzen Welt auf meine Server in Deutschland zugreifen. Das müssen wir dann ein bisschen gegeneinander abwägen.

Daniel

Genau. Man muss auch sagen, dieser Wert, dieser Faktor, der da ermittelt wurde, das war 2019, diese Studie. Und generell wird die Datenübertragung immer energieeffizienter. Es war also auch schon mal weniger effizient und das wird sicherlich noch effizienter werden. Ein Gigawatt zu übertragen, so dass dann die CO₂ Äquivalente oder die Gramm an CO₂ Äquivalenten pro Gigawatt sinken wird, aber gleichzeitig nehmen die Datenmenge auch immer weiter zu. Das hast du auch schon erwähnt. So ein klassischer Rebound Effekt nennt man das. Einerseits haben wir Effizienzgewinne, aber sie werden aufgefressen dadurch, dass wir dann immer mehr verbrauchen. Gesehen auf httparchive.org zum Beispiel. Seitdem ich bei INNOQ angefangen habe, 2013, haben sich die Datenmengen an JavaScript pro Webseite, glaube ich, ungefähr verdoppelt oder mehr als verdoppelt. Noch extremer ist es wahrscheinlich mit Videos, auch Bilder. Die Datenmengen für Bilder werden immer mehr. Nicht unbedingt, weil mehr Bilder verwendet werden, aber weil wir alle immer höher auflösende Bildschirme haben und das dann größere Bilder benötigt.

Lucas

Ein anderes Beispiel, was ich dafür auch letztlich noch gehört hatte, war, wenn man jetzt über so Videokonferenz Lösungen nachdenkt, die früher einfach schlechter funktioniert haben, dann haben Leute auch weniger Videokonferenzen gemacht und jetzt machen die Leute mehr Videokonferenzen, weil Videokonferenzen einfach besser funktionieren. Das ist auch so ein Rebound.

Daniel

Ja, auf jeden Fall. Es gibt natürlich viel, was man machen kann, um die Menge an übertragenen Daten zu verkleinern. Und man sollte jetzt auch nicht denken, dass das irgendwie keinen großen Effekt haben kann. Ein schönes Beispiel ist ein Blogpost von Danny van Kooten. Den können wir auch noch verlinken in den Shownotes. Der hat ein WordPress Plugin, was er maintained und das wird auf circa 2 Millionen Websites verwendet und da hat er eine JavaScript Dependency entfernt. Das hat 20 Kilobyte ausgemacht. Und dann hat er mal ausgerechnet, wie viel das an Einsparung an CO₂ Emissionen bedeutet. Und das waren dann tatsächlich von durchschnittlich 10.000 Unique Visitors ausgeht, dann kam er auf drei Tonnen pro Monat hoch. Es ist so viel wie 18.000 Kilometer monatlich mit dem Toyota Yaris zu fahren. Oder fünf Flüge von Amsterdam nach New York, hat er gesagt, wäre auch äquivalent dazu. Oder 118 Kilogramm Rindfleisch zu essen pro Monat. Und das ist natürlich einfach durch die große Installationsbasis. 2 Millionen Websites verwenden das, aber die 20 Kilobyte klingen erst mal winzig klein. Aber gerade wenn man Software-Projekte hat, die wirklich von vielen Leuten genutzt werden, dann sieht man durch dieses Beispiel, dass der Effekt doch ziemlich groß sein kann.

Lucas

Absolut. Na klar, das werden wir nicht einsparen können, indem wir 20 Kilobyte auf unserer Homepage einsparen, die fünf Visitor pro Monat hat.

Daniel

Bei einer Intranet-Anwendung macht es wahrscheinlich auch wenig Sinn.

Lucas

Ja, aber bei einer Homepage von einem Unternehmen oder so, wo viele Leute draufgehen, da ist es dann schon wieder was anderes. Und klar, umso mehr es dann ist, wenn man dann Libraries braucht und so weiter, kann ich mir gut vorstellen, dass es da sich schnell einfach potenziert, was man da an Einsparungen hat. Wir haben im Podcast schon mal über verschiedene Möglichkeiten gesprochen, Datenmengen zu sparen. Wir werden auch noch mal drauf eingehen in einer weiteren Episode. Aber ein Aspekt, der mich dabei auch mal ein bisschen interessiert, ist, es ist nicht alles immer im Einflussbereich von Leuten, die in Entwicklung, in Architektur oder in Operations sind, sondern auch durchaus in den Bereichen, vielleicht Produktentwicklung oder UX, UI. Hast du da Beispiele, wo man da vielleicht Einsparungen machen kann für Datenmengen?

Daniel

Ja, zum einen könnte man natürlich schon auf Produktdesign Ebene entscheiden, dass man deutlich weniger Bilder verwenden möchte oder auch Videos. Videos sind eigentlich noch schlimmer, oder dass man eben statt Fotos vielleicht mehr auf Illustrationen setzt. Dann kann man nämlich SVG verwenden, was auch deutlich kleiner in der Regel ist, als Fotos zu übertragen. Man könnte monochrome Bilder verwenden. Dieses Low-tech Magazine, wie es bei der Solar-Variante gemacht hat. Ich könnte für die Bild-Kompression Dithering, also Fehler-Diffusion verwenden. Das macht die Bilder extrem klein, hat aber auch einen visuellen Effekt, den sie dann in diesem Fall bewusst nutzen. Machen sie quasi zum Corporate Design Bestandteil davon, diesen Look. Wenn ich Fotos mit einer sehr geringen Schärfentiefe habe, kann das auch schon die Dateigröße um bis zu 50 % verkleinern. Das fand ich auch beeindruckend. Oder in diesem Low Impact Manifesto, was wir vielleicht auch noch verlinken können später. Da wird unter anderem auch gesagt, man solle auf Web Fonts verzichten. Man soll nur auf System Fonts zurückgreifen, um Datenübertragungen zu vermeiden. Und das sind alles natürlich Dinge, die können wir nicht einfach als Entwicklerinnen machen, sondern es muss im Produktdesign, in der User Experience und zum Teil auch im Marketing wahrscheinlich entschieden werden.

Lucas

Absolut. Selbst wenn man jetzt sagt, viele Firmen benutzen auch ihren Font ein bisschen auch als Wiedererkennungswert und werden vielleicht nicht unbedingt auf Web Fonts verzichten können. Aber auch da gibt es auch verschiedene Möglichkeiten, Einsparungen zu machen. Vielleicht kann man sich so was anschauen wie ein Variable Font, der eine Font Datei auf verschiedene Art und Weisen ausgespielt werden kann, verschiedenen Breiten und so weiter, dass man nicht verschiedene Web Fonts ausliefern muss. Und das ist einfach eine Wahl, die man trifft, wenn man den Font auswählt. Das schränkt dann die Wahl schon enorm ein. Also vor vier oder fünf Jahren wäre die Auswahl null gewesen. Mittlerweile gibt es schon ein paar mehr Variable Fonts, aber das könnte ich mir durchaus vorstellen, dass wenn man sich da jetzt als Marke dann für einen Font entscheidet, das eine Variable Font ist, dass man damit auch schon wieder spart an verschiedenen Stellen, weil man es auch an verschiedenen Stellen sein Font wieder einsetzt.

Daniel

Genau. Oder man braucht vielleicht auch nicht vier verschiedene Fontb Weights und so weiter. Da kann man schon eigentlich viel einsparen. Aber das sind Entscheidungen in dem User Experience Design. Verantwortung, eigentlich genau.

Lucas

Genau. Und natürlich gibt es da auch keine Antwort, die für alle passt. Aber dann sollte man zumindest mal darüber nachgedacht haben, dass man auch an den Stellen Stellschrauben hat, an denen man schrauben kann.

Daniel

Ja, auf jeden Fall.

Lucas

Ja, wir haben über ganz viele verschiedene Sachen zwischendrin gesprochen. Aber wenn ich auf die Seite gucke, dann sehe ich noch ein Prinzip, was wir noch nicht erwähnt haben. Und das ist das Thema Carbon Awareness. Magst du uns dazu noch etwas erzählen?

Daniel

Ja, gerne. Carbon Awareness ist im Grunde der nächste Schritt, nachdem ich schon Anstrengungen übernommen habe, Carbon effizient zu sein. Das heißt, dass meine Anwendung adaptiv ist. Der Energiebedarf der Software passt sich an das aktuelle Angebot an erneuerbare Energie an. Das ist eigentlich seit der Industrialisierung so, dass sich das Energieangebot an unseren Energiebedarf anzupassen hat. Und das ist jetzt eigentlich ein Schritt zurück zur vorindustriellen Ökonomie, wo das genau andersherum war. Ein Beispiel: Windmühlenbetreiber, wenn gerade viel Wind war, haben die zum Teil tagelang kaum geschlafen, weil sie das halt ausnutzen mussten und haben aber natürlich entsprechend nichts zu tun gehabt oder wenig zu tun gehabt, wenn der Wind nicht geweht hat, gezwungenermaßen. Und das Prinzip würde man hier übertragen und das nennt sich Demand Shaping. Ich adaptiere also meinen Demand an das, was überhaupt zur Verfügung steht. Das kann ich machen, indem ich, wenn ich zum Beispiel so eine Carbon Intensity API wie von Electricity Map einbinde, kann ich sehen was ist die aktuelle Carbon-Intensität oder die vorausgesagten? Und kann dann energieintensive Features abschalten, wenn ich eine zu hohe Carbon-Intensität habe, nach meinem Geschmack. Also so ein Öko Modus quasi. Was kann das bedeuten? Zum einen natürlich weniger Datenübertragung durch kleinere Bilder oder durch Verzicht auf Bilder und Videos. Aber da sind natürlich auch andere Dinge denkbar. Vielleicht auch Schwarz-Weiß Bilder statt Farbbilder und so weiter. Da kann man sich viele Abstufungen vorstellen. Und das wird auch umgesetzt. Mindestens eine Seite kenne ich, die das macht. Das ist eine Low Impact Variante eines Onlineshops für Kleidung. Die können wir gerne mal verlinken. Die nutzen, nämlich Vektorgrafiken, SVG statt Fotos, wenn eine bestimmte Carbon-Intensität erreicht ist. Und die haben aber auch noch mehrere andere Abstufungen. Im Grunde ist das so was ähnliches wie, nicht Progressive Enhancement, aber graceful degradation wohl eher. Aber eben eigentlich nicht erzwungen durch zum Beispiel kleiner Netzwerk Bandbreite, sondern weil nicht viel erneuerbare Energien vorhanden sind.

Lucas

Auf jeden Fall eine interessante Möglichkeit. Wenn man sich die Seite anschaut, die du gerade erwähnt hast, dann sieht man auch in der Praxis ist das vielleicht ein bisschen zu krass. Das würde glaube ich kein Shop der Welt machen, dass er Produkte versucht zu verkaufen, indem einfach nur eine kleine Zeichnung davon zeigt. Aber auch da kann man sich natürlich wieder überlegen, wie das funktionieren würde, das zur Marke zu machen. Bestimmte Dinge eben absichtlich anders darzustellen oder absichtlich kleiner zu machen, um auch anders auszusehen als andere Webseiten, wo man sich dann absetzt von den anderen Shops, die alle auf Hochglanzbilder setzen, könnte man sich durchaus vorstellen, dass das vielleicht auch wieder ein bestimmtes Publikum wieder anzieht. Die sagen: Irgendwie habe ich keine Lust mehr auf diese Hochglanzwebseiten.

Daniel

Ja, das denke ich auch.

Lucas

Ich glaube, da ist viel Raum, den man einnehmen kann. Okay, wir haben jetzt uns ganz viele Prinzipien angeschaut. Wenn ich jetzt sage: Okay, Leute, lasst uns das jetzt mal umsetzen. Wie kann ich denn messen, dass ich mich auf dem richtigen Weg befinde, das zu machen? Oder ob ich Fortschritt mache, um meine Carbon-Effizienz zu verbessern?

Daniel

Ja, das ist eine gute Frage, denn ohne zu messen stochert man so ein bisschen im Blinden und weiß eigentlich gar nicht, ob das, was man da tut, wirklich was gebracht hat. Da gibt es verschiedene denkbare Metriken, die irgendwie grob messen können, ob man auf dem richtigen Weg ist. Zum einen kann man sich natürlich die Betriebskosten angucken. Jetzt für eine Anwendung zum Beispiel. Denn je weniger Geld ich ausgebe, desto weniger CO₂ emittiere ich wahrscheinlich auch. Aber hier ist natürlich wie gesagt der Zusammenhang nur sehr grob. Man merkt nicht so wirklich, wie viel CO₂ man an Emissionen eingespart hat. Eine interessante Technik, die eigentlich auch aus einem anderen Bereich kommt, sind die Performance Budgets. Kommt, wie der Name schon sagt, aus der Performance Optimierung. Da legt man oft so ein Budget für eine Seite fest. So ein page weight, wie viel Kilobyte an kritischen Daten maximal vorhanden sein dürfen, damit die Website funktioniert und geladen wird. Und das kann man natürlich auch umdeuten oder verwenden als Carbon Budget. Dass ich sage, ich darf nur so und so viele Kilobyte für eine Seite verbrauchen. Und das kann ich natürlich relativ einfach messen. Wenn man jetzt diesen Faktor kennt, zumindest diesen durchschnittlichen, wie viel CO₂ emittiert wird pro übertragenem Megabyte und so weiter. Dann kann man so natürlich auch indirekt durchaus ausrechnen, wie viel CO₂ Emission man eingespart hat.

Lucas

Könnte man auf die Art und Weise auch sich eine Website anschauen und sagen: So viel CO₂ verbraucht diese Webanwendungen?

Daniel

Ja, da gibt es tatsächlich schon mehrere Seiten, die so was anbieten. Eine davon nennt sich Websitecarbon.com. Es ist natürlich ein geschätzter Wert, den man da bekommt. Ich gebe meine URL ein und das nutzt die weltweiten Durchschnittswerte für Carbon-Intensität und den Stromverbrauch pro Megabyte. Bezieht aber durchaus auch ein, dass Caching genutzt wird, um bei Mehrfach-Aufrufen durch den gleichen Besucher nicht immer alles neu zu laden.

Lucas

Ja.

Daniel

Und da sieht man dann wie viel Gramm CO₂, Kilogramm CO₂ eine Seite emittiert. Und da kann man auch eingeben wie viele Besucher oder Unique Visitors man hat, weiß ich nicht mehr ganz genau. Und interessant ist natürlich auch der Vergleich, den diese Website dann anbietet, wie viel das jeweils entspricht. Das ist ganz amüsant gemacht. Ich vergleiche das zum Beispiel mit E-Auto Fahrten. Aber auch mit wie viele Bäume das benötigen würde, um das aufzunehmen, die entsprechende Menge an CO₂.

Lucas

Und auf der anderen Seite der Gleichung. Wenn man jetzt noch mal irgendwie sagt, wir benutzen irgendwie Google Cloud oder AWS oder so, kann ich da auch nur so eine Schätzung holen oder geht das nur, wenn ich ein eigenes Rechenzentrum habe?

Lucas

Es ist tatsächlich ein ziemlich neues Feature. Sowohl in Google Cloud als auch in AWS gibt es mittlerweile so Dashboard oder Reports, wo man sich anschauen kann, wie viele CO₂ Emissionen man zu verantworten hat in dem jeweiligen Account. Ich weiß von AWS, dass die Berichte allerdings relativ zeitverzögert sind um bis zu drei Monate. Und das soll wohl eben an diesem Abrechnungszyklus der Stromversorger liegen. Das heißt AWS bekommt die Daten einfach nicht vorher. Das heißt als Live Metrik, um dann schnell irgendwie was anzupassen taugt das nicht. Ich weiß nicht, ob das bei Google anders ist, aber es ist trotzdem finde ich, das es eine gute Entwicklung ist, dass große Cloud Anbieter jetzt Social Reports oder Dashboard überhaupt anbieten.

Lucas

Okay, dann würde ich sagen, dann lass uns doch jetzt mal versuchen ein Fazit daraus zu ziehen, aus dem was wir heut besprochen haben. Also was würdest du dir wünschen, was die Menschen mitnehmen, die heute zugehört haben?

Daniel

Ja, ich hoffe, dass ich für das Thema Nachhaltigkeit bei Softwareentwicklung sensibilisieren konnte. Vielleicht auch Wissen, Inspiration geben konnte durch diese verschiedenen Projekte, die ich vorgestellt habe, die schon zum Teil ziemlich krasse Sachen machen, natürlich nicht unbedingt immer Mainstream tauglich sind, aber als Inspiration irgendwie trotzdem sehr schön sind. Und ja, vielleicht einfach mal selber nachzuschauen, wie man aktuell überhaupt aufgestellt ist in Sachen Nachhaltigkeit.

Lucas

Genau. Und wir hatten uns überlegt, dass wir noch mal eine weitere Folge zu dem Themenkomplex machen wollen, wo wir noch mal über das Thema Architektur und Nachhaltigkeit diskutieren wollten. Also gerade also wir haben jetzt auch zwischendurch schon gesagt, wir sind beide im Web unterwegs als Webentwickler und Web Architekten. Also ein Fokus auf Architektur im Web. Was kann man denn da tun, um seine Webseite einfach nachhaltiger zu gestalten? Und da freuen wir natürlich auch über Feedback. Also wenn ihr irgendwelche Ideen habt, wenn irgendwelche Sachen ausprobiert habt schon in euren Projekten oder in euren Firmen, freuen wir uns auch auf Feedback. Dann lassen wir uns auch gerne in diese Folge einfließen. Habt auch noch ein bisschen Zeit, weil die werden wir jetzt auch nicht sofort aufnehmen. Ja, und da freue ich mich auf jeden Fall schon drauf auf die Folge.

Daniel

Ich auch.

Lucas

Dann danke ich dir Daniel für deine Zeit.

Daniel

Danke dir auch

Lucas

Und den Hörerinnen und Hörer, bis zum nächsten Mal.

Daniel

Tschüss

Lucas

Tschüss

Alumnus

Lucas was a senior consultant at INNOQ until August 2023. He works on the architecture, conception, and implementation of web applications on the front and back end. He programs in Ruby and JavaScript and helps with technology decisions & the adoption of different NoSQL solutions. Lucas is one of the authors of the book “The Rails 7 Way”. You can hear his voice on the INNOQ podcast quite regularly. He does open source and community work (like organizing and teaching at the local CoderDojo).

senior consultant

Daniel Westheide is a senior consultant at INNOQ and has been developing server applications on the JVM since 2006. He is particularly interested in functional programming, sustainability, and systems thinking. He published multiple books on the Scala programming language.