Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-11844
Autor(en): Weiler, Simon
Titel: Automatic resource scaling in cloud applications - case study in cooperation with AEB SE
Erscheinungsdatum: 2021
Dokumentart: Abschlussarbeit (Bachelor)
Seiten: 59
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-118613
http://elib.uni-stuttgart.de/handle/11682/11861
http://dx.doi.org/10.18419/opus-11844
Zusammenfassung: As an increasing number of applications continue to migrate into the cloud, the implementation of automatic scaling for computing resources to meet service-level objectives in a dynamic load environment is becoming a common challenge for software developers. To research how this problem can be tackled in practice, a state-of-the-art auto-scaling solution was developed and implemented in cooperation with AEB SE as a part of their application migration to a new Kubernetes cluster. Requirement elicitation was done via interviews with their development and IT operations staff, who put a strong focus on fast response times for automated requests as the main performance goal, with CPU, memory and response times being the most commonly used performance indicators for their systems. Using the collected knowledge, a scaling architecture was developed using their existing performance monitoring tools and Kubernetes' own Horizontal Pod Autoscaler, with a special adapter used for communicating the metrics between the two components. The system was tested on a deployment of AEB's test product using three different scaling approaches, using CPU utilization, JVM Memory usage and response time quantiles respectively. Evaluation results show that scaling approaches based on CPU utilization and memory usage are highly dependent on the type of requests and the implementation of the tested application, while response time-based scaling provides a more aggregated view on system performance and also reflects the actions of the scaler in its metrics. Overall though, the resulting performance was mostly the same for all scaling approaches, showing that the described architecture works in practice, but a more elaborate evaluation on a larger scale in a more optimized cluster would be needed to clearly distinguish between performances of different scaling strategies in a production environment.
Da immer mehr Anwendungen in die Cloud migrieren, wird die automatische Skalierung von Rechenressourcen zur Erreichung von Service-Level-Zielen in einer Umgebung mit dynamischen Lasten zu einer häufigen Herausforderung für Softwareentwickler. Um zu erforschen, wie dieses Problem in der Praxis angegangen werden kann, wurde eine hochmoderne Auto-Scaling-Lösung entwickelt und implementiert, in Zusammenarbeit mit AEB SE als Teil ihrer Anwendungsmigration zu einem neuen Kubernetes-Cluster. Die Anforderungsermittlung erfolgte durch Interviews mit ihren Entwicklern und IT-Fachleuten, die einen starken Fokus auf schnelle Reaktionszeiten für automatisierte Anfragen als Hauptziel setzen, sowie CPU- und Reaktionszeiten als die am häufigsten verwendeten Leistungsindikatoren für ihre Systeme nennen. Anhand des gesammelten Wissens wurde eine Skalierungsarchitektur mit Performance-Monitoring-Tools und Kubernetes eigenem Horizontal Pod Autoscaler, zusammen mit einem speziellen Adapter, der für die Kommunikation der Metriken zwischen den beiden Komponenten verwendet wird, entwickelt und ausgewertet. Das System wurde auf einem Deployment des AEB-Testprodukts mit drei verschiedenen Skalierungsansätzen unter Verwendung von CPU-Auslastung, JVM-Speichernutzung und Antwortzeit-Quantilen getestet. Auswertungsdaten zeigen, dass Skalierungsansätze, die auf der CPU-Auslastung und der Speicherauslastung basieren, in hohem Maße von Art der Anforderungen und der Implementierung der getesteten Anwendung abhängen, während die Antwortzeit-basierte Skalierung eine distanziertere Ansicht der Systemleistung wiedergibt, die auch die Auswirkungen der Skalierung zeigt. Insgesamt war die resultierende Leistung jedoch für alle Skalierungsansätze annähernd gleich, womit gezeigt wurde, dass die beschriebene Architektur in der Praxis funktioniert. Eine Auswertung in größerem Maßstab in einem fortgeschritteneren Cluster wäre jedoch erforderlich, um verlässliche Aussagen über Unterschiede in den Leistungen verschiedener Skalierungsstrategien in einer Produktionsumgebung zu machen.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
Automatic-resource-scaling.pdf1,71 MBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.