Hallo zusammen,
den Inhalt meines heutigen Artikels, kannte ich schon seit einigen Monaten. Einige Teile hatte ich schon gesehen und war begeistert, allerdings durfte ich bisher nicht darüber reden.
Ok, die Betonung liegt auf dem Wort: Bisher
Gestern gingen die Änderungen live (zu mindestens als Preview) und so habe ich heute die Gelegenheit darüber berichten zu können.
Jetzt habe ich aber genug rumgeredet, kommen wir nun endlich zur Sache: Um was geht es?
Wie ihr vielleicht wisst, bietet euch die Azure IoT Suite sogenannte Pre Configured Solutions an. Pre Configured Solutions sind Beispiele für die am häufigsten verwendeten IoT -Lösungsszenarien und dienen als Ausgangspunkt für eigene IoT – Lösungen.
Ich höre jetzt bereits die Frage aufkommen: Was bedeutet „Ausgangspunkt für eigene IoT – Lösungen“ eigentlich?
Der Grundgedanke dabei ist eigentlich ganz einfach: Eine Pre Configured Solution soll soweit anpassbar sein, dass ihr zum Schluss zu mindestens das Grundgerüst für eine eigene Lösung habt. Damit dies ohne Probleme durchgeführt werden kann, sind alle Pre Configured Solutions Open Source Projekte und ihr könnt eure Anpassungen direkt im Code vornehmen.
Jetzt habe ich bisher nichts neues erzählt, also kommen wir nun endlich zum Thema:
Microsoft hat lange überlegt, wie man das Angebot noch verbessern könnte und beschloss die folgenden Pläne:
- Die existierenden Pre Configured Solutions werden einem umfangreichen Redesign und Refactoring Prozess unterzogen
- Die zugrundeliegende Basisarchitektur wird geändert (Von Web Application zu Microservices und Container Apps)
- Das Deployment Modell wird zweigeteilt, in ein Basic Model (für Demo und Showcase Zwecke) und in ein Enterprise Model (das ist die vollständige Solution)
Ich hatte es ja bereits erwähnt: Erste Ergebnisse sind seit gestern verfügbar und die werde ich euch jetzt vorstellen. Alle Teile basieren auf der bisherigen PCS for Remote Monitoring und sind wie der Vorgänger natürlich Open Source Projekte. Alle Teile (und das ist neu), sind in zwei Geschmacksrichtungen erhältlich und zwar jeweils als NET (C#) oder Java Variante.
Also, was ist nun neu im Angebot und wo fange ich am besten an?
Ich denke wir sollten mit dem Basisangebot anfangen, der PCS selbst:
Azure IoT PCS for Remote Monitoring (Version 2.0)
NET
Java
In diesen Repositories findet ihr eigentlich alles. Alle Sub Repositories sind in der jeweilig passenden Version mit eingebunden. Trotzdem möchte ich euch auch noch den Rest vorstellen.
Weiter geht es mit dem Web UI. Das Web UI wurde in JavaScript (Node.JS) entwickelt und ist für beide Varianten der PCS gleich.
Azure IoT PCS Remote Monitoring Web UI
Was wäre aber eine auf der Microservice Architektur basierende Solution ohne Services. Natürlich nichts und deshalb gibt es auch hier schon einige Angebote:
Azure IoT PCS Microservice for IoT Hub Management
NET
Java
Azure IoT PCS Microservice – Configuration
NET
Java
Wichtiger Hinweis: Der Azure PCS Microservice – Configuration benötigt den jeweiligen Azure PCS Microservice – Storage Adapter zur Erledigung seiner Aufgaben.
Azure IoT PCS Microservice – Device Simulation
NET
Java (zurzeit nur partiell vorhanden)
Wichtiger Hinweis: Der Azure PCS Microservice – Device Simulation benötigt den jeweiligen Azure PCS Microservice – Storage Adapter zur Erledigung seiner Aufgaben.
Azure IoT PCS Microservice – Storage Adapter
NET
Java
Arbeiten wollen wir ja auch, also brauchen wir noch:
Azure IoT PCS Microservice – Device Telemetry
NET
Java
und
Azure IoT PCS Microservice – Device Telemetry Agent (Azure IoT Hub Streaming, Analytics, Alerts)
NET
Java
Ist das jetzt alles?
Nein, da wäre noch:
Azure IoT PCS CLI (eine Azure CLI Extension um die PCS in User Subscriptions zu deployen)
Azure IoT PCS Tools (eine Sammlung von Scripts um eigene PCS zu erstellen)
Ok, das war viel Stoff für Runde 1. Eine ausführliche Deep Dive Einführung ist bereits in Arbeit.
Schöne Grüße
Oliver