Evaluation zur Integration von Docker in den Entwicklungsablauf der TGW Software Services GmbH
Authors: Moser Markus , Bergermeier Andreas , Herrmann Frank 
Published: October 2022

Die Grundlagen zur Virtualisierung mit Containern existieren schon seit Jahrzehnten, doch erst mit der Veröffentlichung von Docker als Open-Source-Projekt 2013 und der darauffolgenden Popularisierung dieser Technologie taucht diese Thematik in immer mehr Firmen auf. Einer Diamanti-Umfrage aus dem Jahre 2018 zufolge, planten zwei Drittel der befragten IT-Führungskräfte die Verlagerung von Workloads von virtuellen Maschinen auf Container. Zwei Fünftel gaben an, virtuelle Maschinen durch Container ersetzen zu wollen.

Die TGW hatte bislang noch keinen Kontakt mit diesen Technologien und möchte in diesem Bereich auf den aktuellen Stand der Technik kommen. Deswegen soll mit dieser Arbeit eine genauere Evaluation der Möglichkeiten erreicht werden. Der Fokus liegt dabei auf drei einzelnen Themen, die im Folgenden erklärt sind.

CI/CD wird bei der TGW mit zwei verschiedenen Tools durchgeführt, je nachdem ob integriert oder ausgeliefert werden soll. Die Unterschiede zwischen diesen Anwendungen sowie die Problematik mit unterschiedlichen Abhängigkeiten pro Projekt führen zu enormem Aufwand beim Support dieses Ablaufs. Zur Lösung dieser Thematik wird ein fester und generischer Ablauf zum Bau eines jeden Projekts definiert. Dieser läuft innerhalb von Container, die alle notwendigen Abhängigkeiten bereits vorinstalliert haben. Dadurch ist es möglich komplett unabhängig von den verwendeten Tools eine kontinuierliche Integration auszuführen und damit die erheblichen Kosten des Supports einzusparen.

Die TGW-eigene Softwareplattform iWACS® ist modular aufgebaut und wird direkt beim Kunden installiert, um ein Lager zu verwalten. Das eigens entwickelte Tool zur Auslieferung und Installation der Anwendungen ist alt und mittlerweile sehr komplex. Eine Änderung darin ist mit viel Aufwand und Risiko verbunden. Aus diesem Grund soll evaluiert werden, ob das Thema der Softwareverteilung auf Docker umgestellt werden kann. Durch die Entwicklung eines „Proof of Concepts“ konnte zwar festgestellt werden, dass ein Wechsel theoretisch möglich ist. Vor allem die Investitionen zur Schulung der Mitarbeiter ist mit einem halben Tag pro Mitarbeiter und 179 Mitarbeitern in der IT-Abteilung zu hoch. Auch der erhoffte Gewinn zur Verringerung der Komplexität bleibt aus und bewirkt das Gegenteil, indem zwei statt nur einer Option zur Auslieferung unterstützt werden muss. Dies liegt daran, dass Bestandkunden weiterhin über den alten Weg zur Auslieferung unterstützt werden müssen.

Vorteilhaft ist Docker bei der Unterstützung der Entwickler. Stellvertretend für eine Reihe von Vorteilen wird Vorteilhaftigkeit von Docker bei dem gegenseitigen Beeinflussen durch Datenbankschema-Aktualisierungen, falls zwei oder mehr Entwickler die gleiche Datenbank verwenden, genauer erläutert. Eine Datenbank ist speziell auf die Nutzung mit der firmeneigenen Softwareplattform angepasst, weswegen das Aufsetzen einer solchen mit beträchtlichem Aufwand verbunden ist. Innerhalb eines Docker Containers können die benötigte Datenbank und damit verbundene Einstellungen festgelegt werden. Ein Entwickler kann damit innerhalb von wenigen Sekunden eine störungsfreie Datenbank starten. Dies ermöglicht es die Zufriedenheit und Produktivität der Entwickler zu steigern, während Kosten für Wartezeiten und Support eingespart werden.

Zusammengefasst kann festgestellt werden, dass TGW durch ihre bisherige individuelle Softwareentwicklung gefangen ist. Dadurch bewirken die vorliegenden Rahmenbedingungen und die weiteren Anforderungen, dass eine Umstellung derzeit nicht wirtschaftlich ist. Es wird versucht werden, die nützlichen Implementierungen von Docker direkt in iWACS® zu integrieren.