Detailseite
MINERVA: Performance-Vorhersage von Microservice-Anwendungen mit Black-Box Container-Orchestrierung
Antragsteller
Dr. André Bauer; Professor Dr.-Ing. Samuel Kounev
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Förderung
Förderung seit 2023
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 510552229
Moderne verteilte Systeme werden heutzutage nach „best-practice“ als Microservices entwickelt und in der Regel in Container-Umgebungen bereitgestellt, die von sogenannten Container-Orchestration-Frameworks (z.B. Kubernetes) verwaltet werden. Diese Frameworks bieten viele Features zur Selbstadaption, wie z.B. Autoscaling, intelligentes Loadbalancing, Circuit-Breakers oder Failure-Recovery. Während diese Features signifikanten Einfluss auf die Performance der Anwendung haben, werden sie aus der Entwicklerperspektive häufig als Black-Box betrachtet. Daher is es schwierig, die Performance-Eigenschaften von Microservice-Anwendungen und Orchestration-Frameworks zu verstehen, zu quantifizieren, zu vergleichen und zu optimieren. Dabei stellen sich unter anderem die folgenden Fragen: Wie sollen die Adaptionsmechanismen konfiguriert werden, um ihre Performance und Kosten zu optimieren? Wie lange würde das System brauchen, um sich an eine plötzliche Belastungsspitze anzupassen? Was wären die Performance-Einbußen und die erwartete Recoverytime nach Ausfall eines Knotens? Bestehende Ansätze zur Performance-Vorhersage können nur zur Bewertung der steady-state Performance verwendet werden und sie erfordern normalerweise die explizite Modellierung möglicher Adaptionen und Adaptionsregeln. Dies ist aufgrund der großen Anzahl möglicher Adaptionen und der Tatsache, dass viele Adaptionsmechanismen auf komplexe maschinelle Lernverfahren angewiesen sind, nicht durchführbar. Nach unserem Kenntnisstand gibt es keinen modellbasierten Ansatz zur Performancevorhersage, der sowohl steady-state als auch transiente Phasen berücksichtigt und keine explizite Modellierung der Adaptionslogik erfordert. Ziel des Projekts ist die Entwicklung eines solchen Ansatzes für Microservice-Anwendungen in Umgebungen mit Black-Box Container-Orchestrierung. Er soll Anwendungsentwickler und Systembetreiber in die Lage versetzen, performancebezogene Fragen wie die oben genannten zu beantworten. Das Projekt wird drei Hauptziele fokussieren: (1) Modellierungsansätze zur Erfassung der Systemaspekte, die für die Vorhersage sowohl der transienten als auch der steady-state Performance moderner Microservice-Anwendungen relevant sind, (2) effiziente und skalierbare Algorithmen zur Simulation der Performance eines Systems, und (3) neuartige Algorithmen und Arbeitsabläufe zur Analyse und Interpretation der durch den entwickelten Modellierungs- und Simulationsansatz erhaltenen Ergebnisse. Darüber hinaus werden wir einen neuartigen Benchmark sowie Metriken für den standardisierten Vergleich von Adaptionsmechanismen auf der Grundlage des vorgeschlagenen Simulation-Frameworks entwickeln und umsetzen. Eine Reihe von Fallstudien wird durchgeführt, um verschiedene Adaptionsmechanismen zu vergleichen und die im Rahmen des Projekts entwickelten Methoden, Modelle und Werkzeuge individuell zu validieren sowie den vorgeschlagenen Gesamtansatz und seine Qualität zu validieren.
DFG-Verfahren
Sachbeihilfen