Docker in der Automatisierungstechnik

Applikationen schneller nutzen

Die Containertechnologie Docker bringt Tempo in die Software-Entwicklung, -Erprobung und das -Deployment. Das Handling wird damit dem Verwalten von Apps angelehnt. Mit den Wago-Controllern der Serie PFC200 G2 und den Touch Panels 600 lassen sich die Vorteile nun auch einfach auf einer Embedded-Plattform nutzen.
Bild: Wago Kontakttechnik GmbH & Co. KG

Um auf immer kürzere Produktzyklen in der Herstellung kosteneffizient reagieren zu können, müssen Produktionen vernetzt, flexibilisiert und agiler werden. Software wird benötigt, um die Fabriken dabei zu unterstützen, den veränderten Produktionsanforderungen gerecht zu werden. Die Vorbereitungen zur Entwicklung, Erprobung, ihre Lieferung und Verbreitung sind – gerade auf Embedded-Plattformen – jedoch alles andere als leicht: Die Programme müssen oft mühsam installiert und konfiguriert werden – das kostet Zeit und bremst die digitale Transformation in Unternehmen.

Bild: Wago Kontakttechnik GmbH & Co. KG

SPS-Technik ist Docker-ready

Die auf Linux ausgerichtete Virtualisierungstechnik Docker kann das Software-Deployment wesentlich erleichtern, da es Applikationen in eine portable Form verpackt. Wago bietet seine Controller der Serie PFC200 G2 und Touch Panels 600 daher Docker-ready an. Moderne Software und zahlreiche Applikationen, die von Entwicklern weltweit bereitgestellt werden, lassen sich einfach und schnell auf den Controllern nutzen. So z.B. das grafische Programmier-Tool Node-Red, mit dem Anwendungsfälle im Bereich des Internets der Dinge mit einem einfachen Baukastenprinzip umgesetzt werden können. Bisher müssen für Node-Red umfangreiche Änderungen am Embedded-Betriebssystem vorgenommen werden – mit Docker ist es innerhalb von wenigen Minuten auf den Controllern nutzbar.

Schneller als virtuelle Maschinen

Docker ist deutlich leichtgewichtiger als die gängige Virtualisierung, z.B. aus dem Windows-Umfeld, weil Applikationen in Containern ausgeführt werden können. Container starten schneller und benötigen weniger Overhead und damit weniger Hardwareressourcen als virtuelle Maschinen, da sie auf das Starten eines eigenen Betriebssystems verzichten und stattdessen im Kontext des Host-Betriebssystems laufen. Trotzdem können die Container voneinander und vom Host-System abgeschottet ausgeführt werden. Mehrere Applikationen lassen sich so auf einem Gerät nutzen, ohne dass sie sich gegenseitig beeinflussen. Auch eine Portierung von ganzen Applikationen ist somit wesentlich einfacher. Möglich machen das spezielle Linux-Funktionen wie Namespaces und cgroups. Docker verfolgt so den Ansatz der Microservices. Eigenschaften werden in eigenen Containern nach dem Sandboxing-Gedanken gekapselt.

Einfach laden und löschen

Gestartet werden sie aus einem Container-Image, das sich als einfache Datei leicht von einem System auf ein anderes übertragen lässt. Somit lassen sich Applikationen, Datenbanken und Web-Applikationen einfach nutzen und nach der Nutzung auch leicht und rückstandslos wieder entfernen – wie Smartphone Apps, die im Handumdrehen geladen und wieder gelöscht werden können. Aus einem Docker-Image heraus lassen sich beliebig viele Container starten. Die Konfiguration ist bereits im Image eingerichtet und variable Teile, wie die Netzwerkkonfiguration, werden beim Start automatisch angelegt. Docker kann Software und Applikationen schnell bereitstellen und somit helfen, Entwicklungs- und Inbetriebnahmezeiten zu verkürzen.

Seiten: 1 2Auf einer Seite lesen

Das könnte Sie auch Interessieren

Weitere Beiträge

Bild: ISW der Universität Stuttgart
Bild: ISW der Universität Stuttgart
Domänenspezifische Sprache

Domänenspezifische Sprache

Ein grundlegender Baustein zur Flexibilisierung von Automatisierungssystemen aus Softwaresicht sind modulare, virtualisierte Echtzeitarchitekturen, die als verteilte Echtzeitsysteme realisiert werden. Um Entwickler in die Lage zu versetzen, robuste Systeme hinsichtlich der Echtzeiteigenschaften zu entwerfen und zu verwalten, wurde am ISW der Universität Stuttgart auf Basis einer domänenspezifischen Sprache ein Werkzeug entwickelt, das die Analyse des Echtzeitverhaltens sowie die automatisierte Echtzeitorchestrierung Container-basierter Steuerungsanwendungen mit Kubernetes und Docker-Compose erlaubt.

mehr lesen