Thesis:
In dieser Arbeit soll untersucht werden, wie bestehende Content-Management-Systeme (CMS) in ein Kubernetes Cluster ausgebracht werden können (deploy). Dabei ist davon auszugehen, dass ein CMS in einer üblichen Linux Umgebung betrieben und typische Softwarekomponenten wie bspw. Apache als Webserver, MariaDB als Datenbank und PHP als Programmiersprache verwendet.
Als Untersuchungsgegenstände sind im Rahmen dieser Abschlussarbeit mindestens zu betrachten:
Die Komponenten dieser LAMP Stacks sollen auf geeignete Kubernetes Konzepte (wie Deployment, Pod, Container Image, Service, Ingress, StatefulSet, Persistent Volume Claims, ConfigMaps, Secrets, Network Policies, etc.) abgebildet werden, die mittels eines im selben Kubernetes Cluster betriebenen Web-UI deployed werden können. Eine CMS-Instanz soll dabei isoliert von anderen CMS-Instanzen im Cluster betrieben werden können und so den Betrieb von isolierten CMS-Instanzen unterschiedlicher Kunden (Multi-Tenancy) unterstützen.
Die Aufgaben dieser Arbeit umfassen im Einzelnen:
Auch die Web-UI soll in Kubernetes automatisiert deploybar sein. Eine entsprechende Infrastruktur wird im Rahmen der Abschlussarbeit bereitgestellt werden. Die Implementierung der serverseitigen Komponenten der Web-UI sollte wenn möglich in Python erfolgen. Andere Programmiersprachen können genutzt werden, wenn deren bessere Eignung explizit und nachvollziehbar begründet werden kann. Der Einsatz von Micro Web-Frameworks wie bspw. Flask ist statthaft und gern gesehen.
Im Sinne des Open Source Gedankens sollte die Autor:in anstreben, die Lösung als Open Source Projekt im Anschluss der Arbeit der Allgemeinheit zur Verfügung zu stellen und über die Abschlussarbeit hinaus als Open Source Produkt fortzuführen.