Internet der Dinge: Analytics in der Edge und der Cloud

Internet der Dinge: Analytics in der Edge und der Cloud

von Bernhard Steimel 12. Juni 2017

„Viele Operationen müssen in den Edge-Gateways erledigt werden, um Verzögerungen zu vermeiden“, sagt Christian Pereira, Geschäftsführer des IoT-Spezialisten Q-Loud GmbH. „Außerdem musst Security direkt von Anfang an berücksichtigt werden.“

Diese beiden grundlegenden Anforderungen haben eine Reihe von Folgen für den Aufbau des IoT-Stacks, etwa bei Storage, dem Device-Management, Messaging und Event-Prozessing sowie einigen anderen Themen.

Storage

Ein zentraler Aspekt aller IoT-Lösungen ist Storage, da hier Besonderheiten gegenüber der herkömmlichen Business-IT gelten. Die meisten Unternehmen haben durch ihre eigene IT sehr lange Erfahrung mit SQL-Datenbanken. Im IoT werden allerdings zunehmend NoSQL-Datenbanken eingesetzt, da hier sehr große Datenmengen gespeichert werden, die über einen langen Zeitraum bereitgestellt werden müssen. Zudem gibt es hohe Verfügbarkeitsanforderungen, die teilweise sogar bis in Echtzeit-Zugriffe hineingehen. Hierzu werden üblicherweise verteilte Datenbank-Architekturen eingesetzt, die eine höhere Verfügbarkeit als herkömmliche Datenbanken erlauben.

Genutzt werden beispielsweise Hadoop oder Cassandra. Hadoop ist ein Framework für skalierbare, verteilt arbeitende Software. Es wurde ursprünglich von Google für seine eigenen Zwecke entwickelt und ermöglicht es, extrem große Datenmengen im Petabyte-Bereich auf Computerclustern zu bearbeiten. Cassandra ist ein verteiltes Datenbankverwaltungssystem für große, strukturierte Datenmengen und gehört zu den sogenannten NoSQL-Datenbanksystemen. Es ist auf hohe Skalierbarkeit und Ausfallsicherheit hin optimiert und wurde ursprünglich von Facebook als Basis-Datenbanksystem des sozialen Netzwerks entwickelt.

Diese und einige andere NoSQL-Datenbanken eignen sich sehr gut für eine Standardaufgabe im Internet der Dinge: Die Devices senden innerhalb eines kurzen Zeitraumes sehr große Datenmengen, die möglichst schnell im verteilten System gespeichert werden müssen.

„Die Unternehmen müssen verstehen, dass es im IoT um äußerst große Datenmengen und extreme Anforderungen an die Verfügbarkeit geht“, betont Christian Pereira.

Ergänzt wird die hohe Arbeitsgeschwindigkeit durch Zusatzfunktionen, etwa die Bestimmung der Lebensdauer der Daten. Es ist beispielsweise möglich, direkt beim Schreiben ein Ablaufdatum zu vergeben, an dem die Daten automatisch und ohne weiteren Benutzereingriff gelöscht werden.

„Solche Datenbanken verwalten sich gewissermaßen selbst und sind dadurch extrem effizient“, betont Christian Pereira von Q-Loud.

Voraussetzung für den erfolgreichen Einsatz sind allerdings spezielle Konzepte für die Datenspeicherung. Die Unternehmen müssen im Vorfeld festlegen, welche Daten hereinkommen, in welchem Format sie sich befinden und in welcher Auflösung sie erscheinen.

Ein Beispiel: Temperatursensoren übertragen lediglich die nackten Daten, etwa in Form von Zahlen. In einem Speicherkonzept muss festgelegt werden, dass es sich um Temperaturdaten handelt, ob die Daten in Grad Celsius oder Fahrenheit übertragen werden und ob die Zahlen für ganze oder beispielsweise Zehntelgrade stehen. Nur durch ein solches Speicherkonzept können die gespeicherten Daten auch nach langer Zeit noch sinnvoll bearbeitet werden.

