Es ist heute kein Geheimnis mehr, dass Big Data erhebliche Auswirkungen auf die Umwelt haben kann. Daten tragen dazu bei, Prozesse zu rationalisieren, umweltpolitische Entscheidungen zu treffen und neue, nachhaltigere Arbeitsweisen zu entwickeln.
Für jedes Gigabyte, das dabei in der Cloud gespeichert wird, werden pro Stunde rund sieben Kilowatt Energie verbraucht. Das bedeutet, wenn ein Unternehmen mit zehn Terabyte an Daten arbeitet, entsteht ein CO₂-Fußabdruck, von 500 kg CO2. Angesichts dieser Entwicklungen rückt das Konzept des „Green Coding“ immer mehr in den Vordergrund: Eine Vorgehensweise, die Effizienz und Nachhaltigkeit in der Softwareentwicklung priorisiert.
Batch- vs. Echtzeit-Streaming
Häufig wird noch geglaubt, dass die herkömmliche Batch-Verarbeitung effizienter ist als Daten-Streaming – schließlich erfordert die Verarbeitung in geplanten Intervallen weniger Rechenleistung als ein konstantes Streaming von Daten. In Wirklichkeit ist das Gegenteil der Fall: Auch wenn die Batch-Verarbeitung nicht kontinuierlich betrieben werden muss, sind intensive Spitzenleistungen erforderlich, wodurch sie deutlich mehr Energie verbraucht als ein kontinuierlicher Low-Level-Stream. In Bezug auf den Ressourcenverbrauch ist das Ergebnis der Batch-Verarbeitung vergleichbar mit einer plötzlichen Flutwelle, während das Daten-Streaming ein sanft fließender Strom ist.
Daten-Streaming profitiert hier nicht nur von einer geringeren CPU-Auslastung, sondern verbessert auch die Verarbeitungsprognose im Allgemeinen. Ein Beispiel ist Apache Flink, ein Open-Source- Framework für Stream Processing. Benutzer können mit Flink Actions (den Operationen, die bei der Verwendung von Apache Flink auf Datenströme angewendet werden) nicht nur die Daten in Echtzeit verarbeiten, sondern auch analysieren. Diese Analysen helfen Unternehmen dabei, ein klares und zuverlässiges Verständnis ihrer Nutzung zu entwickeln, ohne plötzliche, unerwartete Anstiege in Kauf nehmen zu müssen. Indem sie diesen Bedarf an ungenutzten Cloud-Kontingenten verringern, können Unternehmen ihre Effizienz steigern, Kosten senken und letztlich eine nachhaltigere Verarbeitung entwickeln.
Ein serverloser Ansatz
Frameworks wie Apache Flink, die über eine Daten-Streaming-Plattform verwaltet werden, haben den zusätzlichen Vorteil, dass sie serverlos sind. In einer serverlosen Umgebung können Computing-Ressourcen je nach Bedarf automatisch skaliert werden. Das bedeutet, dass Infrastrukturen sich in Echtzeit anpassen können, um schwankende Datenmengen ohne menschliches Eingreifen effizient zu bewältigen.
Dies führt nicht nur zu einer schnelleren, effizienteren und kostengünstigeren Datenverarbeitung, sondern entspricht auch den Grundsätzen des Green Coding, indem ungenutzte Rechenressourcen minimiert werden. Die Infrastruktur wird während einer aktiven Verarbeitung verwendet, wodurch die Energieverschwendung begrenzt wird.
Dieser Ansatz ermutigt Entwickler, sich auf das Schreiben effizienter, event-getriebener Funktionen zu konzentrieren, ohne die mit der Batch-Verarbeitung verbundenen Engpässe berücksichtigen zu müssen. Diese Verlagerung des Schwerpunkts kann letztlich dazu beitragen, die Nachhaltigkeit im gesamten Lebenszyklus der Softwareentwicklung zu fördern.
Ausblick
Die Umstellung auf grüne Energie ist ein wesentlicher Bestandteil nachhaltiger Computing-Praktiken. Cloud-Anbieter erkennen heute die Bedeutung von umweltfreundlichen Maßnahmen immer mehr an. Unter anderem nutzen viele führende Anbieter von serverlosen Services bereits erneuerbare Energiequellen für den Betrieb ihrer Rechenzentren, was den CO2-Fußabdruck von Apache Fink und ähnlichen Serverless-Computing-Frameworks weiter reduziert.
Für Unternehmen in datenintensiven Branchen ist die Kombination aus Daten-Streaming und einem grünen Cloud-Anbieter ein großer Schritt in Richtung einer nachhaltigeren, datengesteuerten Zukunft. Nachhaltigkeit ist nicht nur aus moralischer Sicht richtig – sie ist auch marktfähig, energieeffizient und kostensparend.