Browsing by Author "Wagner, Dominik"
Now showing 1 - 2 of 2
- Results Per Page
- Sort Options
Item Open Access Entwicklung eines Mulitagentensystems für das dezentrale Deployment von Softwarekomponenten(2022) Wagner, DominikModerne 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.Item Open Access Konzept und Implementierung einer TOSCA-basierten Lösung zur Provisionierung von IoT Devices(2017) Wagner, DominikDas Internet of Things ist ein neuer Trend der das Potenzial hat viele Bereiche des Lebens zu verändern [AIM10]. Das Verbinden von physikalischen Objekte untereinander oder mit dem Internet bietet viele Möglichkeiten. Sensoren können zum Beispiel den Verkehrsfluss analysieren und ihn über Aktuatoren wie Ampeln steuern. Es existieren viele Bereiche in denen IoT Anwendungen den Menschen unterstützen können. Dazu zählen unter anderem Logistik, Smart Home oder das Gesundheitswesen [AIM10]. Abhängig von der Anwendung werden verschiedenste Geräte im Internet der Dinge eingesetzt. Die kleinsten bestehen oft nur aus einem RFID Tag, während die leistungsstärksten Dinge mit Desktop PCs vergleichbar sind. Auch bei den Kommunikationstechnologien gibt es große Unterschiede. Geräte können zum Beispiel über WLAN, Bluetooth oder kabelgebunden über unterschiedlich Protokolle wie HTTP oder MQTT kommunizieren. Darüber hinaus werden IoT Geräte oft in großer Anzahl eingesetzt. All diese Geräte müssen mit Software und Konfiguration bespielt werden, was aus mehrere Gründen schwierig ist. Zunächst sind die Geräte sehr unterschiedlich und haben keine einheitliche Schnittstelle um Software und Konfiguration zu übertragen. Weiterhin ist das manuelle Installieren von Software sehr fehleranfällig und teuer, vor allem wenn viele Geräte eingesetzt werden. Zusätzlich wiederholt sich der Aufwand für das Provisionieren bei jedem Update. Deshalb sollten IoT Geräte automatisch provisioniert werden. Für Cloud-Umgebungen gibt es die Topology and Orchestration Specification for Cloud Applications (TOSCA) von OASIS die es erlaubt komplexe Cloud-Anwendungen zu modellieren und automatisch zu provisionieren [OAS13b]. Die Modelle sind dabei Cloud-Anbieter unabhängig [OAS13b]. In dieser Arbeit werden mehrere Konzepte vorgestellt um IoT Geräte mit TOSCA zu modellieren, um so die Komplexität zu reduzieren und eine automatische Provisionierung zu ermöglichen. Hierfür werden Geräte aus unterschiedlichen Leistungsklassen und Rollen untersucht. Neben den Geräten lassen sich auch die anderen Komponenten einer IoT Umgebung mit TOSCA modellieren und provisionieren.