Serverless Computing ist ein Cloud-Computing-Modell, bei dem die serverseitige Logik in staatenlosen Containern ausgeführt wird, die ereignisgesteuert sind und normalerweise von Anbieter-Hosts wie AWS Lambda verwaltet werden. Dieses Computing-Modell beschreibt ein Paradigma, bei dem die Infrastruktur für den Entwickler vollständig verborgen bleibt und vom Cloud-Anbieter verwaltet wird. Ein Beispiel für ein solches Modell ist Apache OpenWhisk, eine quelloffene, verteilte Serverless-Plattform, die Funktionen als Reaktion auf Ereignisse in großem Umfang ausführt. Der Einsatz solcher serverless Methoden verspricht eine Reduzierung der Infrastrukturkosten und automatische Skalierbarkeit. Ein weiterer wichtiger Vorteil des Serverless-Ansatzes besteht darin, dass der Betriebsteil des DevOps-Prozesses vereinfacht und der Zeitaufwand für die Verwaltung und Wartung der Server reduziert wird. Trotz dieser Vorteile erfordern Anwendungen, die das Serverless-Computing-Modell nutzen, einen neuen Blick auf die DevOps-Automatisierungspraktiken, um den Anwendungsbereitstellungsprozess auf zuverlässige Weise zu beschleunigen.
Kontinuierliche Integration und Bereitstellung sind für die sichere und zuverlässige Bereitstellung von Softwareservices unerlässlich. Diese DevOps-Praxis wird bereits von einigen Cloud-Anbietern mit eigenen Cloud-Diensten unterstützt, was jedoch zu einem Vendor Lock-in führt, da individuelle Implementierungen und DevOps-Prozesse vom Anbieter abhängen. Darüber hinaus sind diese Cloud-basierten CI/CD-Dienste mit Kosten verbunden, sobald die Build-Limits überschritten werden. Um diese Probleme zu lösen, haben wir eine Open-Source-CI/CD-Lösung entwickelt, die mit Monitoring-Tools integriert ist, um die Systemmetriken und die Build-Performance zu visualisieren. Das vorgeschlagene Tool bietet eine Isolierung der Plattformanbieter und ist anbieterunabhängig. Die Ergebnisse der Arbeit können auch dazu verwendet werden, um Leistungsengpässe in der Build-Zeit, die durch die Dienste verursacht werden, durch verteiltes Tracing herauszufinden.
Ziel dieser Masterarbeit ist es, eine Continuous Integration and Delivery Lösung sowohl für Microservices als auch für serverless Anwendungen der Internet of Things (IoT) Plattform zu entwickeln und die Ergebnisse der Implementierung zu evaluieren. Darüber hinaus liefert die Arbeit auch empirische Ergebnisse zur Verbesserung der CI/CD-Build-Ausführungszeit und bietet eine bessere Verzweigungslösung, die den Overhead bei der Pflege von Verzweigungen für mehrere Umgebungen minimiert. Nebenbei werden in dieser Arbeit einige der forschungsorientierten Fragen behandelt, die sich aus den für die Erstellung der CI/CD-Lösung verwendeten Entwicklungsmethoden ergeben.
«
Serverless Computing ist ein Cloud-Computing-Modell, bei dem die serverseitige Logik in staatenlosen Containern ausgeführt wird, die ereignisgesteuert sind und normalerweise von Anbieter-Hosts wie AWS Lambda verwaltet werden. Dieses Computing-Modell beschreibt ein Paradigma, bei dem die Infrastruktur für den Entwickler vollständig verborgen bleibt und vom Cloud-Anbieter verwaltet wird. Ein Beispiel für ein solches Modell ist Apache OpenWhisk, eine quelloffene, verteilte Serverless-Plattform, die...
»