Architecture-based simulation of elasticity policies with learning capabilities
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Context. For cloud-native applications, the choice of scaling method can highly impact both the application performance and operational cloud costs. To be able to evaluate different cloud application architectures at design time, an architecture can be modeled and simulated. Palladio [BKR07] is a modeling language and simulator that allows the modeling of architectures for performance predictions at design time. The Slingshot approach [KKSB23] proposes adding a new type of architectural view called Scaling Policy Definitions (SPDs) to Palladio for model-based performance predictions of elasticity policies. In addition, the Slingshot approach encompasses the Slingshot simulator which employs discrete event simulations of fixed length to determine the quality impact of modeled policies. Problem. Resource provisioning and autoscaling in the cloud may rely on advanced scaling approaches that are not only reactive but also include predictive components that are often learningbased. However, the Slingshot approach currently supports only the modeling of elasticity policies that can be classified as reactive. Objective. The objective of this thesis is to identify currently used learning-based elasticity policies and to implement them in Slingshot. Thus, this thesis extends the Slingshot approach with support for learning-based approaches and compares them both to each other and their Slingshot implementation with results provided in the original paper. Method. The approaches are identified using a rapid literature review. For the extension of SPDs, a model-driven software development approach is followed. The evaluation is based on the evaluations done by the identified papers and is performed using Slingshot. Result. The SPD metamodel is extended with support for learning-based elasticity policies and the Fuzzy SARSA and Fuzzy Q-Learning approaches are implemented in the Slingshot simulator. The evaluation shows that these policies perform better than the existing reactive scaling policies. Conclusion. By implementing state-of-the-art predictive elasticity policies in Slingshot and extending SPDs with support for modeling them, this thesis makes Slingshot and the SPD language more complete. The evaluation shows that learning-based elasticity policies can offer improved adherence to Service Level Objectives (SLOs) while using fewer resources, but initially perform worse than reactive policies during the learning phase.
Kontext. Die Performance und die operationalen Kosten von Cloud-nativen Anwendungen hängen stark von dem verwendeten Skalierungsalgorithmus ab. Um verschiedene Architekturen von Cloud-Anwendungen zu vergleichen, können diese modelliert werden. Zur Modellierung und Simulation von Softwarearchitekturen kann Palladio [BKR07] eingesetzt werden. Palladio wird durch den Slingshot-Ansatz [KKSB23] um Scaling Policy Definitions (SPDs) erweitert, wodurch Performancevorhersagen auch für Modelle mit Skalierungsalgorithmen getroffen werden können. Der Slingshot-Ansatz umfasst auch den Slingshot-Simulator, der unter Verwendung von ereignisbasierten Simulationen die Auswirkungen der modellierten Regeln beurteilen kann. Problem. Fortgeschrittene Algorithmen zur Ressourcenbereitstellung und automatischen Skalierung in der Cloud sind oft nicht rein reaktiv, sondern enthalten häufig auch prädiktive Komponenten, die oft selbstlernend sind. Der Slingshot-Ansatz unterstützt derzeit jedoch nur die Modellierung reaktiver Skalierungsregeln. Zielsetzung. Ziel der Arbeit ist es, aktuell verwendete lernbasierte Skalierungsmethoden zu identifizieren und in Slingshot zu implementieren. Dazu wird der Slingshot-Ansatz so erweitert, dass lernbasierte Methoden unterstützt werden. Die in Slingshot implementierten Methoden werden dann untereinander, mit reaktiven Methoden und mit den Ergebnissen der Orginalmethode verglichen. Methodik. Verschiedene Methoden werden durch einer Literaturauswertung identifiziert und verglichen. Die SPDs werden dann mit Hilfe eines modellgetriebenen Softwareentwicklungsansatzes erweitert. Für die Evaluation werden die Evaluationen der identifizierten Artikel in Slingshot nachgebildet. Ergebnis. Das SPD Metamodell unterstützt nun lernbasierte Skalierungsmethoden. Die Methoden Fuzzy SARSA und Fuzzy Q-Learning wurden im Simulator Slingshot implementiert. Die Evaluierung zeigt, dass die prädiktiven Methoden eine Verbesserung gegenüber den existierenden reaktiven Skalierungsmethoden darstellen. Zusammenfassung. Durch die Implementierung moderner prädiktiver Skalierungsmethoden in Slingshot und die Erweiterung von SPDs mit Modellierungsmethoden für diese neuen Skalierungsmethoden macht diese Arbeit Slingshot und das SPD-Modell vollständiger. Die Evaluierung zeigt, dass lernbasierte Skalierungsmethoden im Vergleich zu reaktiven Skalierungsmethoden besser in der Lage sind, Service Level Objectives (SLOs) zu erfüllen und dabei weniger Ressourcen benötigen, jedoch zunächst eine Lernphase mit schlechterem Verhalten erfordern.