Published On: März 9, 2021

Container-Technologie erleichtert das Arbeiten

Container-Technologie hat Einzug gehalten

„Eindeutige Vorteile gegenüber virtuellen Maschinen“

Vor vier Jahren hatten wir in einem unserer Blog-Beiträge über die Evolution der Virtualisierung durch den Einsatz der Container-Technologie berichtet. Mittlerweile hat diese Container-Technologie den Einzug in viele, auch mittelständische, Unternehmen gehalten. Der Grund ist: Sie bietet bei der Bereitstellung von Anwendungen gegenüber der seit vielen Jahren im Einsatz befindlichen virtuellen Maschinen eindeutige Vorteile. Während eine virtuelle Maschine sowohl die Anwendungen als auch das Betriebssystem enthält, beinhaltet ein Container lediglich die Anwendungen sowie einige notwendige Komponenten, um auf ein Betriebssystem zuzugreifen. Das Betriebssystem selbst ist nicht enthalten und wird von dem System verwendet auf dem der Container ausgeführt wird. Für die Virtualisierung sorgt die Container-Engine. Eine weitverbreitete Container-Engine ist die Docker-Engine, welche vom US-amerikanischen Unternehmen Docker Inc. stammt und die weltweit wohl am häufigsten eingesetzte Container-Engine ist. Auf diesem System können nun mehrere Container unabhängig voneinander ausgeführt werden. Änderungen im Betriebssystem können damit alle Container beeinflussen. Eine Aktualisierung des Betriebssystems muss so nur ein Mal vorgenommen werden, wenn z.B. ein Sicherheitsloch behoben werden muss.

Bildquelle: https://www.docker.com/whatisdocker - Container-TechnologieDie Vorteile, die sich durch den Einsatz von Containern im Vergleich zu virtuellen Maschinen ergeben, sind im Wesentlichen der geringere Bedarf an CPU und Arbeitsspeicher. Sie sind auch sehr flexibel, da die Container auf unterschiedlichen Systemen ausgeführt werden können. Ferner lassen sich mehrere gleichartige Container parallel ausführen, so dass eine bessere Skalierbarkeit einer Anwendung erreicht werden kann.

Container-Technologie einfach erklärt

Die grundlegenden technischen Begriffe im Umgang mit Containern sind schnell erklärt: Damit eine Anwendung in einem Container ausgeführt werden kann, muss die Anwendung zuerst durch ein Template (der Fachbegriff hierfür heißt Image) bereitgestellt werden. Wird nun ein Image gestartet und damit ausgeführt, spricht man von einem Container. Auf ein Image wird über ein Verzeichnis (= Registry) zugegriffen. Ein Verzeichnis kann privat sein, so dass nur ein eingeschränkter Personenkreis darauf Zugriff hat, oder es kann öffentlich sein. Ein solches öffentliches Registry ist Docker Hub, welches vom Docker-Entwickler  betrieben wird. Es stellt über 100.000 Anwendungen von vielen verschiedenen Anbietern bereit.
Die Daten werden außerhalb der Container in einem Volume gespeichert. Dies stellt sicher, dass bei einer Aktualisierung auf eine neue Version eines Systems keine Daten verloren gehen. Für den einfachen Einstieg in die Container-Technologie stellt Docker die Anwendung Docker Desktop bereit. Diese Anwendung enthält neben der Container Engine noch eine grafische Benutzeroberfläche zur Verwaltung der installierten Images und darauf basierenden Container.

Workflow Management über Docker Hub