Device-Management

Ein wichtiges Merkmal für die Zuordnung von Daten zu Datenquellen ist die Identität eines einzelnen Gerätes. Die Verwaltung der Geräteidentität ist ein entscheidender Bestandteil des gesamten Device-Managements. Zugleich ist es verknüpft mit dem Sicherheitskonzept.

Eine gute Lösung für Plattform-Anbieter ist die Verknüpfung von Identität und Device direkt bei der Fertigung.

„Jedes Gerät kommt direkt bei der Herstellung eine eindeutige Nummer eingebrannt“, sagt Christian Pereira von Q-Loud.

Dadurch kann jedes Gerät eindeutig identifiziert werden, unabhängig vom Plattform-Nutzer.

Im Device-Management entsteht dadurch zu jedem Device ein digitaler Zwilling – der Datensatz in der Verwaltungssoftware stimmt mit der in der Hardware gespeicherten Identität überein. Dem Device-Management der IoT Plattform ist dadurch zu jeder Zeit klar, um welches Gerät es sich handelt und welche Daten von ihm ermittelt und übertragen werden.

Nach der Auslieferung an einen Plattform-Kunden bekommt das Gerät nun einen Eigentümer. Dieses Verhältnis muss auch im Device-Management dargestellt werden, so das der digitale Zwilling des Gerätes ebenfalls einen Besitzervermerk bekommt. Letztlich kann darauf ein Rollen- und Rechte-Konzept aufgebaut werden. Mit ihm wird sichergestellt, dass nur bestimmte, berechtigte Personen, den Zugriff auf die Geräte und Daten haben und damit bestimmte Operationen ausführen können.

Das Rechtemanagement kann dabei durchaus komplex werden. Ein Beispiel dafür wäre ein Energiemanagement-Dienstleister, der eine IoT-Lösung für Smart Meter betreibt. Aber auch der Stromkunde möchte die Daten erhalten. Hierfür gibt es beim Stromversorger ein Rechtemanagement und die entsprechenden Zugriffsrechte müssen auch an die Plattform durchgereicht werden.

Ein sehr wichtiger Aspekt des Device-Managements sind Firmware-Updates, die neue Funktionen bringen oder Fehler und Sicherheitslücken beheben. Die Software für das Device-Management muss die Firmware-Versionen aller angeschlossenen Geräte kennen und dann in Eigenregie, zu einem guten Zeitpunkt, ein Update starten. Dies ist durchaus eine Herausforderung, da in einzelnen IoT-Szenarien mehre 10.000 Geräte oder mehr bedient werden müssen.

Diese unterschiedlichen Aspekte des Device-Managements sollten in aller Regel nicht vom Gerätebetreiber, sondern von einem speziellen Dienstleister erledigt werden. Hier finden sich die personellen und technischen Ressourcen und müssen nicht kostenträchtig aufgebaut werden.

„Eine sinnvolle Regel lautet: Alle Dinge, die nicht zum Kerngeschäft gehören und nur funktionieren müssen, sollte extern erledigt werden“, sagt Christian Pereira von Q-Loud.

Externe Dienstleister mit spezialisierten IoT-Plattformen sind zudem leichter in der Lage, auch komplexe Cloud-To-Cloud-Situationen zu bewältigen. Dabei werden die Geräte in der Cloud des IoT-Systemanbieters verwaltet, die Daten aber beispielsweise bei einem Drittanbieter in einer Public-Cloud-Lösung verarbeitet. Der eigentliche Nutzer der IoT-Lösung sieht nur Ergebnisse und aggregierte Daten, hat aber mit der eigentlichen Verwaltung der Geräte und der Datenbearbeitung nur indirekt zu tun.

Messaging

Neben Storage und Device Management ist das Messaging ein wichtiges Element jeder IoT-Lösung. Im Unterschied zur Datenübertragung von Computer zu Computer gibt es im Internet der Dinge andere Regeln. Die Grundfunktionalität des üblicherweise eingesetzten Messaging-Protokolls MQTT wird „Publish and Subscribe“ genannt oder kurz PubSub.

