Designing Digital Future

Edge Computing in einem IoT-Projekt

Der Begriff «Edge Computing» bezieht sich in der IoT-Welt auf die Bearbeitung von Daten, bevor diese in die Cloud gesendet werden. Informationen werden dabei möglichst nah an ihrem Entstehungsort gefiltert, ergänzt und erweitert.

Dies bietet folgende Vorteile:

  • Geschwindigkeit: Ergebnisse können bereits sehr früh ausgewertet und analysiert werden. Der zeitintensive Weg in die Cloud entfällt.
  • Sicherheit: Benutzer von Cloud-Diensten können die Integrität ihrer Daten sicherstellen, bevor diese ihren Einflussbereich verlassen.
  • Einheitliche Schnittstellen:  Daten aus verschiedenen Quellen können bereits vor dem Senden an die Cloud in ein einheitliches Format überführt werden. Dies erhöht die Skalierbarkeit.
  • Entlastung der Cloud: Durch das Filtern der Daten wird die Cloud nicht mit unnötigen Informationen belastet.
  • Ausfallsicherheit: Es können Mechanismen implementiert werden, welche bei einem Verbindungsverlust die Daten «on the edge» speichern und diese beim Wiederherstellen der Verbindung an die Cloud weiterleiten.

 

Architektur eines IoT-Projekts

Die Architektur eines IoT-Projekts lässt sich in einen Edge- und einen Cloud-Teil unterteilen. Auf der Edge-Seite werden die Informationen erzeugt, in ein einheitliches Format überführt, ergänzt und gefiltert. Verschiedene Anbieter stellen hierbei Lösungen zur Datenverarbeitung zur Verfügung, ein Beispiel wäre die IoT-Edge Runtime von Microsoft.

Auf der Cloud-Seite werden die Daten anschliessend weiterverarbeitet (z.B. mit Hilfe von Azure Functions) und in einer oder mehreren Datenbanken abgespeichert. Das Kundenportal kann dann auf diese Daten zugreifen und sie entsprechend visualisieren.

Die Architektur eines IoT-Projekts wird in einen Edge- und einen Cloud-Teil unterteilt.

Anbindung an die Cloud

In Produktionsbetrieben messen Sensoren die Zustände von Maschinen, welche anschliessend mittels eines PLC (Programmable Logic Controller) digitalisiert und an einen zentralen Server oder Message Broker gesendet werden. Zur Cloud-Anbindung wird diese Infrastruktur mit einem Field Gateway erweitert, welches die Daten des Servers ausliest und an die Cloud übermittelt.

Sensoren messen die Zustände von Maschinen; diese Daten werden digitalisiert und an einen zentralen Server oder Message Broker gesendet.

Eine grosse Herausforderung stellen die verschiedenen Typen von Servern / Message Brokern auf Kundenseite dar. Um eine möglichst grosse Kundenbasis abzudecken, muss das Field Gateway deshalb diverse Kommunikationsprotokolle unterstützen. Die am häufigsten verwendeten sind hierbei:

  • OPC-UA: OPC-UA beschreibt sowohl ein Architekturkonzept wie auch ein binäres Protokoll, welches zur Modellierung von Daten in Produktionsbetrieben flächendeckend eingesetzt wird. Es basiert auf einer Client-Server Architektur, wobei der Server hier z.B. in einem PLC integriert sein kann.
  • AMQP: Bei AMQP handelt es sich um ein weit verbreitetes Protokoll, das mittels Queuing und Routing von Daten arbeitet und somit eine asynchrone Datenübertragung ermöglicht.
  • MQTT: MQTT ist ein verhältnismässig simples Protokoll mit geringem Overhead, welches auf einem Publish-Subscribe Modell basiert.

 

Modularität im Field-Gateway

Um verschiedene Protokolle und Funktionalitäten zu unterstützen, müssen unterschiedliche Module für ein Field-Gateway entwickelt werden. Dabei kann zwischen Adapter-Modulen und Funktionalen-Modulen unterscheiden werden. Adapter-Module stellen die Verbindung mit einer Datenquelle (z.B. einem OPC-UA Server) her und lesen bzw. empfangen Daten. Funktions-Module wiederum verarbeiten die Daten und senden diese in die Cloud.

Durch diesen modularen Ansatz werden verschiedene Kombinationsmöglichkeiten von Modulen zur Verfügung gestellt, was wiederum die Implementation unterschiedlicher Module-Pipelines ermöglicht.

Ein Field-Gateway besteht aus verschiedenen Modulen.

Fazit

Edge-Computing ermöglicht eine hohe Skalierbarkeit einer IoT-Lösung und das Ausführen zeitkritischer oder sicherheitsrelevanter Funktionen auf Kundenseite («on the edge»). Durch die Unterstützung unterschiedlicher Schnittstellenstandards kann ein grosser Bereich von Datenquelltypen an die Cloud angebunden werden. Zudem ermöglichen Edge-Lösungen einem Entwicklerteam die Datensicherheit und Zuverlässigkeit der Datenübermittlung zu gewährleisten. Herausforderungen stellen sich hierbei vor allem bei der Implementation diverser Netzwerkprotokolle. Zudem müssen Edge-Lösungen intensiv auf ihr Verhalten in unterschiedlichen Umgebungen getestet werden (z.B. via Load-Tests).