Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-12631
Autor(en): Wagner, Dominik
Titel: Entwicklung eines Mulitagentensystems für das dezentrale Deployment von Softwarekomponenten
Sonstige Titel: Development of a multi-agent system for the decentralized deployment of software components
Erscheinungsdatum: 2022
Dokumentart: Abschlussarbeit (Master)
Seiten: 80
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-126500
http://elib.uni-stuttgart.de/handle/11682/12650
http://dx.doi.org/10.18419/opus-12631
Zusammenfassung: 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.
Modern applications often consist of multiple components running on various cloud platforms, Internet of things or edge devices, and on-premises infrastructures. Furthermore, parts of this infrastructure may be operated by different organizations, which often cannot grant access to interfaces or credentials among themselves due to compliance rules and security concerns. Further constraints arise from security restrictions of private clouds and the architecture of the networks in which many IoT devices reside, as these often do not allow inbound connections. Manual software deployments in these complex environments are error-prone, time-consuming, and require a great deal of technical expertise. This thesis therefore presents a decentralized agent-based concept for automated software deployments to distributed and heterogeneous environments. In this concept, the application topology is modeled using TOSCA and subsequently partitioned into subgraphs. The individual parts are each assigned to an agent that performs the deployment semi-autonomously. Several approaches are presented and compared to split the topology in such a way that individual agents only have access to the part of the model that is relevant to them. The described concept enables a cross-organizational deployment based on agents without central access to all involved networks and systems. To enable coordination and information exchange between the agents, an MQTT-based communication architecture is presented. This architecture works in environments that do not allow inbound connections. In addition, a security extension to the communication architecture is presented that limits the damage caused by the compromise of individual agents. With this extension, the flow of information between the agents can be controlled via a rule set. The lifecycle of an application includes not only the deployment but also the development and changes during the lifetime of the application. Therefore, this work presents a GitOps-based workflow that facilitates collaboration between different organizations on an application. This workflow allows reviewing changes and applying them automatically to a deployment. With this thesis, we enable the development and deployment of multi-cloud and IoT applications across organizations in heterogeneous environments with distributed agents.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
Masterarbeit Dominik Wagner.pdf1,48 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.