Bei diesem Verfahren senden die IoT-Geräte ihre Daten nicht direkt an einen bestimmten Empfänger. Stattdessen veröffentlichen („Publish“) sie Nachrichtenklassen, die von beliebigen, ihnen unbekannten Empfängern ausgewertet werden können. Diese Empfänger abonnieren („Subscribe“) dann die Nachrichten dieser Klassen.

Der Vorteil dieser Vorgehensweise: Ein Gerät kann seine Nachrichten in unterschiedlicher Form an zahlreiche Geräte versenden, ohne dass es dafür spezielle Routinen kennen muss. Der Empfänger ruft entsprechend seiner Kodierung die Nachrichten ab. Damit ist es auf Empfängerseite zum Beispiel möglich, nur bestimmte Nachrichtentypen oder nur Nachrichten aus einzelnen geografischen Regionen abzurufen.

MQTT ist ein Standard für dieses Verfahren und ein sehr schlankes und leistungsfähiges Protokoll. Es eignet sich hervorragend für IoT-Anwendungen, da es deutlich besser skaliert als andere Messaging-Lösungen. Damit können Geräte auch Nachrichten parallel an mehrere Message-Broker senden. Sie umgehen damit Probleme mit zu starken Workloads, ohne Loadbalancing einsetzen zu müssen.

„Nicht alle IoT-Plattformen nutzen MQTT, obwohl es ein gängiger Standard ist. Solche Plattformen werden wahrscheinlich nicht besonders gut skalieren können“, meint Christian Pereira.

Event-Processing und Basic Analytics

Auf dem Weg der Daten in die Anwendungsschicht müssen die Nachrichtenereignisse zunächst verarbeitet (Event-Processing) und aufbereitet (Basic Analytics) werden. Diese beiden Aufgaben gehören zusammen und können entweder durch Cloud Computing oder durch Edge Computing erfüllt werden.

Vor allem im Bereich industrieller Anwendungen ist es häufig erforderlich, die grundlegende Datenverarbeitung im Gateway abzuwickeln. Ein wichtiger Grund dafür ist die Anforderung, Alarm-Trigger wie etwa das Überschreiten bestimmter Schwellwerte direkt im Gateway zu verarbeiten und dann dort entsprechende Aktionen auszulösen.

Zudem ist es in vielen Szenarios sinnvoll, Netzwerkverbindungen nur dann aufzubauen, wenn es unbedingt notwendig ist. Dadurch können Kosten für das Mobilfunknetz gespart oder lange Signallaufzeiten vermieden werden. Letzteres ist vor allem in Anwendungen für die Industrie 4.0 wichtig, da Maschinensteuerungen in der Regel auf eine Echtzeit-Verarbeitung angewiesen sind.

Ein dritter Grund für Basic Analytics im Gateway ist die Möglichkeit, in die Cloud nur aufbereitete Daten zu übertragen. Normalerweise entstehen durch Sensorik enorme Datenmengen, da die Messwerte in sehr kurzen Zeitabständen ermittelt werden. Für zahlreiche Anwendungen ist es ausreichend, lediglich Wertänderungen zu übertragen, etwa bei einem Temperatursensor.

Advanced Analytics und Anwendungen

Die Cloud bietet vier wichtige Anwendungsbereiche:

  1. Daten speichern und archivieren
  2. Daten auswerten („Advanced Analytics“)
  3. Daten visualisieren
  4. Daten in Anwendungen nutzen, etwa Predictive Maintenance.

Eine möglichst allgemein nutzbare und flexible IoT-Plattform bietet neben diesen Anwendungen oder sogar stattdessen eine REST-basierte API an, die entweder über einen Konnektor in beliebigen anderen Anwendungen eingesetzt werden kann oder zur Basis einer selbst entwickelten Anwendung wird.

