AWS Germany – Amazon Web Services in Deutschland

Wie der Hailo digital_hub mit Analytics und generativer KI nachhaltige Abfalllösungen entwickelt

Dies ist ein Gastbeitrag von Johannes Bepler, Abteilungsleiter Entwicklung im Hailo digital_hub. Der Hailo digital_hub bündelt digitale und analoge Produktlösungen zur nachhaltigen Optimierung der Abfallvermeidung und Entsorgung von Abfällen im kommerziellen Umfeld.

Der Hailo digital_hub

Der Hailo digital_hub tritt an, um die Zukunft der gewerblichen Abfallentsorgung mit digitalen Technologien neu zu denken und zu gestalten. Von der Datenerfassung durch eigene Sensorsysteme bis hin zur umfassenden Datenanalyse und Ausgabe durch unser Smart Waste Dashboard ist es unser Ziel, die Abfallwirtschaft zu digitalisieren.

Dabei setzen wir von Anfang an auf eine Cloud-Lösung von und mit AWS. Im Kern umfasst unsere Architektur drei wesentliche Bestandteile: einen IoT-Stack, der für die Datensammlung der Sensoren verantwortlich ist, einen Analytics-Stack für die Verarbeitung und Analyse der gesammelten Daten und einen Backend-Stack für die Interaktion mit verschiedenen internen und externen Akteuren über Schnittstellen.

Hailo Digital Hub Dashboard

Die Herausforderung

Die Anforderungen an die Datenerfassung haben sich im Laufe der Zeit verändert. Dies geschieht nicht nur durch die ständige Weiterentwicklung unserer Sensorik, sondern auch durch eine Vielzahl externer Daten, wie beispielsweise Wetter- oder Kalenderdaten. Auch die Kundenanforderungen werden immer komplexer und entwickeln sich z.B. von einem retrospektiven Reporting hin zu punktgenauen Prognosen der anfallenden Abfallmengen.

Hinzu kommen verschärfte Informationspflichten über das Abfallaufkommen. Für das Jahr 2024 schreibt die EU im Rahmen der Corporate Sustainability Reporting Directive (CSRD) für erste Unternehmen eine Nachhaltigkeitsberichterstattung vor, in der Abfall eine wichtige Säule darstellt.

Um diesen stetig steigenden Anforderungen gerecht zu werden, haben wir uns entschlossen, die bestehende Architektur mit den drei beschriebenen Stacks neu zu gestalten. In der bisherigen Architektur wurden die vorverarbeiteten Daten aus dem IoT Stack ausgelesen und an unseren Analytics Stack übergeben. Dort erfolgten die redundante Speicherung, Verarbeitung und schließlich die Auswertung der gesammelten Daten. Um diesen Prozess zu implementieren, wurden Jupyter Notebooks verwendet.

Das Unternehmen hat angesichts der stetig wachsenden Datenmengen, der Komplexität beim Zugriff und der Verarbeitung sowie des beständigen Bedarfs an neuen Erkenntnissen die Entwicklung eines Data Lakes initiiert. Der Data Lake wird als zentraler Datenpool fungieren, in dem alle Daten gespeichert werden. Dadurch sollen weitere Erkenntnisse über das Verbraucherverhalten gewonnen werden, indem die gesammelten Daten im Data Lake analysiert und ausgewertet werden.

Die Entscheidung

Bei der Modernisierung unserer Architekturlandschaft konzentrieren wir uns auf zwei Kernthemen: einen zentralen Data Lake und eine flexible GraphQL-API zur Nutzung der dort gespeicherten Daten.

Der Data Lake dient als „Single Source of Truth“ und führt Daten aus unterschiedlichen Quellen an einer zentralen Stelle zusammen. Er dient als übergreifendes Konstrukt für die Speicherung, Verarbeitung und Analyse von strukturierten und unstrukturierten Daten. Die Flexibilität des Data Lake eröffnet die Möglichkeit, zusätzliche Datenpunkte aus dem Gebäude und der Umgebung zu erfassen und zu analysieren.

Als zentrales Sammelbecken aller verfügbaren Datensätze stellt der Data Lake somit jedem Data Scientist innerhalb der Organisation eine einheitliche Datenquelle zur Verfügung und wirkt der Bildung von Datensilos entgegen.

Darüber hinaus ermöglicht der Data Lake eine einfache Skalierung der Speicherkapazität. Durch die stetig wachsende Anzahl an ausgelieferten Sensoren und die Integration mehrerer Datenquellen drohen die Datenbanken im Altsystem zu kosten- und wartungsintensiv zu werden. Durch den Data Lake werden die Kosten für die Datenhaltung langfristig deutlich reduziert.

Als zweites Kernthema gehen wir die Modernisierung unserer Schnittstellen über GraphQL an.

