Universale Cloud-Edge-IoT Orchestration

Das Aufkommen von Internet of Things (IoT) ist eine bedeutende Entwicklung der heutigen Informationstechnologie und umfasst die F?higkeit von physischen Ger?ten, Daten über Netzwerke auszutauschen. H?ufig werden die generierten Daten in die Cloud übertragen und dort verarbeitet. Ebenso übernimmt die Cloud die Steuerung der Ger?te. In Anwendungsbereichen wie Hausautomatisierung, Produktionsteuerung und dem autonomen Fahren erm?glicht dies den Gewinn von neuen Erkenntnissen, effizienterer Nutzung von Ressourcen und einer autonomen Steuerung von Abl?ufen. Die stets ansteigende Anzahl von datengenerierenden IoT-Ger?ten führt zu neuen Herausforderungen, die ein Umdenken der bestehenden Cloud-IoT-Architektur erfordern. Dem umfangreichen Datenaufkommen stehen begrenzte Rechen- und Speicherkapazit?t sowie limitierte Bandbreite zum Transfer der Daten in die Cloud entgegen. Kernherausforderung ist zudem die Reduzierung der Kommunikationslatenz zwischen Cloud und IoT-Ger?ten zur Erm?glichung von Echtzeitverarbeitung in Anwendungsbereichen wie Virtual Reality oder Smart Cities.

Edge-Computing stellt einen L?sungsansatz für diese neuen Ansprüche durch Bereitstellung von Rechen- und Speicherkapazit?t in geografischer N?he zu IoT-Ger?ten dar. Abbildung 1 zeigt m?gliche Bereitstellungsformen der Edge-Schicht, n?mlich (i) als einen zus?tzlichen Vorverarbeitungsschritt zwischen IoT und Cloud, (ii) als vollst?ndigen Ersatz zur Cloud und (iii) als zus?tzliche Unterstützungsschicht. Durch die zus?tzliche Bereitstellung kann eine deutliche Reduktion der Kommunikationslatenz erreicht werden.

Die Datenverarbeitung in Cloud und Edge wird meist in Form von leichtgewichtigen Containern verfügbar gemacht. Die reduzierte Gr??e von Containern im Vergleich zu virtuellen Maschinen (VM) erm?glicht eine flexible Bereitstellung auf verschiedenen Ebenen der Cloud-Edge/Edge-IoT Architektur. Hierbei gilt es eine effiziente Verteilung der containerisierten Applikation zu erreichen, um:

  • dem (oft limitierten) Angebot an Ressourcen der Ger?te (z. B. Raspberry Pi oder andere Embedded-Ger?te) im Edge-Layer gerecht zu werden und den Energieverbrauch durch effiziente Verteilung zu minimieren
  • die Anforderungen an die ben?tigte Latenz der Applikation und der verfügbaren Bandbreite zu erfüllen
  • alle Abh?ngigkeiten zu anderen Services und weiteren Ressourcen entsprechend in annehmbarer Distanz zum eigentlichen Service bereitzustellen.

Für die Frage der Verteilung von containerisierten Applikationen spricht man von der sog. Cloud-Edge Orchestration, die sich diesen Herausforderungen annimmt. Die Orchestration einer solchen mehrschichtigen Architektur umfasst die Auswahl von Edge-Knoten für das Deployment, Monitoring und die autonome und dynamische Ausführung von Containern unter Einhaltung der geforderten Quality-of-Service (QoS), wie z.B. die maximal zul?ssige durchschnittliche Verarbeitungszeit einer Anfrage. Neben popul?ren Frameworks wie Kubernetes gibt es zahlreiche weitere, nicht-threshold basierte Algorithmen und Policies zur Umsetzung komplexer autonomer Orchestrationen mit unterschiedlichen Techniken z. B. aus dem Bereich des maschinellen Lernens.

Ziel ist es, basierend auf dem Leistungsanforderungsprofil von Applikationen (z.B. CPU- oder I/O-intensiv) und Infrastrukturleistungsdaten, wie z.B. Art und Anzahl der Knotenpunkte, einen Algorithmus für eine autonome Orchestration auszuw?hlen. Die Orchestration wird dabei in eine plattform-unabh?ngige Orchestrationstopologie umgesetzt und von einer Container-Runtime (z. B. Docker) ausgeführt und anschlie?end auf Knoten in der Cloud-, Edge- und IoT-Ebene verteilt. Die Knotenpunkte melden dabei stets QoS-Daten an den Autonomen Controller zurück, welcher unter Anwendung des MAPE-K-Loop reagiert und die Orchestration laufend anpasst (Abb. 2). Anhand der gewonnenen Daten kann mit Hilfe statistischer Auswertungen eine Empfehlung für die zukünftige Bereitstellung von neuen Applikationen ausgesprochen werden.

Aus diesem universalen Architekturvorschlag ergeben sich folgende Fragestellungen, welche im Kernbereich unserer Forschung stehen:

  1. Wie kann die stets wachsende Anzahl an Cloud, Edge und IoT Orchestrations-Algorithmen bzw. Strategien für eine breite Nutzung aufbereitet, implementiert und verfügbar gemacht werden?
  2. Welche Anforderung muss eine Container Orchestration Platform erfüllen um Cloud-Edge/Edge-IoT Architekturen im Hinblick auf die Nutzung verschiedener Orchestrations-Strategien zu verwalten und zu orchestrieren?
  3. Wie kann eine Komplexit?tsreduktion beim Aufbau und Verwalten von Cloud-Edge/Edge-IoT Architekturen realisiert werden ohne die wesentlichen Funktionalit?ten und Vorzüge einer solchen Architektur zu verlieren?
  4. Wie k?nnen in reproduzierbarer Art und Weise die Performance-Profile (Ressourcennutzungs-Profile) von Applikationen ermittelt werden um die Orchestration a priori auf eine hybride Architektur anzupassen?

Unser Ziel ist es, basierend auf bereits popul?ren Container Orchestrations-Plattformen wie Kubernetes und anderen Plattformen bzw. Technologien eine abstrahierte, konfigurierbare und vereinfachte Verwaltung von Cloud-Edge/Edge-IoT Architekturen zu realisieren um die Nutzung von Edge-Computing für noch mehr Anwendungsbereiche und Nutzer einfacher m?glich zu machen. Die weitere Durchdringung von Edge-Computing in bestehenden IT-Architekturen kann zu transparenterem Datenschutz, geringerem Energieverbrauch für die Bereitstellung von Infrastruktur und h?herer Endnutzerzufriedenheit führen.

Publikationen

B?hm S., Wirtz G.: Towards Orchestration of Cloud-Edge Architectures with Kubernetes
EAI Edge-IoT 2021 - 2nd EAI International Conference on Intelligent Edge Processing in the IoT Era, online virtual congress, 24-26 November 2021

B?hm S. and Wirtz G.: Profiling Lightweight Container Platforms: MicroK8s and K3s in Comparison to Kubernetes
Proceedings of the 13th Central European Workshop on Services and their Composition, Bamberg, Germany, February 25-26, 2021.

B?hm, S. and Wirtz, G.: A Quantitative Evaluation Approach for Edge Orchestration Strategies
Service-Oriented Computing, Springer International Publishing, 2020, 127-147.