Einleitung
Die Projekteinleitung beschreibt die grundlegenden Ziele und Anforderungen der Semesterarbeit. Dabei werden die folgenden Kernpunkte hervorgehoben:
Zielsetzung
-
Bereitstellung von Microservices auf Kubernetes: Die bereits entwickelten Microservices werden in einem Kubernetes-Cluster deployed und orchestriert, um ihre Skalierbarkeit und Verfügbarkeit zu gewährleisten.
-
Automatisierung des Deployment-Prozesses: Eine CI/CD-Pipeline wird eingerichtet, um den Quellcode bei jeder Änderung automatisiert zu testen und in den Produktions-Cluster zu integrieren. Dies gewährleistet kontinuierliche Verbesserungen und zeitnahe Implementierungen.
-
Sicherstellung der Skalierbarkeit und Ausfallsicherheit: Kubernetes ermöglicht die automatische Skalierung der Microservices basierend auf der Nachfrage, und die Pipeline sorgt für problemlose Aktualisierungen der Services.
Motivation
Im Rahmen dieser Semesterarbeit soll ein modernes, skalierbares und resilient aufgebautes System geschaffen werden, das den Anforderungen einer Cloud-nativen Architektur entspricht. Der Fokus liegt auf der Automatisierung von Prozessen, der einfachen Reproduzierbarkeit sowie der Nutzung moderner Technologien wie Kubernetes, ArgoCD und Terraform.
Die Arbeit liefert praxisrelevante Einblicke in die Automatisierung und Orchestrierung von Anwendungen, die sowohl im Entwicklungs- als auch im Produktionsumfeld von großem Nutzen sind.
Erwartete Ergebnisse
Die Semesterarbeit zielt darauf ab, folgende Ergebnisse zu erreichen:
-
Kubernetes-Cluster: Ein stabiler und funktionsfähiger Kubernetes-Cluster, auf dem die Microservices zuverlässig betrieben werden können.
-
CI/CD-Pipeline: Eine automatisierte CI/CD-Pipeline, die Änderungen am Quellcode kontinuierlich integriert und bereitstellt.
-
Skalierbarkeit und Verfügbarkeit: Eine evaluierte und dokumentierte Skalierbarkeit sowie Ausfallsicherheit der bereitgestellten Services.
-
Dokumentation: Eine vollständige technische Dokumentation der Implementierung und Konfiguration aller eingesetzten Tools und Technologien.
Systemarchitektur
Die folgende Übersicht zeigt die Architektur des Projekts und die Interaktion der verschiedenen Komponenten: