Pouresmaeil, K. (2024). Recommendation for orchestration architectures in serverless edge computing [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2024.113411
Cloud Computing kann die Arbeitslast neuer Anwendungen, wie autonomer Fahrzeuge oder Augmented Reality, nicht effizient bewältigen. Um dieses Problem zu lösen, entstand ein neues Paradigma namens Edge Computing. Dies ermöglicht die Verarbeitung in unmittelbarer Nähe der Nutzer, welche unter anderem eine geringere Latenzzeit ermöglicht, die für diese neuen Anwendungen unerlässlich ist. Trotz allem bringt Edge Computing auch neue Herausforderungen mit sich. Bei dem neuen Paradigma müssen die Entwickler mit heterogenen Hardware- und Netzwerkinfrastrukturen umgehen, welche die Bereitstellung der Anwendung und das Ressourcenmanagement erschwert. Als Lösung für diese Herausforderungen entstand ein neues Paradigma namens Serverless Edge Computing. Dabei wird von den Entwicklern eine Applikation in Form von stateless Funktionen bereitgestellt, welche dann von einem Serviceprovider gehostet werden. Dadurch übernehmen die Serviceprovider die Verantwortung für die Bereitstellung von Anwendungen und das Ressourcenmanagement. Dies bedeutet, dass Entwickler sich nicht mehr um die Heterogenität des Edge Computings kümmern müssen. Ein wichtiger Teil des idealen Ressourcenmanagements ist die Ressourcenorchestrierung, die für die effiziente Handhabung von Systemressourcen und das Erreichen von Service-Level-Zielen, wie z. B. Latenz, unerlässlich ist. In der aktuellen Literatur findet man viele verschiedene Orchestrierungsarchitekturen, was darauf hinweist, dass die Suche nach einer optimalen Strategie ein komplexes Problem darstellt. In dieser Arbeit stellen wir ein Framework vor, welches in der Lage ist Orchestrierungsarchitekturen auf der Basis aussagekräftiger Leistungsmetriken zu empfehlen. Zu diesem Zweck erweitern wir ein serverless Experimentierframework, indem wir neue Funktionalität implementieren. Zu den neuen Funktionen gehören, unter anderem, die dynamische Erstellung heterogener Infrastrukturen mit Kubernetes-Clustern und die Unterstützung mehrerer Orchestrierungsarchitekturen. Unser Framework basiert auf einem Systemmodell, das in der Lage ist die Funktionsweise einer Orchestrierungsarchitektur auf einer heterogenen Infrastruktur darzustellen. Um die Fähigkeiten unseres Frameworks zu demonstrieren, untersuchen wir zwei verschiedene Szenarien. Dabei betrachten wir jeweils eine zentrale, eine dezentrale und eine verteilte Orchestrierungsarchitektur. Die Szenarien basieren auf bekannten Anwendungsfällen für Edge-Cloud-Systeme namens Smart City und Industrial IoT. Damit wir die verschiedenen Orchestrierungsstrategien aussagekräftig bewerten können, basieren wir unsere Empfehlungen auf aussagekräftige Leistungsmetriken aus der Sicht von Benutzern und Plattformanbietern, sowie auf die Auswirkungen der Infrastruktur auf die Orchestrierungsarchitektur.Unsere Ergebnisse zeigen, dass aus Sicht der Nutzer eine zentralisierte Architektur die beste Wahl für ein Industrial IoT-Szenario ist. Im Gegensatz dazu ist eine dezentralisierte Architektur die beste Wahl für ein Smart City-Szenario. Aus der Sicht von den beiden anderen Perspektiven, erwies sich die dezentrale Architektur in beiden Szenarien als effektiver, als die beiden anderen Architekturen.
de
Cloud computing cannot efficiently handle the workload of new applications such as autonomous vehicles or augmented reality. To overcome this problem, a new paradigm named edge computing rose. It allows processing closer to users, enabling, among other things, lower latency, which is vital for these new applications. Nevertheless, edge computing introduces new challenges. In the edge computing paradigm, developers have to handle heterogeneous hardware and network infrastructures, making application deployment and resource management challenging. To overcome the deployment difficulties, another new paradigm named serverless edge computing came to life. Developers deploy their applications as stateless functions, which are hosted by a service provider. Thus, developers do not have to worry about the heterogeneous nature of edge computing, and the service provider takes over the deployment and resource management responsibility. One major part of ideal resource management is resource orchestration, which is vital for efficiently handling system resources and reaching Service Level Objectives such as latency. Current literature supports many different orchestration architectures, suggesting that finding an optimal strategy is a complex problem. This thesis introduces a framework capable of recommending orchestration architectures based on expressive performance metrics. For this purpose, we extend a serverless experimentation framework by implementing new functionalities, such as dynamically creating heterogeneous infrastructures with Kubernetes clusters and supporting multiple orchestration architectures. Our framework is based on a system model capable of describing the operation of an orchestration architecture on a heterogeneous infrastructure. To showcase our framework's capabilities, we investigate two different scenarios using a centralized, decentralized, and distributed orchestration architecture. The scenarios are based on known edge-cloud system use cases: Smart City and Industrial IoT. To properly evaluate the different orchestration strategies, we base our recommendation on meaningful performance metrics from a user's and platform provider's perspective, as well as the impact of the infrastructure on the orchestration architecture. Our results show that from a user's perspective, a centralized architecture is the best choice for an IIoT scenario. In contrast, a decentralized architecture is the best choice for a Smart City scenario. Considering the other two perspectives, the decentralized architecture proved more effective than the other two architectures in both scenarios.