plattformen für das internet der dinge, solutions.hamburg, 05.09.16
TRANSCRIPT
© Zühlke 2015
Plattformen für das Internet der DingeKennst Du eine, kennst Du alle?
Dr. Boris AdryanPrincipal Consultant
Dr. Boris Adryan
§ seit 1. September bei Zühlke (Deutschland)
§ langjähriger IoT-Enthusiast§ Gründer von thingslearn Ltd.§ Board Member & Strategic Advisor bei
PyCom, BioSelf, OpenSensors
§ davor: Leiter einer wissenschaftlichen Arbeitsgruppe im Bereich Machine Learning und Data Analytics an der University ofCambridge, England
@BorisAdryan
Sensor
Aktuator
Funk
Gateway
Cloud - the magic happens here
I’m somebody else’s computer.J
Internetverbindung
Funk
Ich spreche WiFi.
Messdaten
Kommandos
…und ich ein Smart-Phone
on off
Internet-verbindung Ich gehöre dem Netzbetreiber und
weiß, wann der Strom billiger ist.
Komme vom DWD und habe historische
Wetterdaten
Ich kenne Dein Auto.Du bist bald zu Hause!
„open data"
Infrastruktur
andere Firmen
Ich bin eine Heizung.
Ding BenutzerPlattform
SensorAktuator
VerteilungSpeicherung
Analyse
Web / mobile App
andere Dienste
Die Plattform ist ein elementarer Bestandteil einer IoT-Lösung.
Potentielle Szenarien
Ding „eigene” Komplettlösung
lokal (beim Gerät)on-prem (Dienstleister)
Benutzer
Cloud-LösungDing
DingDing
DingDing „eigene” Software-Lösung
Platform-as-a-Service
Software-as-a-Service
Stichwort: SMACK Stack
AWS IoTAzure IoT
Viele, viele!
Weithin vermarktet als „IoT-Plattform“.
Thema heute!
Benutzer
Benutzer
Benutzer
IoT und Cloud
SaaS
PaaS
big data stack
billig, wenn Zeit und Fähigkeit vorhanden
leichter zu erlernen
flexibler!
weniger Fummelei
komplette Kontrolle
einfach in der Benutzung
EVRYTHNG - AWS IoT
Manche SaaS IoT-Plattformen setzen auf öffentliche PaaS auf, z.B. ist
Infrastructure-as-a-Service
Platform-as-a-Service
Software-as-a-Service
Begriffsklärung von Service-Angeboten
unser Angebot - Azure IoT
“schlüsselfertige” Hardware
vorgefertigte, aber zumeist unkonfigurierte Software-Modulefür Entwickler
zum Teil vorgefertigte Komplettlösungen
Wo aber sollen SIE einsteigen? Und worauf sollten Sie achten?
Nun, es kommt drauf an…
Konsumgüter mit Internetverbindung
Die Qual der Wahl für Projektmanager und Entwickler:
PaaS
IoT-Plattform
AWS IoTAzure IoT
IBM/Watson IoTCisco IoT System
Google Cloud for IoTSalesforce IoT Cloud
General Electric PredixOracle Integrated CloudSAP HANA IoT Services
XivelyCarriotsUbidots
EMonCMSEVRYTHINGThingworxTinamous
OpensensorsThingspeak
GemaltoExositeEyehubParticle
Electric Imp
WyzBeeThinger
SmartLivingMTSIoT
CreatorIoTPlatONE
ParStreamSmartThings
PubNubdata@sparkfun
...
SaaS
Ihr Bedarf bestimmt, was eine “gute” Plattform ist!
Mögliche Schwerpunkte:
Die Auswahl einer PaaS und/oder SaaS-Plattform ist eine kritische Entscheidung!
•Weiterleitung•Speicherung•Datenanalytik
•Web Interface•Standards•APIs
•u.v.a.
Funktionen
Verwendung
Kosten•Funktionalität•Messages•Storage
•Konzept•Sprachen•Flexibilität
Entwicklung
Minimale Lösung: “Dump über http”-as-a-Service
Ablegen der Daten mithttp://yanza.com/post&mydevice&temp=21.3
http://yanza.com/?mydeviceliefert: mydevice=20160907095123&temp=21.3
Fehlt Ihnen etwas?
(Zeitstempelletzter Datensatz)
Wo bleibt die Sicherheit?• http post kann einfachst abgehört werden• jeder kann eine ID erraten und abfragen• jeder kann ‘mydevice’ als ID benutzen und
neue Daten schreiben
Ihre Antworten, die wir sehen wollten...
Ältere Datensätze nicht abrufbar
Keine anderweitige Funktionalität
http-Verbindung sicherlich langsam
Dies ist nicht der große c‘t Plattform-Test!
PaaSAWS...Azure...IBM...
SaaSUbidotsExositeOpenSensors...
KostenProto-kolle
Device Manager …
Anekdoten, Fallbeispiele, etc.
-Wie haben andere etwas
gemacht? Was würdeZühlke empfehlen?
Muß denn überhaupt „IoT“ draufstehen?
Beispiel: SunSprite Wearable
§ 1 Messung/Minute von Helligkeit (Lux) und UV-Index
§ Gerät speichert Daten von bis zu einer Woche zwischen
§ Synchronisierung über BLE
§ Visualisierung in App
§ Langfristige Speicherung und agglomarative Analytik in der Cloud
Mobile backend-as-a-Service
SunSprite ist ein Startup.
Kriterien:§ Schnelle Entwicklung§ Option zur Skalierung§ keine “Kostenfalle”
Skalierung
horizontal:mehr Benutzer, Geräte, Datenpakete –also mehr I/O, Speicher, Compute
vertikal:mehr Funktionalität, bessere Anpassung an spezielle Fälle, Option zum Experimentieren mit Business Modellen
© Zühlke 2015
wettbewerbsdifferenzierendStandard
Für die meisten IoT-Lösungen, die Zühlkebaut, kommt PaaS zum Einsatz.
© Zühlke 2015
PaaS bewahrt davor, das Rad neu zu erfinden
… schaffen keinen Business-Wert, sind aber Zeitfresser:§ Server-Infrastruktur§ Skalierungsmechanismen§ Deployment-Fragen
… überlässt man besser Spezialisten:§ Message Broker§ Datenbanken (RDBMS und NoSQL)§ Web Frameworks
Manche Dinge…
© Zühlke 2015
PaaS gibt Entwicklern Flexibilität
SaaS PaaS IaaS
das richtige Maß an
Customizing statt Lösungsdesign erlaubt Fokus auf fachliches
Problem
Risiko:„Programmieren
in Pop-up-Boxen“ erfüllt Entwickler nicht.
Hohe Produktivität, wo Plattform gut passt.Volle Kontrolle, wo
Sonderlösung benötigt wird.
Risiko:Not-invented-here-Syndrom verfehlt Produktivitätsziel
Entwickler haben volle Kontrolle über den
gesamten Stack, angefangen beim OS.
Risiko:Ressourcenverlust durch wiederholte
Evaluation von Tools, Frameworks, Komponenten
Warum gibt es dann die ganzen SaaS-artigen IoT-Plattformen?
§ Nicht jedes Budget erlaubt die Erstellung einer PaaS-basierten Lösung.
§ Bei genau definierten Anwendungen kann der Endkunde selbst auf die Plattform zugreifen –als IT-Dienstleister übernehmen wir nur die Konfiguration.
§ Für schnelles Prototyping erlauben diese Plattformen einen einfachen und meist kostenlosen Einstieg.
Begrüßungsbildschirm bei Ubidots
Warum mehr investieren, wenn der Kunde genau nur diesen einen Scatter-Plot braucht?
OpenSensors mit Node-RED
§ Vorteil: Bequeme Integration eigener und öffentlicher Daten.
§ Nachteil: Datentransfer und Compute nicht auf der Plattform.
Heimautomatisierung mit Thingspeak
zu Bewundern bei Masanori Fujita, Director Solution Center IoT bei Zühlke
Sensoren
Arduino
Raspberry Pi
Photovoltaik
Entscheidungen, Entscheidungen, ...
Masa, warum hast Du eigentlich Thingspeakausgesucht?
Weil es eine sehr einfache Möglichkeit war, Visualisierung zu bekommen.
Und wie kriegst Du die Daten da rein?
Begriffsklärung
Physikalische Ebene:Hardware und wie die Information physikalisch übermittelt wird
Logische Ebene:Wie die Information verpackt wird und zu ihrem Ziel findet
Architektur der Lösung
Informations-Architektur
Physikalische Ebene
Funk-/Bus- Kommunikation mit einem immer verfügbaren lokalen Gateway
Funkkommunikation der Devices mit einem temporären/mobilen Gateway
§ zum Gerät: BLE§ zur Plattform: Mobilfunk, WiFi
§ zum Gerät: klassiche Field-Bus-Systeme, ZigBee, LoRaWAN, 6LoWPAN, etc.
§ zur Plattform: Ethernet, (V)DSL, Mobilfunk
OSI-Layer 1-3
Logische Ebene
Web-Protokolle
OSI-Layer 4-7
IP (v4, v6)TCP, UDP, TLS/SSL
Application Layer
IoT-Protokolle
HTTP, HTTPS, Sockets MQTT, CoAP, AMQP, XMPP, OPC UA
XML
HTTP
TLS
TCP
raw
CoAP
DTLS
UDP
riesiger overhead
lesbarer Text binär
wie TLS, aber robuster bei schlechter Verbindung
geschwätzig und redundant
„fire & forget“
Ist das akademisch oder wirklich praxisrelevant?
HTML+XML(wie bei Thingspeak) CoAP+Rohdaten
Ein schwergewichtiges Protokoll kann viel –erzwingt manchmal aber auch eine gewisse Hardware
OPC UA
zu teuer für Standard-Haushaltsgeräte
wäre aber praktikabel mit einem Gateway
Hypothetisches Beispiel:
Andersherum geht es auch: ein passendes Protokoll für jede Leistungsklasse
leistungsstarker Rechnerpermanente Verbindung
leistungsschwacher Rechnertransiente, n 1 schnelle Verbindungen
leistungsschwacher Rechnersporadische, langsame Verbindung
AMQP
MQTT
CoAP
Andere Leistungsmerkmale bei IoT-Plattformen in diesem Zusammenhang
• Verwaltung von Geräten und Gerätestatus (Batterie, online, „last seen“, ...)
• Logische Organisation von Geräten passend zur Topologie (Standorte, funktionelle Gruppen, „Topics“, ...)
• unterstützte Protokolle für die Anbindung der Geräte
• Libraries oder Komponenten für die Device-Seite (z.B. Microsoft bietet SDKs für den Azure IoT Hub an)
BenutzerPlattform
andere Dienste
Wie generiert man Mehrwert?
API?
Visualisierung?
§ Datenverarbeitung?§ in Echtzeit?
Predictive Maintenance mittels großer Datenmengen und Machine Learning
Es kommt auf die Daten an, und was mit ihnen geschehen soll...
ü Verarbeitung in der Plattformü idealerweise in Echtzeit
Das Verschieben in eine andere Infrastruktur zum Zweck der Verarbeitung sorgt für unnötigen Datenverkehr. Im Zweifelsfall geht die Nachricht „Besser abschalten!“ schneller über die Leitung als die Rohdaten.
Es kommt auf die Daten an, und was mit ihnen geschehen soll...
Statusmeldungen und Kontrolle und in einer App für Endkunden.
ü Zugriff der App über APIü Device-spezifischer API-Keyü Plattform muss „unsichtbar“ sein
Für den Endkunden sollte die Plattform komplett transparent sein. Beim Versuch die API-Kommunikation zu entschlüsseln sollte der Endkunde maximal Kontrolle über sein eigenes Gerät erhalten können.
Es kommt auf die Daten an, und was mit ihnen geschehen soll...
Übersichtsdiagramme und Analysen in externen Business Intelligence-Programmen
ü Konzeption und Anzeige von Dashboards
ü einfacher Export von Datenü Benutzer sollte Konfiguration nicht
versehentlich editieren können
Der Benutzer braucht hier eine intuitive Oberfläche für das Erstellen von Grafiken und die Option, ausgewählte Daten in einer lokalen Umgebung zu speichern.
Bequemlichkeit ist ein valider Punkt, sich für eine Plattform zu entscheiden.
ü Prototyping und PoCsind damit schnell gemacht.
Aber: In beiden Fällen ist man zur Benutzung der dedizierten Plattform gezwungen!
Manche Plattformen bieten einen einfachen Zugang zum Massenmarkt
Hier haben Sie mit der Software nichts mehr zu tun: Die Integration erfolgt über die Hardware.
115 Millionen Events am Tag.
Allerdings ist der Massenmarkt auch anfällig für Befindlichkeiten!
„Werden meine Daten auch nur in Deutschland gespeichert?“
„Ist das aber auch GARANTIERT sicher?“
Die Festlegung auf einen Standort sowie die vollständige Kontrolle über den Datenfluss haben Sie nur mit einer PaaS-Lösung.
Zusammenfassung
Das Feld der IoT-Plattformen ist riesig und wird mittelfristig eher noch undurchschaubarer.
Sollte eine Software-as-a-Service –Lösung für Sie in Frage kommen, kann man gut nach dem Ausschlussprinzip vorgehen.
Für geschäftskritische Anwendungen wird man oft nicht um die Anpassung einer Platform-as-a-Service –Lösung herumkommen.
Zühlke kann Ihnen bei der Bedarfsanalyse und Implementierung helfen.
Danke für Ihre Aufmerksamkeit! Dr. Boris Adryan
@BorisAdryan
Bitte beachten Sie auch unseren IoT-Workshopam Freitag!