Master Thesis MSTR-2022-74

BibliographyWagner, Dominik: Entwicklung eines Mulitagentensystems für das dezentrale Deployment von Softwarekomponenten.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Master Thesis No. 74 (2022).
80 pages, german.
Abstract

Moderne Anwendungen bestehen häufig aus verschiedenen Komponenten, welche auf unterschiedlichen Cloud Plattformen, Internet of Things oder Edge-Geräte und On-Premises Infrastrukturen ausgeführt werden. Weiterhin können Teile dieser Infrastruktur von verschiedenen Organisationen betrieben werden, die aufgrund von Compliance-Regeln und Sicherheitsbedenken oft keinen Zugriff auf Schnittstellen oder Anmeldedaten untereinander freigeben können. Weitere Einschränkungen entstehen durch Sicherheitsbeschränkungen von Private Clouds und der Netzwerkarchitektur, in der sich viele IoT-Geräte befinden, da diese oft keine eingehenden Verbindungen erlauben. Manuelle Softwaredeployments in diesen komplexen Umgebungen sind fehleranfällig, zeitaufwendig und erfordern viel Expertise. Aus diesem Grund wird in dieser Arbeit ein dezentralisiertes auf agentenbasiertes Konzept für automatisierte Deployments in verteilte und heterogene Umgebungen vorgestellt. In diesem Konzept wird die Anwendungstopologie mit TOSCA modelliert und anschließend aufgeteilt. Die einzelnen Teile werden jeweils einem Agenten zugeordnet, der das Deployment teilautonom ausführt. Es werden dabei mehrere Ansätze entwickelt und verglichen, um die Topologie so aufzuteilen, dass einzelne Agenten nur Zugriff auf den für sie relevanten Teil des Modells erhalten. Das beschriebene Konzept ermöglicht durch die Agenten ein organisationsübergreifendes Deployment ohne zentralen Zugang zu allen beteiligten Netzwerken und Infrastrukturen. Um die Koordination und den Informationsaustausch zwischen den Agenten zu ermöglichen, wird eine MQTT-basierte Kommunikationsarchitektur präsentiert, welche auch in Umgebungen mit Sicherheitsbeschränkungen, ohne eingehende Verbindungen funktioniert. Zusätzlich wurde in dieser Arbeit die Kommunikationsarchitektur um ein Sicherheitskonzept erweitert, welches den Schaden, durch eine Kompromittierung von einzelnen Agenten, einschränkt. Dabei lässt sich genau kontrollieren, welcher Agent auf welche Informationen eines anderen Agenten Zugriff hat. Der Lebenszyklus einer Anwendung umfasst nicht nur das Deployment, sondern auch die Entwicklung und Änderungen während der Lebenszeit der Anwendung. Deshalb wird in dieser Arbeit ein GitOps-basierten Workflow präsentiert, der die Zusammenarbeit von verschiedenen Organisationen an einer Anwendung erleichtert. Dieser Workflow erlaubt es, Änderungen einem Review zu unterziehen und diese automatisiert auf ein Deployment anzuwenden. Mit dieser Arbeit ermöglichen wir die Entwicklung und das Deployment von organisationsübergreifenden Multicloudund IoT-Anwendungen in heterogenen Umgebungen mit verteilten Agenten.

Full text and
other links
Volltext
Department(s)University of Stuttgart, Institute of Architecture of Application Systems
Superviser(s)Leymann, Prof. Frank; Breitenbücher, Dr. Uwe; Stötzner, Miles
Entry dateMarch 17, 2023
   Publ. Institute   Publ. Computer Science