Um die Daten und Analyseergebnisse für unsere Kunden bestmöglich zugänglich zu machen, werden diese über eine grafische Benutzeroberfläche und über eine API zur Verfügung gestellt. Derzeit werden alle Sensordaten in Amazon DynamoDB oder Amazon Simple Storage Service (Amazon S3) gespeichert. Die Rechteverwaltung erfolgt über eine relationale Datenbank.

Der Zugriff auf Daten erfolgte vom Frontend aus über eine REST-API. Die steigende Anzahl unserer Backend-Services zeigte jedoch immer wieder die fehlende Flexibilität dieser REST-Architektur auf. Zudem machten sich Effizienzeinbußen wie „Over-Fetching“ bemerkbar. Um diese Herausforderungen zu bewältigen, sollen die Services künftig in sich selbst konsistent und autonom laufen. Dies wird durch einen Wechsel zu einem eventbasierten Ansatz erreicht, bei dem die Services ihre Daten über Events austauschen.

Um flexibler zu sein, haben wir eine GraphQL-API entwickelt. Diese API ermöglicht es unserem Frontend, in einem API-Aufruf nur die Daten abzufragen, die es gerade benötigt von den unterschiedlichen Services. Gleiches gilt für unsere Partner, die unsere Daten in ihre Systeme integrieren wollen.

Darüber hinaus nutzen wir Apollo Federation als zentrales GraphQL Schema Management und können so mehrere Subgraphen bzw. Services in einem zentralen API Endpoint zusammenfassen. Durch den Einsatz einer Microservice-Architektur können wir die Subgraphen neuer Services an den übergeordneten Supergraph anbinden. Dies ermöglicht eine verteilte Abarbeitung von Anfragen je nach Anforderung.

Nachdem wir bisher sehr positive Erfahrungen mit AWS gemacht haben, war es für uns eine klare Entscheidung, uns erneut für die Nutzung der neuesten Services und Architekturparadigmen auf AWS zu entscheiden. Die Vielzahl der Services, die hervorragende Verfügbarkeit und Skalierbarkeit sind nur einige Punkte, die für AWS sprechen. Darüber hinaus hat sich der Austausch mit AWS als äußerst wertvoll erwiesen und die Unterstützung, die wir in diesem Projekt erhalten haben, bestätigt einmal mehr, dass AWS die richtige Wahl für uns ist.

Die Lösung

Data Lake und Analytics

Hailo digital_hub Data Lake

Unser Data Lake basiert auf Amazon S3. S3 eignet sich aufgrund der hohen Beständigkeit, Verfügbarkeit, Skalierbarkeit, Sicherheit und Auditierbarkeit sehr gut für den Aufbau von Data Lakes.

Der Data Lake empfängt Daten aus verschiedenen Quellen. Dabei handelt es sich um Streaming-Daten über Amazon Kinesis, IoT Events über AWS IoT Core oder REST-API-Anfragen über Amazon API Gateway.

Unser Ziel ist es, alle Daten aus verschiedenen Quellen zu verarbeiten, die für die Analyse des Abfallaufkommens und des Abfallverhaltens relevant sind. Die Verarbeitung verschiedener Datenpunkte von unterschiedlichen Sensoren hat uns in der Vergangenheit geholfen, Abfallverhalten besser zu verstehen und genauere Vorhersagen zu treffen.

Eingehende Daten werden zunächst in einem Raw S3 Bucket gespeichert. Die zu verarbeitenden Daten werden zusätzlich im Processed S3 Bucket gespeichert und Benachrichtigungen über neue Daten über den Amazon Simple Notification Service (Amazon SNS) veröffentlicht.

Mithilfe von AWS Glue und Amazon Athena werden dort die ersten Daten analysiert. AWS Glue dient hierbei als serverless ETL-Tool und Athena ermöglicht ad-hoc SQL-Abfragen in der AWS Management Console oder mit Amazon QuickSight. Zusätzlich wird mit Amazon SageMaker die Auswertung durch KI-Modelle unterstützt. Zudem werden die Daten weiter aufbereitet, partitioniert und mittels ETL-Jobs in den Analytics S3 Bucket gespeichert.

Die Daten im Analytics Bucket sollen unter anderem zur Erstellung detaillierter Berichte verwendet werden, die den Kunden einen genauen Einblick in ihr Abfallverhalten geben. Ausgewählte Kunden haben auch die Möglichkeit, ihre Daten in einem Amazon QuickSight Dashboard selbst zu analysieren.

Microservice Backend mit Apollo GraphQL Federation

Hailo digital_hub Microservices

Neben Reports und Analysen aus dem Data Lake bieten wir unseren Kunden vielfältige Funktionen wie Dashboarding oder die datenbasierte Optimierung von Reinigungszyklen in Gebäuden an. Um diese und weitere Services flexibel anbieten zu können, haben wir im Backend eine Microservices-Architektur aufgebaut.

