So möge er jetzt entscheiden oder für immer schweigen
19.06.2020 – Zoltán Majó und Gert Brettlecker
Fachbeitrag in der Netzwoche vom 17.06.2020
Weit über hundert IoT-Plattformen sind aktuell auf dem Markt erhältlich. Da den Überblick zu behalten, fällt selbst Experten nicht leicht. Ein Wechsel der Plattform ist technisch meist möglich, aber oft mit hohen Kosten und viel Zeit verbunden. Um ein böses Erwachen zu vermeiden, ist für die Auswahl einer IoT-Plattform eine sorgfältige Evaluation entscheidend.
Unter «Internet of Things», kurz IoT, wird die Vernetzung physischer Geräte und deren Verbindung mit dem Internet verstanden. Sie ermöglicht die Realisierung neuer Funktionen wie die Interaktion mit Geräten ohne physische Präsenz des Benutzers oder die Sammlung und Analyse von Gerätedaten.
Die Realisierung neuer internetbasierter Funktionen erfordert auch den Aufbau eines ganzen IoT-Ökosystems. Dieses besteht neben vernetzten Geräten typischerweise aus verschiedenen IT-Systemen wie beispielsweise Mobile- und Webapplikationen, die die Interaktion zwischen Geräten und Endbenutzern ermöglichen. Andere Teilsysteme des IoT-Ökosystems bilden Geschäftsprozesse ab oder realisieren eine Integration mit bestehenden IT-Diensten.
Zentrale Kommunikationsdrehscheibe
Das Herzstück eines IoT-Ökosystems ist die IoT-Plattform, wodurch eine zentrale Funktionalität – die Kommunikation mit den Geräten im Feld – abgewickelt wird. Zusätzlich bieten die meisten Plattformen eine Auswahl an weiteren Grundfunktionalitäten wie etwa Firmware-Updates für angebundene Geräte oder die Archivierung und Analyse der von den Geräten erhaltenen Daten. Diese Grundfunktionalitäten decken selten den kompletten Funktionsbedarf eines IoT-Anwendungsfalles ab. Denn oft benötigen diese Anwendungsfälle auch Funktionalitäten, die spezifisch für ein Geschäftsfeld oder ein Unternehmen sind. Geschäftsspezifische Funktionalitäten sind typischerweise nicht Teil einer IoT-Plattform. Letztere soll vor allem die technische Grundlage bereitstellen: Schnell und auf einfache Weise eine grosse Anzahl von Anwendungsfällen realisieren.
Durch die Bereitstellung von Grundfunktionalitäten kann eine IoT-Plattform als Baustein zum Aufbau des IoT-Ökosystems verwendet werden, wodurch sich ein Unternehmen auf die Entwicklung der geschäftsrelevanten und -spezifischen Funktionalitäten des Ökosystems fokussieren kann. Auf diese Weise besteht die Chance einer kürzeren Time-to-Market.
Es gibt Fälle, in denen eine IoT-Plattform die benötigten Anwendungsfälle fast vollständig oder sogar komplett abdeckt. So lässt sich die Zeit bis zur Produkteinführung weiter verkürzen. Allerdings stellt diese meist sehr spezifische Anforderungen an Geräte-Hardware oder -Software, die dazu führen, dass sie für zukünftige Anwendungsfälle nur mit Schwierigkeiten oder womöglich gar nicht verwendet werden kann.
Die Suche nach der Nadel im Heuhaufen
Doch wie wählt ein Unternehmen eine IoT-Plattform aus? Der angebotene Funktionsumfang ist ein wichtiges Kriterium. Dieser lässt sich aus den Anforderungen der geplanten Anwendungsfälle ableiten. Trotzdem bleibt der Entscheid oftmals schwierig: Aktuell gibt es hunderte Plattformen auf dem Markt, sowohl als gebührenpflichtige als auch freie Software. Und der exakte Funktionsumfang ist häufig nicht leicht zu identifizieren. Für eine grobe Einordnung kann die Dokumentation der Plattform ein guter Startpunkt sein. Oft ist ebendiese jedoch nicht klar oder detailliert genug, um mit absoluter Sicherheit sagen zu können, ob eine Plattform zum definierten Anwendungsfall passt.
Im Praxistest
Die Praxis beweist, dass es sich in jedem Fall auszahlt, zunächst Anforderungen klar zu identifizieren. Anschliessend kann man versuchen, diese im Sinne eines Proof-of-Concept (PoC) auf der vorgesehenen Plattform zu realisieren.
Viele Anforderungen, wie etwa die sichere Kommunikation zwischen Plattform und Geräten, das initiale sichere Erfassen von Gerätestammdaten inklusive zugehöriger Schlüsselinformationen oder die Möglichkeit für die Abbildung einer Zuordnung zwischen Nutzern und Geräten, sollten durch Grundfunktionalitäten abgedeckt werden. Hier muss geprüft werden, ob und in welchem Umfang die gegebene Plattform die entsprechende Grundfunktionalität anbietet.
Manche Anforderungen sind geschäftsspezifisch und werden voraussichtlich durch eine andere Komponente des IoT-Ökosystems und nicht durch die Plattform selbst abgedeckt. Diese geschäftsspezifischen Anforderungen sind wichtig, denn daraus können indirekte Anforderungen wie beispielsweise die zeitnahe Reaktion auf Geräte-Ereignisse abgeleitet werden.
Schliesslich ist es wichtig, dass die ausgewählten Anforderungen den Anwendungsfall nicht komplett abdecken, da der PoC nicht den kompletten Anwendungsfall realisieren soll. Wichtigkeit, Allgemeinheit und Priorität müssen im Voraus gut eingeschätzt werden. Eine Auswahl kann für die Evaluation mehrerer Plattformen verwendet werden, um eine gute Basis für den Vergleich zu schaffen.
Cloud oder nicht Cloud?
Es ist nicht praktikabel, für Vergleichszwecke einen PoC auf zu vielen verschiedenen Plattformen zu erstellen. Um den Aufwand effizient zu halten, hilft ein Vorentscheid basierend auf dem Betriebsmodell.
Viele Plattformen werden als Cloud-Dienst von grossen Herstellern wie Amazon, Microsoft oder Google angeboten, was einen erhöhten Grad an Performanz, Skalierbarkeit, Verfügbarkeit und Ausfallsicherheit bietet. Sind diese Kriterien zentral, bieten die führenden Hersteller eine gute Auswahl. Man bedenke, dass der Schritt zu einer externen cloudbasierten Plattform eine lange und enge Partnerschaft und somit Abhängigkeit von einem Drittanbieter mit sich bringt, aus der man sich häufig nicht leicht lösen kann. In vielen Fällen sind Geräte nach ihrer Inbetriebnahme im Feld stationiert. Da die Geräte oft ausschliesslich über die Plattform erreichbar sind, ist die Auswahl von strategischer Wichtigkeit. Sie muss während der ganzen geplanten Lebensdauer der Gräte erreichbar sein. Ansonsten ist mit teuren Rückrufen zu rechnen.
Eine Alternative zu den Grossanbietern bieten selbstbetriebene Plattformen. Diese können im eigenen oder in Rechenzentren Dritter laufen. Eigenhändiger Betrieb erzeugt Mehraufwand, bietet jedoch Zugriff zu internen Komponenten des Systems, und somit sind Feineinstellungen wie zum Beispiel die Konfiguration der Kommunikationsprotokolle möglich. Solche Einstellungen können durch Einschränkungen der Soft- beziehungsweise Hardware auf der Geräteseite bedingt sein und sind auf grossen Plattformen oft nicht möglich. Zudem hat man bei einer selbstbetriebenen Plattform eine bessere Kontrolle über das Deployment: Bei Änderungen der Software kann bestimmt werden, ob das eigene Deployment zeitnah oder eher verzögert auf den neuesten Stand gebracht werden soll.
Auch die Kombination cloudbasierter und selbstbetriebener Plattformen sei nicht ausgeschlossen. Ein sogenanntes Hybridmodell, das heisst zwei Plattformen im Ökosystem, sind durchaus möglich. Kritische Funktionalitäten wie etwa Software-Updates können selbstbetrieben sein, andere durch cloudbasierte Dienste abgedeckt werden. Falls die Bedingungen des IoT-Cloud-Dienstes den Anforderungen nicht mehr genügen, kann ein anderer in das Ökosystem integriert werden. In diesem Fall müssen die Geräte entsprechend aktualisiert werden. Mittels selbstbetriebener und unveränderter Software-Update-Funktionalität sollte dies gut möglich sein.
Der Blick auf das grosse Ganze
Aktuell hat sich noch kein Plattformstandard etabliert und entsprechend gibt es viele Plattformen, die sich in wesentlichen Merkmalen voneinander unterscheiden. Die passende Auswahl ist nicht trivial, aber umso wichtiger. Beim Aufbau eines IoT-Ökosystems verpflichtet man sich potenziell für die gesamte Lebensdauer der internetfähigen Geräte.
Es gibt verschiedene Ansätze für die Wahl – vom Studium der Plattformdokumentation bis zum Bau von PoCs, die auf vorhandenen Anforderungen basieren. Die Praxis zeigt: der letztere Weg ist der effizientere. Mit dem Vergleich werden bereits die ersten Schritte in der Entwicklung des geplanten IoT-Ökosystems gemacht, indem man die Anforderungen aufarbeitet und eine erste Architekturskizze des Gesamtsystems mitsamt Schnittstellen entwickelt. Der aufgestellte Anforderungskatalog bietet zudem eine gute Basis für einen nachträglichen Vergleich mit weiteren Plattformen.
Wichtig ist, ein IoT-Ökosystem möglichst gesamtheitlich zu betrachten und Aspekte wie die Entwicklung der Gerätelogik, der Plattform, der Businessanwendungen, aber auch der Sicherheit sowie die geplante zeitliche Entwicklung des Systems von Beginn an zu berücksichtigen. Die Gesamtbetrachtung ist anspruchsvoll, stellt jedoch sicher, dass das System zum nachhaltigen Geschäftserfolg beisteuert.