Von den Grundlagen bis zum Einsatz

In der industriellen Kommunikation erlauben Container die identische Ausführung von Softwaremodulen in unterschiedlichen Umgebungen.
In der industriellen Kommunikation erlauben Container die identische Ausführung von Softwaremodulen in unterschiedlichen Umgebungen.
 In der industriellen Kommunikation erlauben Container die identische Ausführung von Softwaremodulen in unterschiedlichen Umgebungen.
In der industriellen Kommunikation erlauben Container die identische Ausführung von Softwaremodulen in unterschiedlichen Umgebungen.Bild: ©MOLPIX/Shutterstock.com

Container sind gekapselte, virtuelle Server und stellen eine Umgebung für die Ausführung (schlanker) Softwaremodule mit einem eng abgegrenzten Funktionsbereich bereit. In diesen Container-Anwendungen sind alle benötigten Komponenten als Bibliothek enthalten. So ist sichergestellt, dass die Ausführung unabhängig von externen Komponenten und der Umgebung möglich ist und sich die Container-Anwendung, unabhängig von ihrer jeweiligen Ausführungsumgebung, immer identisch verhält. Kommen mehrere Container-Anwendungen auf einer Hardwareplattform zum Einsatz, laufen diese als unabhängige Instanzen und sind voneinander und vom Gesamtsystem getrennt. Sie teilen sich aber das Betriebssystem und gegebenenfalls bestimmte Hardwareressourcen, sie können auch aufeinander aufbauen oder Daten untereinander austauschen. Die 2013 als Open-Source-Projekt gestartete Docker-Laufzeitumgebung (Docker Engine) hat sich in der Zwischenzeit zum De-facto-Standard für Container-Umgebungen entwickelt.

Im Vergleich zu einer virtuellen Maschine teilen sich mehrere Container-Anwendungen ein Betriebssystem und sind deshalb besonders leichtgewichtig und ressourcenschonend.
Im Vergleich zu einer virtuellen Maschine teilen sich mehrere Container-Anwendungen ein Betriebssystem und sind deshalb besonders leichtgewichtig und ressourcenschonend.Bild: Softing Industrial Automation GmbH

Unterschied zu virtuellen Maschinen

Wie virtuelle Maschinen greift auch die Container-Technik über eine Abstraktionsschicht auf die Nachbildung eines Hardware- oder Softwareobjekts zu. Der Unterschied ist allerdings, dass für die Ausführung von Containern die Virtualisierung eine Ebene höher aufsetzt und statt der physikalischen Hardware das Betriebssystem emuliert wird, das dann auch die Container-Laufzeitumgebung bereitstellt. So wird es möglich, dass sich mehrere Container-Anwendungen ein Betriebssystem mit den vorhandenen Ressourcen ohne feste Reservierung teilen. Da außerdem in jeder Container-Anwendung nur die benötigten Betriebssystemkomponenten und Bibliotheken enthalten sein müssen, gilt die Container-Technik als besonders leichtgewichtig und ressourcenschonend.

 Industrie 4.0 erfordert eine umfassende 
Integration von Produktions- und IT-Welt.
Industrie 4.0 erfordert eine umfassende Integration von Produktions- und IT-Welt.Bild: Softing Industrial Automation GmbH

Lokal oder in der Cloud lauffähig

Ursprünglich wurde die Container-Technik für Linux-Betriebssysteme entwickelt. Seit der Einführung von Hyper-V können auch die Betriebssysteme ab Windows 10 und Windows Server 2016 für Virtualisierungsaufgaben und damit für Container-Anwendungen genutzt werden. Daneben unterstützen auch Cloud-Plattformen wie z.B. Amazon Web Services (AWS), Microsoft Azure oder Google Cloud Computing den Einsatz von Containern, sodass heute eine Container-Laufzeitumgebung auf Hosts oder in Serverumgebungen, lokal oder in der Cloud, aufsetzend auf den Betriebssystemen Windows, Linux oder Mac OS genutzt werden kann. Aufgrund ihrer geringen Größe können Container-Anwendungen je nach Bedarf auch problemlos aus lokalen Architekturen in Bare-Metal-Systeme sowie in Public-, Private-, Hybrid- und Multi-Cloud-Umgebungen verschoben werden.

Vor- und Nachteile von Container-Anwendungen

Ein großer Vorteil von Container-Anwendungen ist die Bereitstellung innerhalb weniger Sekunden: Nach dem Pull (Herunterladen) ist nur noch der Start über die Ausführung eines einzelnen Befehls notwendig. Auf diesem Weg lassen sich auch neue Versions- und Konfigurationsstände in Sekundenschnelle übernehmen. Ändert sich die Auslastung, kann die Arbeit schnell auf mehrere Container-Anwendungen verteilt werden, sofern diese Funktion unterstützt wird. Weitere Vorteile sind die Verwendung identischer Hardwareressourcen bei einem parallelen Einsatz und die Unterstützung verschiedener Betriebssystemumgebungen sowie hybrider Architekturen, sodass die Verwendung auch in einer Cloud-Umgebung möglich ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert