Hypervisor und Container

Von IT zu zeitkritischer OT

28. August 2018, 17:18 Uhr | Heinz Egger, CEO bei Linutronix
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Container versus VM

Docker ist eine Container-basierte Technologie und Container stellen lediglich den User Space des Betriebssystems dar. Unter der Haube sind Container nur vom Rest des Systems isolierte Prozesse. Sie laufen von einem bestimmten Image aus, das alle nötigen Dateien enthält, um die Prozesse zu unterstützen. Docker zielt auf den Betrieb von Anwendungen ab, wobei sich die in Docker laufenden Container den Host-OS-Kernel teilen. Im Gegensatz dazu basieren Virtuelle Maschinen nicht auf Containern, sondern sind aus dem User Space plus Kernel Space eines Betriebssystems aufgebaut.

Unter VMs wird die Serverhardware virtualisiert. Jede VM verfügt über Betriebssystem und Anwendungen und teilt sich die Hardware-Ressourcen vom Host. Sowohl VMs als auch Docker haben ihre spezifischen Vor- und Nachteile. In einer VM-Umgebung benötigt jeder Workload ein komplettes OS – in einer Container-Umgebung laufen mehrere Workloads in einem OS.
Mit größerem OS-Footprint, werden Containerumgebungen hinsichtlich der beanspruchten Ressourcen, relevant. Darüber hinaus bieten Container weitere Vorteile wie reduzierte IT-Management-Aufwendungen, kleinere Snapshots, ein schnelleres Starten von Anwendungen, reduzierte und vereinfachte Sicherheits-Updates, weniger Code, um Workloads zu transferieren, zu migrieren und zu laden. Vereinfachtes Sicherheitsupdate heißt, dass nur das zugrunde liegende OS seine Patche benötigt. Die Container untereinander laufen mehr oder weniger abgeschirmt gegeneinander. Aber bei weitem nicht so sehr separiert und damit abgesichert wie ein Gast-OS in einem Hypervisor System. Und ihre Datenintegrität beruht zum größten Teil auf dem eingesetztem OS.
Sowohl ein Gast-OS als auch die Container erlauben es, Programme von Dritten zur Ausführung zu bringen, ohne die Sicherheit des gesamten Systems zu gefährden. Ein Container beinhaltet neben der eigentlichen Anwendung nur die noch fehlenden Komponenten der Anwendungssoftware wie Bibliotheken etc. Darüber hinaus kann ein Container einfach um weitere Funktionalitäten wie z.B. Debug-Tools ergänzt werden. Für die Testphase kann darin ein deutlich erweiterter Funktionsumfang geliefert werden als später für die Produktionsphase. Und dies ohne großen Aufwand auf Seiten des Erstellers.

Bei einem virtualisierten Gast-OS ist das auch möglich, jedoch müssen Applikation und Gast-OS einschließlich der mitgebrachten Komponenten immer exakt aufeinander abgestimmt sein. Oder einfach gesprochen: das Gast-OS plus die Applikation ist mehr Software als ein Container. In der IT-Welt ist die Portabilität und Skalierbarkeit der Anwendungen von größter Wichtigkeit. Hier werden Anwendungen beispielsweise über viele Server skaliert. Container unterstützen diese Skalier­barkeit per Design. In der OT-Welt ist diese dynamische Skalierbarkeit nicht gegeben. Hier steht eine bestimmte Anzahl von Ressourcen bereit und diese ändert sich auch nicht dynamisch je nach Last­anfall. Selbst bei den On-Premise Clouds (auch Edge- oder Fog-Lösungen genannt) ist die Anwen­dung auf die vor Ort gegebenen Ressourcen limitiert. Dieser Vorteil der Container-Technologie wird in der OT-Welt nicht benötigt.

Eine besondere Betrachtung verdienen Systeme mit zertifizierter Software.
Damit sind nicht Safety-zertifizierte Systeme gemeint, sondern solche deren digitales Messwerk von einer Zertifizierungsstelle wie der PTB*** abgenommen sind. Mit dem Anschluss solch eines Systems an das Internet, wird sofort das Thema Update wichtig. Allerdings erlischt mit dem Update auch die Zertifizierung. Unter Einverständnis der Zertifizie­rungs­stelle und einem entsprechendem zusätzlichen Softwareaufwand ist dieses Szenario mit Containern lösbar. 

Einfacher und systemtechnisch sauberer gelingt dies mit unterschiedlichen virtuellen Maschinen für Messsoftware und Kommunikationsteil. Hier ist durch die Architektur bereits sichergestellt, dass ein Update nur die nicht-zertifizierten Systemteile betrifft.

Ob das mehr an Software und an Datenintegrität auf der VM-Seite, das schlankere SW-Aufkommen und die verminderte Datenintegrität auf der Containerseite, aufwiegt oder nicht, muss im Kontext der Anwendung (z. Bsp. Konsolidierung von legacy code) und der Kundenanforderungen (z. Bsp. Zertifizierung oder Wartbarkeit) entschieden werden.

Fakt ist, dass neue IT-Technologien immer schneller auch in der OT-Welt zum Einsatz kommen. Der OT-Bereich kann sich (s)eine Insellösung wie in der Vergangenheit nicht mehr leisten, die Kunden akzeptieren dies nicht mehr und wollen es auch nicht mehr bezahlen. (ct)

Referenzen&Anmerkungen

[1] G. J. Popek and R. P. Goldberd, “Formal requirements for Virtualizable Third-Generation Architectures,” Communications of  the ACM, 1974.

* Eine der wenigen Industrien mit dieser Eigenschaft
** Echtzeit ist hier Synonym für geringe Latenz
*** Physikalisch-technische Bundes­anstalt Braunschweig

passend zum Thema


  1. Von IT zu zeitkritischer OT
  2. Virtualisierung und Container
  3. IT und OP
  4. Container versus VM

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!