Thin-edge.io

Fliegengewicht in der Cloud

Im letzten Artikel zum Edge-Computing wurde bereits deutlich hervorgehoben, dass der «Verarbeitung am Rande des Netzwerks» – dem Edge-Computing – eine ständig grössere Bedeutung beigemessen wird. Verschiedenste Anwendungen profitieren von dem Potenzial, das vernetzte Endgeräte für die lokale Verarbeitung darstellen. Dieser Artikel zeigt auf, wie auch kleinste Teilnehmer wie beispielsweise Embedded Devices Edge-Computing-Aufgaben übernehmen können.

23.09.2021Text: bbv0 Kommentare
Fliegengewicht in der Cloud_Gleitschirm

Was ist Thin-edge?

Ob Predictive Maintenance, M2M Kommunikation oder Industrie 4.0: Immer mehr IoT-Anwendungen basieren auf Edge-Architekturen. Dabei stellt sich die Frage, zu welchem Teil Funktionalität in der Cloud respektive auf dem Device verlagert wird. Zwei oft genannte Probleme sind der hohe Aufwand für die Integration sowie das Vendor Lock-in.

An diesen Herausforderungen setzt das Thin-edge.io-Framework an. Entwickelt durch eine Kooperation zwischen der Software AG und der ifm electronic GmbH wird es Anwendern ermöglicht, Ressourcen-beschränkte Systeme mit einer beliebigen Cloud zu verbinden.

Warum soll ich Thin-edge einsetzen?

Thin-edge bedeutet, nur wenig Verarbeitung, Filterung oder Aggregation am Punkt des Ursprungs zu anzuwenden. Es werden zwar verschiedene Betriebssysteme unterstützt, doch die Hauptzielgruppe werden Linux-basierte Geräte sein.

Der grosse Nutzen des Frameworks besteht in wiederverwendbaren, modularen und zuverlässigen Komponenten zur einfachen Integration. Es wurde im Wesentlichen mit den Programmiersprachen Rust und C programmiert und als Open Source unter der Apache-2.0-Lizenz veröffentlicht. Es bietet Anwendern zahlreiche Vorteile:

Flexibilität: Das berüchtigte Vendor Lock-in wird vermieden. Egal, ob AWS, Azure, Cumulocity: Der Cloud-Service kann individuell ausgewählt werden. Eigene Anwendungen lassen sich in beliebigen Sprachen entwickeln und ergänzen. Die Payload wird angepasst durch den Einsatz von angepassten JSON-Formaten, ein Mapping auf beliebige Datenformate ist möglich. Es werden zahlreiche Plattformen unterstützt.

Robustheit: Die horizontale Skalierung, also die steigende Anzahl an Geräten, wird durch das Framework unterstützt. Somit gelingt die schnelle Verbindung zwischen verschiedenen Geräten und Applikationen. Lange und fehleranfällige Entwicklungen von generischen Lösungen für verschiedene Gerätetypen werden deutlich vereinfacht.

Effizienz: Der Fokus liegt auf einer minimalen CPU und minimalem Speicherbedarf (< 16 MB) sowie mehr Effizienz durch direkte, native Performanz. Dadurch wird der Einsatz auf Geräten wie PLCs, Protocol Gateways und allgemein Embedded-Systemen gewährleistet. Gleichermassen werden auch leistungsstarke Devices unterstützt.

Wie funktioniert Thin-edge?

Thin-edge.io basiert auf einem Device-Agenten, der die Steuerung des Geräts und die Kommunikation implementiert. Hierfür kommt MQTT (Message Queuing Telemetry Transport) zum Einsatz. Der interne Broker steuert Aufrufe zwischen Modulen und dem Agenten. Als Schnittstelle zur Cloud wird ebenfalls per MQTT über eine Bridge kommuniziert.

Fliegengewicht in der Cloud_Komponenten
Überblick über die Komponenten von Thin-edge.io. Quelle: tech.forums.softwareag.com

Das Framework wird über eine Kommandozeile mit allen Abhängigkeiten per Skript auf dem Zielgerät installiert und konfiguriert. Das Gerät kann anschliessend mit einem selbst-signierten Zertifikat registriert und mit der Cloud verbunden werden. Die Unterstützung einer Public Key Infrastructure ist grundsätzlich vorgesehen, befindet sich zum heutigen Zeitpunkt aber noch in der Entwicklungsphase. Wie das Zertifikat ausgetauscht wird, ist noch nicht geregelt.

Bei Verwendung der Cumulocity Cloud kommt das von der Software AG entwickelte Smart-Rest-Protokoll zum Einsatz, das mit einem minimalen Datenverbrauch auftrumpfen kann. Die speziellen Features der Cumulocity Cloud wie beispielsweise das Device Management, die Konfiguration und der Remote Access bieten ein hohes Mass an unterschiedlichen Möglichkeiten. Mit weiteren Modulen werden zudem weitere Funktionalitäten ergänzt, etwa zur Verwaltung von Firmware oder Software, ein Command Line Interface sowie eine Zertifikatsverwaltung. Auch die Echtzeitverarbeitung von Messwerten kann über die Cumulocity Streaming Analytics realisiert werden.

Fazit

Der Übergang zur «herkömmlichen» Edge mit weiteren Funktionalitäten wie beispielsweise Storage oder Data-Visualisierung ist fliessend. Bis zum voll ausgestatteten Datacenter im produktiven Netzwerk sind viele Möglichkeiten denkbar. Das hier vorgestellte Framework richtet sich an skalierbare Architekturen mit möglichst einfacher Integration von Ressourcen-beschränkten Geräten.

Das Ziel der Thin-edge.io ist es, eine Referenz-Architektur zu gestalten, die Verbindung zwischen Edge- und Cloud-Lösungen zu vereinfachen und eine zuverlässige Integration von IoT-Diensten und Applikationen anzubieten.

Die Zyklen vom Konzept bis zum ersten Proof-of-Concept werden deutlich verkürzt, zudem steht eine breite Palette von Werkzeugen zur Verfügung. Die typischen Anwendungen für Device Management und Echtzeitverarbeitung sind damit ganz in der Hand des Anwenders. Gleichzeitig sinkt der Aufwand für die Implementierung und Integration durch die Vorteile des Thin-edge-Frameworks.

Der Autor

Christian Fischer

Christian Fischer ist für die bbv als Senior Software Entwickler im Bereich Embedded / MedTech tätig und begeistert sich für das breite Spektrum von Clean Code über User Experience bis hin zu IoT-Anwendungen. Er ist zertifizierter Cumulocity IoT Specialist und Co-Moderator der IoT Community.

Unser Wissen im Abo

Expansion ins Reich der Mitte

Die lange Reise von der Schweiz nach China

Big Data
Markteintritt in China

Wie China seine Daten schützt

Big Data
Cloud als Innovationsbeschleuniger

Coffee-as-a-Service: Kundenerlebnis neu definiert

Cloud Computing

Artikel kommentieren

Beachtung!

Entschuldigung, bisher haben wir nur Inhalte in English für diesen Abschnitt.

Achtung!

Entschuldigung, bisher haben wir für diesen Abschnitt nur deutschsprachige Inhalte.

Beachtung!

Entschuldigung, bisher haben wir nur Inhalte in English für diesen Abschnitt.

Achtung!

Entschuldigung, bisher haben wir für diesen Abschnitt nur deutschsprachige Inhalte.