diff --git a/Praxisbericht.pdf b/Praxisbericht.pdf index 785d6fb..9c6bfd4 100644 Binary files a/Praxisbericht.pdf and b/Praxisbericht.pdf differ diff --git a/Praxisbericht.tex b/Praxisbericht.tex index 7655bc0..fafce66 100644 --- a/Praxisbericht.tex +++ b/Praxisbericht.tex @@ -163,7 +163,7 @@ Mein Aufgabenbereich, das Evaluieren von Kubernetes als Containerorchestrierung \section{Methodik} -Während der gesamten Praxisphase wurde, soweit realisierbar, ein iterativer Zyklus verfolgt. Dieser beginnt initial mit der Discovery-Phase, in welcher neue Produkte identifiziert werden, die zu den gegebenen Zielen passen. Anschließend werden sie in einem Backlog festgehalten. Dieser wird in Absprache zwischen den Betriebsmitgliedern und mir geordnet. +Während der gesamten Praxisphase wurde, soweit realisierbar, ein iterativer Zyklus verfolgt. Dieser beginnt initial mit der Discovery-Phase, in welcher neue Produkte identifiziert werden, die zu den gegebenen Zielen passen. Anschließend werden sie in einem Backlog festgehalten. Dieser wird in Absprache mit den Betriebsmitgliedern geordnet. Sofern ein Produkt die Spitze des Backlogs erreicht, werden Eigenschaften über das Produkt und dessen Funktionsweise ermittelt. Sofern die Ziele des Produktes mit den Zielen des Betriebes übereinstimmen, beginnt die Evaluationsphase, in welcher das Produkt in einer isolierten Umgebung ausprobiert wird, um Funktionsweisen und Charakteristiken zu observieren. Diese werden im Firmeninternen Confluence-Board, einer kollaborativen Knowledgebase von Atlassian, dokumentiert. @@ -241,11 +241,23 @@ Während Helm und FluxCD für ein einfaches Deployment sorgen, und cert-manager \subsection{Airgap-Installation} -Viele der Kunden haben strikte IT-Infrastrukturregeln, in welchem Zugang in das Internet stark beschränkt bis komplett deaktiviert ist. Dafür ist es notwendig, dass das komplette System ohne Internet aufgesetzt werden kann. Da Kubernetes eine Cloud-Native Lösung ist, stehen Probleme wie dieses nicht auf der Prioritätsliste der Kernentwickler, jedoch gibt es trotzdem Lösungen dafür. Diese fallen jedoch außerhalb des Zeitrahmens der Praxisphase und werden in der auf der Praxisphase aufbauenden Bachelorarbeit abgehandelt. +Viele der Kunden haben strikte IT-Infrastrukturregeln, in welchem Zugang in das Internet stark beschränkt bis komplett deaktiviert ist. Dafür ist es notwendig, dass das komplette System ohne Internet aufgesetzt werden kann. Da Kubernetes eine Cloud-Native Lösung ist, stehen Probleme wie dieses nicht auf der Prioritätsliste der Kernentwickler, jedoch existieren Lösungen. Deren Ansätze fallen jedoch außerhalb des Zeitrahmens der Praxisphase und werden in der auf der Praxisphase aufbauenden Bachelorarbeit abgehandelt. \section{Evaluation} -Lastverteilung, Selbstheilung, Ausfallsicherheit, Koordination und Skalierungsmöglichkeiten beschreiben die Möglichkeiten, die Kubernetes im Kern bietet. Kubernetes ist jedoch leicht erweiterbar, wodurch Deployment, Versionierung und Rollbacking über Helm, GitOps und Drift-Detection über FluxCD, HTTP Routing über GatewayAPI mithilfe von Traefik, Datenbankprovisionierung über CloudNativePG, Zertifikatverwaltung mit cert-manager, Secret Injection mit External Secrets Operator und Metrikerhebung mithilfe von Prometheus abgedeckt sind. Innerhalb der Praxisphase wurde auf Basis von Kubernetes ein funktionales, auditierbares, ausfallsicheres, einfach Deploy- und Updatebares Testsystem für selektron ausgearbeitet. Mit Ausnahme der nativen Lauffähigkeit auf Windows, welche mit einer virtualisierten Umgebung auf Basis von Hyper-V substituiert wird, wurden alle Ziele erreicht. Das zukünftige Ziel, das Cluster ohne Internetzugang aufzusetzen und zu Verwalten, ist Thema für die folgende Bachlorarbeit im Firmenkontext. +Der iterative Zyklus, welcher im Rahmen der Praxisphase angewandt wurde basiert auf dem Prinzip der agilen Softwareentwicklung. Diese Struktur bietet eine solide Grundlage für kontrollierte Identifikaiton, Bewertung und Integrataion neuer Technologien in ein System. Dennoch ist dieser Prozess nicht unfehlbar. + +Die Identifikationsphase, welche neu gefundene Produkte den übergeordneten Zielen zuweist und anschließend innerhalb eines Backlogs priorisiert gewährt eine strukturierte Abarbeitung. Durch das Einbeziehen von Betriebsmitgliedern werden unterschiedliche Perspektiven einbezogen, wodurch die Priorisierung auf fundierter Grundlage steht. Gleichzeitig besteht die Gefahr, dass subjektive Erfahrungen oder betriebliche Hierarchien die Priorisierung negativ beeinflussen und relevante Lösungen für Probleme in Vergessenheit geraten. + +Die Evaluationsphase stellt einen den nächsten Bestandteil des Prozesses dar. Das verwenden einer isolierten Testumgebung ermöglicht eine risikoarme Analyse des Produktes und nullifiziert Auswirkungen auf das bestehende Testsystem, wodurch die Stabilität dessen garantiert werden kann. Allerdings sorgt diese Isolation auch zu einer eingeschränkten Evaluationsfähigkeit, da reale Integraitonsbedingungen nicht abgebildet werden. Somit kann ein Produkt in der Testumgebung überzeugen, sich jedoch im Testsystem unerwartet Verhalten oder Probleme verursachen. + +Das Dokumentieren der Ergebnisse trägt zur Transparenz und Nachvollziehbarkeit der getroffenen Entscheidungen bei. Außerdem werden Wissenssilos vermieden. Zu kritisieren ist jedoch, dass die Dokumentation ohne Dokumentationsstandards vorgenommen wurde, wodurch es zu uneinheitlichen Ergebnissen dank mangelnder Konsistenz in der Detailtiefe kommen kann. + +Zentral ist die Kommunikation durch tägliche Rücksprache und wöchentliche Meetings innerhalb des Teams. Das kurze Kommunikationsintervall sorgt für eine hohe Transparenz und schnelle Feedbackzyklen. Gleichzeitig besteht die Gefahr einer zeitlichen Belastung welche den eigentlichen Arbeitsprozess blockiert. Zuletzt können zu viele Beteiligte den Entscheidungsprozess verlangsamen. + +Abschließend findet die Integration des evaluierten Produkts in das Testsystem statt, um die Praxistauglichkeit zu überprüfen. Auf Basis des iterativen Ansatzes werden Anpassungen und Optimierungen vorgenommen. Hauptgefahr ist dabei, dass durch unklar definierte Ziele und Erfolgskriterien ein großer Zeitverlust in der Integration und Optimierung droht. + +Zusammenfassend lässt sich festhalten, dass die eingesetzte Vorgehensweise auf Basis der iterativen Struktur, die Einbindung von Mitarbeitern und systematischen Evaluation eine Grundlage für den Migrationsprozess bietet. Gleichzeitig existieren Verbesserungspotentiale, insbesondere in der Standardisierung von Bewertungs- und Dokumentationsprozessen. \section{Fazit}