Die Microservices-Architektur grenzt die Services klar voneinander ab und ermöglicht eine hohe Ausfallsicherheit und granulare Skalierbarkeit. Mittels Apollo Federation werden die Services einheitlich und zentral sowohl für das Frontend als auch für Drittanbieter zur Verfügung gestellt.

Alle Services folgen einer einheitlichen, mehrstufigen Struktur, die im Folgenden dargestellt ist:

Im Input Interface werden die Daten aus dem Data Lake bezogen. Zum einen werden die Daten aus dem Data Lake über den Processed SNS Layer mittels einer Amazon Simple Queue Service (Amazon SQS) Queue abgerufen. Die Kombination aus SNS und SQS um Daten zwischen dem Data Lake und den Microservices sowie untereinander auszutauschen. SQS ermöglicht zudem die Fehlerbehebung durch die Verwendung der Dead-Letter-Queue (DLQ), um verlorene Daten wiederherzustellen.

Diese Daten werden mithilfe von Compute Services wie AWS Lambda oder Amazon Elastic Compute Cloud (Amazon EC2) in die jeweilige Datenbank geschrieben. Für die Datenhaltung nutzen wir, wenn möglich, Amazon DynamoDB als vollständig verwaltete NoSQL-Datenbank. In einzelnen Fällen kommt auch Amazon Relational Database Service (Amazon RDS) oder Amazon Neptune zum Einsatz, um die spezifischen Anforderungen bestimmter Services zu erfüllen.

Aus diesen Datenbanken können die Daten dann über einen weiteren Compute Layer abgerufen werden, um dem Anwender die entsprechenden Informationen bereitzustellen. Zum Beispiel kann somit Datensatz analysiert werden, um festzustellen, ob es sich um eine Entleerung handelt.

Grundsätzlich kommunizieren unsere Services über ereignisgesteuerte Architektur miteinander, da einige Services nicht nur einzelne Datenpunkte benötigen, sondern auch Veränderungen der Stammdaten von anderen Services benötigen.

Ausblick: Automatisierte Waste Management Analytics mit generativer KI

Ein weiterer Anwendungsfall, der an den Data Lake anschließt, ist die automatisierte Erstellung von Berichten mit Hilfe generativer KI. Wo bislang viel manueller Aufwand notwendig war, um komplexe Berichte über Abfallmengen, Recyclingpotenziale und Optimierungsmöglichkeiten für Kunden zu erstellen, möchten wir diesen Prozess mit Amazon Bedrock teilautomatisieren.

Amazon Bedrock ist ein vollständig verwalteter Service, der über eine einzige API eine Auswahl an leistungsstarken Large Language Models (LLMs) und weiteren Modellen zugänglich macht. Bedrock ermöglicht es, quasi-natürlichsprachliche Anfragen an den Data Lake zu stellen und die resultierenden Insights in unseren Berichten zu verwenden. So können wir Berichte schneller, effizienter und kostengünstiger erstellen und unsere Data Scientists für anspruchsvollere Analyseaufgaben einsetzen.

Zukünftig planen wir den Einsatz generativer KI weiter auszubauen und unseren Kunden Funktionen für Self-Service Analytics bereitzustellen. Mithilfe von Amazon Q in QuickSight, der generativen KI-Funktion für Amazon QuickSight, können Anwender eigene Ad-hoc-Analysen durchführen, indem sie Fragen in natürlicher Sprache an den Data Lake stellen. QuickSight Q versteht den Kontext, interpretiert die Absicht hinter der Frage und gibt die gewünschten Erkenntnisse und Visualisierungen direkt aus den Daten im Data Lake zurück.

Abschluss

Der Aufbau eines zentralen Data Lake und die Einführung einer flexiblen GraphQL-API auf Basis von Microservices und Apollo Federation waren wichtige Schritte, um die Lösungen des Hailo digital_hub zukunftssicher zu gestalten. Wir können nun Daten aus verschiedenen Quellen unkompliziert integrieren, effizient analysieren und die Erkenntnisse unseren Kunden über moderne Oberflächen und Schnittstellen bereitstellen.

Der Einsatz generativer KI zur Analyse der Daten im Data Lake sowie die Ausbaufähigkeit der Architektur für Self-Service Analytics eröffnen uns völlig neue Möglichkeiten der Datenauswertung. Wir sind damit bestens gerüstet, um das Müllverhalten in Gebäuden ganzheitlich zu verstehen und unseren Kunden datengestützte, nachhaltige Abfalllösungen anzubieten – ganz im Sinne einer funktionierenden Kreislaufwirtschaft.

Weitere Informationen über unsere intelligenten Lösungen für digitales Abfallmanagement sind auf unserer Webseite verfügbar.