„Wir zwingen unsere Kunden nicht zum Einsatz bestimmter Tools“, sagt Christian Pereira. „Es muss möglich sein, eine Software oder einen Cloudservice eigener Wahl einzusetzen.“

Dieses Kriterium ist entscheidend für die Flexibilität eines IoT-Services, da vor allem im Bereich Analytics der Markt sehr heterogen ist und sich schnell entwickelt.

Security im Internet der Dinge

„Security ist das A und O beim Aufbau einer IoT-Lösung und sie beginnt bereits beim Device“, betont Christian Pereira.

Zahlreiche Unternehmen unterschätzen die Sicherheitsaspekte beim Internet der Dinge, da es deutlich mehr Angriffsszenarien gibt als in der herkömmlichen Business-IT. So gibt es neben der zentralen IoT Plattform mindestens drei Angriffsvektoren: Die mobilen Apps, Webportale und die Geräte selbst.

Für das Internet der Dinge sind Sicherheitskonzepte erforderlich, die über bisher bekannte Absicherungsmaßnahmen hinausgehen. So wird in einem typischen Rechenzentrum der Schutz durch Abschottung erreicht: Es gibt Zugangskontrollen zum Rechenzentrum selbst, Ports sind entweder verlötet oder abgetrennt, der Zugriff auf die Systeme ist stark beschränkt und viele andere Maßnahmen mehr.

Doch das Internet der Dinge funktioniert nicht als abgeschottetes System. IoT-Geschäftsszenarien bedeuten eine Öffnung der Systeme, etwa durch API-Zugriffe auf die eigenen Systeme. Daraus ergibt sich eine ganz wesentliche Anforderung an die IoT-Security: Sie ist identitätsbasiert, um die Zugriffe auf Geräte, Daten und Anwendungen anhand von Rechte- und Rollenkonzepten zu steuern.

Dabei ist wesentlich, dass die Identität (etwa in Form einer eindeutigen Nummer) jedem Device direkt bei der Fertigung aufgeprägt wird. Daraus ergibt sich eine sehr enge Zusammenarbeit zwischen Geräten und Plattform, die genau diese Art der Identität ebenfalls unterstützen muss.

„Unternehmen müssen IoT-Lösungen sind immer als Gesamtsystem verstehen, das Devices und die Plattform umfasst“, sagt Christian Pereira.

Sein Unternehmen Q-Loud hat ein zum Patent angemeldetes Security-Protokoll entwickelt, das im Wesentlichen auf der Verschlüsselung nach dem Public/Private-Key-Verfahren beruht.

Dabei erhält jedes IoT-Device direkt bei der Fertigung einen individuellen Private Key, der als Zertifikat im Speicherbereich des Gerätes abgelegt wird. Zur Verbesserung der Sicherheit werden für jedes Gerät in regelmäßigen Abständen neue Private Keys berechnet.
Dadurch gibt es erstens keinen Key, der für alle Geräte gültig ist – eine in manchen älteren Geräten vorhandene Sicherheitslücke. Zweitens kann ein Cyberangriff immer nur ein Gerät kompromittieren, bereits im benachbarten Gerät funktioniert ein geknackter Schlüssel nicht mehr. Drittens wird der Angreifer nach einiger Zeit durch den automatischen Austausch des Schlüssels wieder aus dem System herausgeworfen, selbst wenn der Angriff als solcher unbemerkt bleiben sollte.

Ein solch Sicherheitskonzept erfordert natürlich entsprechend ausgerüstete Devices. Die Geräte müssen so gut mit Speicher ausgestattet sein, dass regelmäßige Firmware-Updates möglich sind, etwa um Zertifikate auszutauschen oder aktualisierte Sicherheitsfunktionen auf das Gerät zu bringen.

Christian Pereira: „Die Unternehmen dürfen natürlich nicht den Fehler machen, die Hardware zu schwach zu gestalten, um 20 Cent einzusparen. Dies geht dann auf Kosten der Sicherheit.“

Schreibe einen Kommentar

Ähnliche Beiträge