Update-Upgrade-Problematik in App-Container-Virtualisierung

Bachelor Studiengang IT Security

Bernhard Widmann, BSc (Jg. 2013/2016)

Betreuer: Dipl.-Ing. Dipl.-Ing. Christoph Lang-Muhr, BSc

Ausgangslage

Die Möglichkeit, einzelne Applikationen in virtuellen Containern laufen zu lassen, diese darin zu isolieren und anschließend in der Cloud sowie on-premise nutzen und verteilen zu können, erlebt aktuell einen regelrechten Hype. Ausgelöst hat diesen Hype die Container-Technologie Docker, die im Jahr 2013 das erste Mal Aufmerksamkeit erregte.

Docker entwickelt sich rasant und selbst Microsoft wird in Windows Server 2016 Container unterstützen und greift dazu auf Docker zurück. Neben Docker gibt es die bekannte Container-Technologie LXC, die schon sehr lange existiert und als Grundlage für Docker diente. Der Vorteil von Containern liegt darin, viel weniger Ressourcen als eine herkömmliche virtuelle Maschine zu verbrauchen, da nicht ein komplettes Gast-Betriebssystem virtualisiert werden muss.

Um einen Container in seiner virtuellen Umgebung erzeugen zu können, greifen Container-Technologien auf die Funktionen des Host-Kernels zurück. Auch in virtuellen Containern sind drei Themen essentiell: Daten, Migration und Update. Wird eine Datenbank-Applikation mit externer Datenbank-Storage in einem Container betrieben und wird der Container auf einen anderen Server migriert, tritt unter Umständen der Fall ein, dass der Container auf dem neuen Server nicht mehr erreichbar ist. Was ist zu tun?

Ziel

Das Ziel dieser Arbeit ist, vorhandene Verwaltungs- sowie Managementtools für Container-Technologie zu finden, diese auf Tauglichkeit bezüglich Container-Daten, Container-Migration und Container-Update zu testen, diese zu bewerten, und die Vorteile in deren Verwendung aufzuzeigen.

Ergebnis

Im Zuge dieser Arbeit wurden einzelne Tools evaluiert, die in der Lage sind, den/die AdministratorIn bezüglich den Themen Container-Daten, Container-Migration und Container-Update zu unterstützen. Näher betrachtet wurden unter anderem das Open-Source-Tool Proxmox (eine Server-Virtualisierungslösung, mit der es möglich ist, LXC-Container in einem Cluster zu betreiben) sowie Docker-Swarm (ein Clustermanager, mit dem ein Cluster verteilt auf mehreren Docker-Hosts erzeugt werden kann).