Bei Benutzung des Docker Desktop kann auch der technisch versierte Citizen Developer (Power-User) mit einfachen Mitteln eine lauffähige Umgebung in der eigenen Infrastruktur einrichten. So kann er beispielsweise in drei einfachen Schritten eine lauffähige Low-Code-Plattform mit dem Fokus auf Workflow-Management einrichten. Diese enthält einfach zu bedienende Werkzeuge, wie grafische Editoren, mit denen eigene Anwendungen mit nur geringen Programmierkenntnissen entwickelt werden können. Da der Citizen Developer über die notwendigen Kenntnisse der Prozesse in der eigenen Fachabteilung verfügt, kann er diese zeitsparend elektronisch abbilden und zumindest durch die Umsetzung eines Prototyps die Machbarkeit überprüfen.

GBS Workflow Manager ist Low-Code-Plattform

Ein Beispiel für eine solche Low-Code-Plattform ist der GBS Workflow Manager, der seit September 2020 auf Docker Hub verfügbar ist. Neben dem Docker Image vom GBS Workflow Manager werden lediglich Images der benötigten Datenbanksystemen benötigt, welche aber automatisch über eine bereitgestellte Konfigurationsdatei geladen werden.

Drei Schritte zur lauffähigen Einrichtung

  • 1. Im ersten Schritt wird der Docker Desktop heruntergeladen und installiert. Der Docker Desktop kann über die Webseite von Docker bezogen werden.
  • 2. Im zweiten Schritt wird das Image vom GBS Workflow Manager Server von Docker Hub geladen. Dieses geht einfach mit dem Befehl „docker pull gbseuropagmbh/workflowmanager“, der in der Eingabeaufforderung unter Microsoft Windows oder im Terminal unter Linux bzw. dem Mac OS eingegeben wird.
  • 3. Im dritten Schritt wird die Konfigurationsdatei („docker-compose.yaml“), wie in der Beschreibung auf der Seite in Docker Hub angegeben, erstellt und mittels eines Befehls ausgeführt („docker-compose up -d“).
    Mit dem dritten Schritt werden auch die erforderlichen Datenbanksysteme eingerichtet und der GBS Workflow Manager gestartet. Im Anschluss kann über einen Webbrowser bereits direkt auf den GBS Workflow Manager zugegriffen werden.

Container-Technologie

 

Für eine Aktualisierung auf eine neue Version vom GBS Workflow Manager muss zunächst der Container, z.B. über den Docker Desktop, angehalten und heruntergefahren werden. Anschließend kann das Image durch eine neuere Version ausgetauscht werden, wobei die neue Version beispielsweise auch wieder von Docker Hub bezogen werden kann. Im nächsten Schritt kann der Container basierend auf der neuen Version des Images wieder gestartet werden. Die Daten bleiben erhalten, da die Daten außerhalb des Containers gespeichert sind.

Produktive Nutzung

Soll die entwickelte Anwendung später produktiv eingesetzt werden, kann die Einrichtung in die IT-Infrastruktur im Unternehmen vorgenommen werden. Werden Container in einem Unternehmen eingesetzt, kann dies schnell dazu führen, dass eine Vielzahl an unterschiedlichen Anwendungen mit Containern verwaltet werden. Dann besteht die Gefahr, dass schnell der Überblick verloren geht. Um dies zu verhindern, bietet sich der Einsatz von Container Management-Software an. Bekannte Beispiele sind Swarm von Docker, Kubernetes von Google oder Amazon ECS. Kubernetes ist dabei wohl die bekannteste Container Management-Software. Es handelt sich um eine Open-Source-Software zur Automatisierung von Containern und stellt zentrale Management- und Orchestrierungsfunktionen bereit, um die Bereitstellung einer größeren Anzahl von Containern durchführen und skalieren zu können.

Bei der GBS befassen wir uns seit ein paar Jahren mit dem Einsatz von Container-Technologien und auch Container Management-Software. Neben der Bereitstellung des GBS Workflow Manager als Docker-Image basiert auch die iQ.Suite 360, die Lösung der GBS für den ganzheitlichen Schutz von Collaborations-Plattformen, wie Microsoft SharePoint und Microsoft Teams, auf einer Container-Infrastruktur mittels Docker- und Kubernetes-Einsatzes.