Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Internet der Dinge-Technologie

IoT-App-Entwicklung erhält Agilitätsschub durch Container-Technologien

Container-Technologien wurden größtenteils für traditionelle . entwickelt IT-Umgebungen von Unternehmen und haben eine moderne Cloud-Architektur ermöglicht. Aber es gibt auch Ähnlichkeiten und Vorteile bei der Einführung von Containern für das Industrial Internet of Things (IIoT), so Tim Winter, Chief Technology Officer bei Machfu, einem Anbieter von IIoT-Lösungen.

Ein Container ist eine leichtgewichtige Virtualisierungstechnologie, die aus einer gesamten Laufzeitumgebung besteht:einer Anwendung sowie all ihren Abhängigkeiten, Bibliotheken und anderen Binärdateien sowie Konfigurationsdateien, die zu ihrer Ausführung erforderlich sind, gebündelt in einem einzigen Paket. Durch die Containerisierung einer Anwendungsplattform und ihrer Abhängigkeiten werden Unterschiede in den Betriebssystemverteilungen und der zugrunde liegenden Infrastruktur abstrahiert.

"Ein Container-Software-Entwicklungsprozess erstellt ein Repository mit 'Zeug', das aus Ihrer Anwendung und der unterstützenden Software besteht, und es erstellt ein sogenanntes Container-Image - eine Art Schichtkuchen aus der Anwendung und der unterstützenden Software", sagte Harry Forbes, Analyst bei der ARC Advisory Group.

Laut dem Forschungsunternehmen Gartner werden bis 2022 mehr als 75 % der globalen Unternehmen containerisierte Apps in der Produktion verwenden. 

Die Vorteile von Containern 

Da alle Anwendungselemente in einem Paket „containerisiert“ sind, kann die Anwendung ausgeliefert werden, um auf jeder Computerumgebung ausgeführt zu werden, wodurch die Komplexität reduziert wird, wenn Anwendungen in verschiedenen Umgebungen bereitgestellt und aktualisiert werden, sagte Forbes.

Container können durch ihre Isolierung auch einer sich schnell ändernden Umgebung zugute kommen. Module interagieren nur über wohldefinierte Anwendungsprogrammierschnittstellen (APIs) miteinander und sind ansonsten unabhängig. Somit können Module aktualisiert werden, ohne andere zu beeinträchtigen, 

Isolation wird immer wichtiger, da das Tempo von Änderungen und Aktualisierungen von Anwendungen zunimmt.

Container ermöglichen auch den Heiligen Gral des Edge Computing:intelligente oder KI-fähige Prozesse am Edge.

„Angesichts der wachsenden Nachfrage, Daten in Echtzeit zu verarbeiten und die hohen Kosten für die Übertragung und Speicherung der großen und schnellen Telemetrie-Rohdaten in die Cloud zu vermeiden“, sagte Ayush Tiwari, Senior IoT Product Manager, PTC, an IIoT solution „IoT-Anwender ziehen es vor, die Daten vorzuverarbeiten, zu transformieren und ihre benutzerdefinierte Geschäftslogik direkt am Edge auszuführen.“ Dann können Modelle mit künstlicher Intelligenz und maschinellem Lernen trainiert und über lokale, isolierte Container auf Edge-Geräten bereitgestellt werden.

Darüber hinaus ist es wichtig, containerisierte Workloads auszuführen, die einfach über die Cloud verwaltet und betrieben werden können, da es wichtig ist, am Edge bereitgestellte Software mit den neuesten Patches und Funktionen zu sichern und zu aktualisieren, sagte er.

„Durch die Verlagerung bestimmter Workloads an den Rand des Netzwerks verbringen verbundene Produkte weniger Zeit mit der Kommunikation mit der Cloud, können schneller auf lokale Änderungen im Kontext reagieren und arbeiten auch in Bereichen mit geringer Netzwerkbandbreite zuverlässig“, sagte Tiwari.

[Weitere Informationen zum Thema Industrial IoT erhalten Sie bei Industrielle IoT-Welt diesen Dezember.}

Container für IIoT-Geräte verwenden:Partitionierung verbessert die Sicherheit

Daher sind Container für Anwendungen außerhalb des Unternehmens wie IIoT-Edge-Geräte unwiderstehlich. Da diese containerisierten Pakete und ihr Inhalt voneinander und vom Rest des Systems partitioniert sind, können sie laut Winter einzeln aktualisiert werden, ohne andere containerisierte Anwendungen auf demselben Server zu beeinträchtigen.

Bei der Verwendung von Containerisierungstechnologien für IIoT ist es wichtig, über die Partitionierungseigenschaften eines Containers (bekannt als Sandboxing) nachzudenken, sagte er.

„Könnten wir also konzeptionell zwei Container haben, anstatt nur einen Container zu haben, der alle monolithischen Operationen am Edge ausführt? Ein Container könnte beispielsweise für die Datenerfassung und ein anderer Container für die Konfiguration des Edge-Geräts verantwortlich sein“, sagte Winter.

Die Aufteilung der Edge-Funktionalitäten zwischen verschiedenen Containern bedeutet, dass einem Container größere Privilegien gewährt werden können als einem anderen, sagte Winter.

„In der Versorgungsindustrie gibt es verschiedene Treiber für die Sicherheit und solche Dinge, bei denen die Partitionierung von Teilen der Anwendung … von Vorteil ist“, sagte er.

Einer Anwendungskomponente, die zum Beispiel in regelmäßigen Abständen Alarme liest, bewertet und meldet, könnten schreibgeschützte Berechtigungen für die Interaktion mit einem Edge-Gerät gewährt werden. Eine Anwendung, deren Aufgabe es ist, ein Software-Upgrade auf dem Edge-Gerät durchzuführen, müsste jedoch mehr Berechtigungen haben und wäre auf andere Weise gesichert, sagte Winter.

„Auf Unternehmensseite kann es sich um eine Administratorrolle handeln, im Gegensatz zu einer schreibgeschützten Datenerfassungsrolle“, sagte er. „Die Aufteilung der Funktionen am Edge entspricht also modernen Best Practices für die Sicherheit.“

Die Möglichkeit, Anwendungskomponenten zu trennen, verbessert die Implementierung, indem verhindert wird, dass das Verhalten einer Anwendung eine andere direkt beeinflusst, und ermöglicht es Entwicklern laut Winter auch, Edge-Geräte einfacher zu verbessern. Darüber hinaus ermöglicht die Implementierung von Kontrollen und Richtlinien auf Betriebssystemebene den Entwicklern – von Natur aus – die potenziellen Auswirkungen von Sicherheitsverletzungen auf ein System besser zu begrenzen.

Da die Anwendungen jedoch getrennt sind, müssen Entwickler ein Schema für die Interprozesskommunikation (IPC)/Remote Procedure Call (RPC) implementieren, damit separate Anwendungen innerhalb des Edge-Knotens interagieren können, sagte Winter. Entwickler müssen diese IPC/RPC-Schemata auch authentifizieren und kontrollieren, damit sie nur genehmigte Interaktionen zulassen, fügte er hinzu.

„In einer industriellen Umgebung kann man wirklich keinen Prozess auf dem Gerät selbst ausführen, da die meisten Geräte sehr, sehr einfache Sensoren sind und eine sehr kleine CPU [Zentraleinheit] haben“, sagte Stefano Iannucci, Assistenzprofessor am Department of Computer Wissenschaft und Technik, Mississippi State University.

„Sie müssen also wirklich all diese Sensoren und Aktoren so kombinieren, dass sie von einem Prozess orchestriert werden, der notwendigerweise von anderen Komponenten ausgeführt wird“, fügte er hinzu.

Diese Komponenten können entweder in der Cloud oder am Edge ausgeführt werden – und die meiste Zeit werden diese Komponenten in Containern ausgeführt.

„Beim Industrial Internet of Things verwendet man Container, um die Funktionalitäten zu implementieren, die sonst nicht in die Dinge selbst implementiert werden könnten“, sagte Iannucci.

Ein Vorteil von Containern für IIoT besteht darin, dass Entwickler laut Forbes Container-Entwicklungs- und -Bereitstellungsumgebungen erstellen können, die bestimmte Arbeits- und Testprozesse erzwingen, bevor sie Anwendungen in Produktionsumgebungen bereitstellen.

Forbes hat die Schritte erklärt, die Entwickler benötigen, um Container zu verwenden, um Anwendungen für IIoT zu entwickeln.

„Es gibt eine Entwicklungspipeline … um das Repository zu erstellen, in dem all die verschiedenen Versionen der Software aufbewahrt werden, die sie haben, und das Containersystem, wie Docker, die Software, die all diese Dinge verpackt“, sagte Forbes.

Das Container-Deployment entnimmt dann die Elemente aus dem Repository, erstellt ein Container-Image und überträgt es auf ein Zielsystem, sagte er.

„Und das Zielsystem ist der Ort, an dem das IIoT ins Spiel kommt“, sagte Forbes. „Sie können ein Zielsystem haben, Sie können hundert haben, Sie können tausend haben. Und [mit Containern] ist es nicht wesentlich schwieriger, tausend Systeme zu aktualisieren, als eines. „Container sind eine sehr wirtschaftliche und hervorragende Möglichkeit, eine Anwendung zu verwalten, die an hundert oder tausend Orten ausgeführt wird.“

Gleichzeitig lösen Container nicht jedes Problem, und tatsächlich laden sie einige dazu ein. Container sind kurzlebig – sie können einfach erstellt und abgebaut werden – daher können deren Sichtbarkeit und Nachverfolgung problematisch sein.


Internet der Dinge-Technologie

  1. Was lesen Ihre Kollegen? Erhalten Sie Einblicke in unsere Top-IoT-Posts von 2019
  2. Warum Edge Computing für das IoT?
  3. 5 Schlüssel zur IoT-Produktentwicklung
  4. Nutzung von IoT-Daten vom Edge in die Cloud und zurück
  5. Live aus der IoT-Welt in Santa Clara!
  6. The Edge und IoT:Einblicke aus der IoT World 2019
  7. Open-Source-IoT-Entwicklungstools im Vergleich zu anbieterunterstützten Tools
  8. IoT | Eine starke Stellung bei der Entwicklung mobiler Apps einnehmen
  9. Gedanken zu neuen Technologien, Edge und IoT
  10. Edge Computing bekommt endlich ein Framework