Sicher im Nebel

Neu im Eclipse-Universum: ioFabric – die Microservices-Plattform für das Fog Computing

Dominik Mohilo

© Shutterstock.com / Ollyy

Im Internet of Things geht es in erster Linie um die Vernetzung und das Sammeln von Daten. Für viele Use Cases ist das Cloud Computing daher die perfekte Wahl. In manchen Fällen ist allerdings auch die Geschwindigkeit der Datenverarbeitung und -weitergabe von entscheidender Wichtigkeit. Dann wird es Zeit, sich ernsthaft mit dem Fog Computing auseinanderzusetzen.

Hintergrund

Heutzutage läuft im Bereich des Datentransfers und der Datenspeicherung fast alles über die Cloud. Unternehmen wie Amazon stellen den Speicher sowie Zugriffssoftware zur Verfügung und Unternehmen können ihre Daten auf diese Weise zentral lagern. Natürlich gibt es APIs, die es Entwicklern ermöglichen, Programme und Anwendungen zu schreiben, die auf diesen Datenspeicher – im Rahmen ihrer Rechte – zugreifen können. Auch für das Internet der Dinge (IoT) ist dies natürlich nicht unerheblich: Die Cloud wird häufig als Datenspeicher für die gesammelten Daten von Endgeräten und deren Sensoren verwendet, andere Geräte können über diesen Speicher auf die Daten zugreifen.

Einen ähnlichen, wenn auch sehr viel direkteren, Ansatz verfolgt das sogenannte Fog Computing. Dabei geht es im Grunde darum, den Datentransfer von miteinander verbundenen Geräten nicht über den Umweg der Cloud gehen zu lassen, sondern Daten direkt auf sogenannten Edge Devices, also am „Rand“ des Datennetzes, zu verarbeiten. Solche Edge Devices können etwa die tatsächlichen Endgeräte oder Router bzw. Unternehmensserver sein, über die die Endgeräte mit dem IoT verbunden sind. Geräte, die im Internet of Things über Fog Computing verbunden sind, können so direkt miteinander kommunizieren: Das digitale Thermometer einer Fabrikhalle kann so beispielsweise den ganzen Tag über die Temperatur messen und an ein Temperaturkontrollsystem weitergeben, das automatisch die Temperatur anpasst – ein Umweg über die (meist langsame) Cloud als Zwischenspeicher für die Daten würde somit überflüssig.

Für die Entwicklung von IoT-Software für die Cloud gibt es etliche Tools. Das neue Projekt Eclipse ioFabric wurde ins Leben gerufen, um das Entwickeln von Fog Computing Software für Edge Devices genauso einfach und angenehm zu machen, als würde man Anwendungen für die Cloud schreiben.

Features

Mit dem Projekt ioFabric stellt das Team rund um Projektleiter Kilton Hopkins einen Fog Computing Layer zur Verfügung, der auf jedem Gerät installiert werden kann, das Linux verwendet. Neben der generellen Laufzeitumgebung für Edge Microservices, also Microservices, die am „Rand“ laufen, bringt ioFabric auch nützliche Services. Dazu gehören etwa ein Message Bus, der die Kommunikation der Geräte regelt, die Möglichkeit zur dynamischen Konfiguration der Microservices und eine Remote-Debugging-Funktion. Der ioFabric-Agent kann auf verschiedenen Betriebssystemen ausgeführt werden, darunter auch Linux.

Die zentrale Stelle für die Verbindung zwischen verschiedenen ioFabric–Instanzen nennt sich ComSat. Diese Komponente von ioFabric erspart es Entwicklern, Code zu schreiben, nur um Daten von A nach B zu transferieren. Die Verbindung über den ComSat ist sogar über private Netzwerke und durch Firewalls hindurch möglich. Über das Design-time Interface ioAuthoring können sogenannte Tracks erstellt, gespeichert, bearbeitet, orchestriert, verwaltet und deployt werden. Diese Tracks sind nichts anderes als Microservice-Schemata. ioAuthoring läuft auf diversen Linux-Distributionen und nutzt das API des Fabric Controllers.

Die Struktur von ioFabric / Quelle: Eclipse Foundation

Die Struktur von ioFabric / Quelle: Eclipse Foundation

Der Fabric Controller ist die Schnittstelle zwischen den einzelnen ioFabric-Instanzen und der ioAuthoring-Anwendung. Als Fog Computing Node Controller leitet er quasi die von zentraler Stelle geleiteten Microservice-Anweisungen an die Edge-Geräte weiter. Durch das vorhandene API kann das Fog-Computing-Gebilde auch über externe Tools gesteuert werden.

Neben dieser grundsätzlichen Technologie hat ioFabric diverse SDKs für eine Vielzahl von Programmiersprachen und ein lokales Software Development Tool an Bord. Letzteres ahmt die Fog-Computing-Laufzeit nach, sodass Entwickler ihren Code in einer Simulation testen können, bevor sie ihn als Microservice verpacken. Dieses Tool nennt sich Test Message Generator.

Ausblick

Initial gibt es zunächst SDKs für Java, Python und Node.js, weitere sollen im Oktober dieses Jahres und im Januar nächsten Jahres folgen. Für die Zukunft haben sich die Entwickler vorgenommen, das API des Fabric Controllers weiter zu verbessern und die IDE-Integration zu ermöglichen. Zudem steht eine Funktionalität auf dem Wunschzettel der Macher, die die Veröffentlichung von reichhaltigen Microservices ermöglicht.

Bereits existierende Projekte des Eclipse-Universums können mit ioFabric interessante Synergien entwickeln, etwa hawkBit, Vorto oder Kura. So können beispielsweise ioFabric und die darin enthaltene Komponente ComSat genutzt werden, um Kura Gateways mit neuen Möglichkeiten zur Konnektivität und Servicability zu erweitern, während die Gateways selber sicher hinter der Firewall oder einem NATed-Netzwerk verbleiben.

Wer sich für das Projekt und die technischen Details interessiert, findet alle Informationen zu ioFabric im Proposal bei Eclipse.

Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: