Azure IoT Edge ist ein Meilenstein für IoT Clouds

Aufmerksame Leser dieses Blogs wissen, dass IoT-Clouds ein höchst dynamischer Bereich sind, wo praktisch jede Woche einer der Anbieter neue Features vorstellt. Und nun behaupte ich: Das neue Microsoft Azure IoT Edge ist ein Meilenstein für IoT Clouds.

Stichwort Anbieter: Hier treffen Industriegiganten wie General Electric, Siemens oder auch Bosch auf Softwaregiganten wie Google, IBM oder Microsoft. Und man muss es den Software-Fuzzis einfach lassen: Was die in letzter Zeit in den Markt schießen, ist wirklich teilweise atemberaubend.

Der heutige Blogpost widmet sich der jüngsten IoT-Ankündigung von Microsoft namens:

Microsoft Azure IoT Edge

Obwohl die Produktbezeichnung diesmal untypisch kurz gehalten ist, stellt diese neue Technologie meiner Meinung nach eine echte Revolution und einen massiven Schritt vorwärts dar.

Lassen Sie mich den Namen sezieren:

  1. AZURE ist der Sammelname für alle Cloud-Themen aus dem Hause Microsoft. Weltweit in praktisch unbegrenzter Kapazität verfügbar, können hier Kunden nach Belieben Dienste aus der Cloud beziehen. Vom einfachen Storage („Festplatte im Internet“) ist man mittlerweile viele Generationen weiter und die Liste der zur Verfügung stehenden Dienste wird monatlich länger.
  2. IoT steht für Internet of Things aber das brauche ich Ihnen sicher nicht mehr zu erklären
  3. EDGE steht für Edge Computing und ist einer DER neuen Trends im Cloud Business. Dazu weiter unten mehr.
Historischer Rückblick

In der Anfangszeit der Cloud war das Motto der Anbieter einfach: Schick und erstmals alle Deine Daten und wenn die dann bei uns in der Cloud sind, kannst Du alles Mögliche damit anstellen.

Schon bald bemerkten beide Seiten, dass dieser Plan nicht besonders schlau war. Die Anbieter, weil das pure Data Ingestion, also das Einfressen der Daten, keine teuer zu verkaufende Dienstleistung ist, sondern nur viel Speicherkapazität und Bandbreite verbraucht. Auch die Kunden bemerkten, dass es nicht besonders schlau ist, zuerst jede Menge Daten in die Cloud zu schicken um dann schon in der allerersten Analyse draufzukommen, dass nur 5% der Daten wirklich wichtig sind. Hohe Cloud-Kosten waren die Folge und viele IoT Projekte scheiterten.

Edge Computing in einfachen Worten

Nun also Edge-Computing. Dieser Ausdruck beschreibt die Verlagerung mancher Schritte an den Rand der Cloud bzw. in diesem Fall zurück auf die Kundenseite, auch Feld-Seite genannt. Es wird also beispielsweise nicht mehr stur alle 30 Sekunden die Raumtemperatur in der Cloud gespeichert und erst dort bemerkt man, dass sie sich binnen 30 Sekunden so ziemlich gar nichts verändert hat, sondern die ersten Analysen finden schon vorher statt. Je leistungsfähiger die IoT-Hubs genannten Gateway-Rechner werden, umso mehr kann also schon auf der Feld-Seite erledigt werden. Dazu vielleicht nur der Hinweis, dass ein € 30, „teurer“ Raspberry Pi3 eine vergleichbare Rechenleistung zu einem günstigen ATOM-Notebook hat!

Wie Sie sehen, gibt es nun ZWEI Orte, an denen „gerechnet“ wird bzw. an denen ein Programm läuft. Zwei Programme an verschiedenen Orten, in verschiedenen Programmiersprachen geschrieben, von zwei unterschiedlichen Management-Plattformen aus gesteuert, etc.
Höchst umständlich, unschön und vor allem recht aufwändig ist. Daher hat man bisher oft auf die vor Ort vorhandene Rechenkapazität einfach verzichtet. Schade eigentlich, oder?

Serverless Computing

Ein wirklich gewaltiger Entwicklungsschritt in den Cloud Techniken war nun die Einführung des sogenannten Serverless Computing. Jeder Cloud Anbieter nennt dies anders (Bei Amahon AWS z.B. Lambda Functions) aber im Prinzip ist es immer recht ähnlich. Anstatt einen (oder auch hunderte) Rechner in der Cloud zu haben und dort die eigenen Programme laufen zu lassen, interessiert mich als Kunde beim Serverless Computing diese physische Ebene überhaupt nicht mehr. Ich lade den „nackten“ Code in die Cloud hoch und definiere die Bedingung, wann dieser ausgeführt wird, z.B. wenn ein Datensatz aus dem Feld kommt. Wie Google, Microsoft & Co diesen Code nun ausführen, interessiert mich nicht. Ich miete daher auch nicht mehr x Rechner der Klasse ABC pro Monat, sondern bezahle nur für die Berechnung selbst.
Der Cloudanbieter kann bei jedem einzelnen Aufruf des Codes die in diesem Moment jeweils günstigste Methode auswählen. Ich als Kunde bekomme davon nichts mit. Aufgrund der gewaltigen Skaleneffekte der Cloud-Giganten sind die Preise extrem günstig. Was aber, wenn die Berechnung gar nicht in der Cloud stattfindet?

Was ist nun so neu an Azure IoT Edge?
Azure IoT Edge Grafik
(c) Microsoft

Und nun stellen Sie sich bitte vor, dass die IoT-Hubs, also die hunderten/tausenden Mini-Rechner auf der Feld-Seite in diesem Konzert nahtlos und voll integriert mitspielen! Dass diese Geräte selbst also zum Teil der Cloud werden und die Schnittstellen zwischen Feldebene und Cloud verschwinden. Was gerade per serverless computing nur in der Cloud passierte, geschieht plötzlich auch lokal auf meiner Hutschiene im E-Verteiler!

Die Auswirkungen sind enorm:
  1. Die Codebasis ist für alle Ebenen die exakt gleiche. Ob die Berechnung dann schlussendlich in der Cloud stattfindet oder lokal auf der Feldebene, ist irrelevant und muss bei der Programmierung noch nicht feststehen.
    Motto: Einmal programmieren und auf allen Plattformen unverändert lauffähig.
  2. Dienste wie Machine Learning, Stream Analytics u.ä., welche bisher nur in der Cloud zur Verfügung standen, können nun auf die IoT-Hubs runtergeladen werden und lokal im Feld ausgeführt werden. Es läuft also dann Microsoft oder Amazon Code auf dem IoT-Gerät!
  3. Die IoT-Hubs können mit den exakt gleichen Methoden wie die Cloud-Infrastruktur perfekt verwaltet werden. Die physischen Grenzen verschwinden komplett.
  4. Code kann auf einem virtuellen Rechner in der Cloud ausgiebig getestet werden (Stichwort Digital Twin) und erst dann in die Feldebene ausgerollt werden.
  5. Natürlich geht’s auch umgekehrt: Code kann zurück in die Cloud geholt werden, wenn das Projekt wächst und den kleinen IoT-Gateways langsam aber sicher die Luft ausgeht. Oder je nach Gerätegeneration (Alter bzw. Rechenpower) der IoT-Hubs gibt es eine unterschiedliche Verteilung zwischen Cloud und Feldebene. Generationswechsel bei Soft- oder Hardware sind plötzlich voneinander komplett unabhängig!
    Niemals vergessen: IoT-Projekte sind sehr langlebig, Generationswechsel sind ein Thema!
  6. Mittels leistungsfähigem Skripting kann das „wer macht was“ dynamisch angepasst werden. So ist es z.B. möglich, je nach Kosten oder Bandbreite oder zur Verfügung stehender Rechenkapazität die jeweils aktuell günstigste Variante auszuwählen.
  7. Rohdaten müssen nicht mehr zwangsweise in die Cloud geschickt werden um erst dort verarbeitet zu werden, weil eben z.B. Machine Learning gebraucht wird. Die Daten bleiben lokal, obwohl die Intelligenz aus der Cloud kommt. Ein wesentlicher Aspekt für Anwendungen mit hohen Anforderungen an die Privacy & Security.
Zusammenfassung

Entwicklungen wie Microsoft IoT Edge helfen dem Thema IoT Clouds massiv weiter. Es gibt dem Anwender neue Werkzeuge und Methoden in die Hand, von denen er noch vor wenigen Jahren nicht einmal zu träumen gewagt hätte. Die nahtlose Integration von eigenen, lokalen Ressourcen und Cloud-Diensten ermöglicht neue, vollkommen dynamische Geschäftsmodelle. Der freie Zugriff auf von Drittseite gepflegte Dienste wie Machine Learning, Bilderkennung oder ähnliches kann die Qualität des Codes massiv erhöhen. Durch die weiterhin steigende Rechenkapazität der sogenannten Rechenzwerge wie z.B. Raspberry Pis gewinnt das Thema mit der Zeit an Relevanz.
Und ja, die großen Anbieter erkämpfen sich damit (gar nicht einmal so) still und (eigentlich überhaupt nicht) heimlich einen Platz in fast jedem IoT-Gerät. Trotzdem: Azure IoT Edge ist ein Meilenstein für IoT Clouds.

Ich hoffe, dass ich mit diesem Überblick ein wenig informieren konnte. Die Profis mögen mir verzeihen, dass ich manche Dinge vereinfacht dargestellt habe. Wie immer freue ich mich auf Ihre Kommentare bzw. Feedback in den sozialen Medien.