Ettenauer, L. (2023). Stateful serverless computing: An evaluation of a new paradigm within cloud computing [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2023.103746
Cloud Computing spielt aufgrund seiner Elastizität und Flexibilität eine immer wichtigere Rolle in der modernen IT-Infrastruktur. Mit Serverless Computing ist ein neues Ausführungsmodell innerhalb des Cloud Computings entstanden, das noch mehr Elastizität bietet und eine automatische Skalierung ohne explizite Bereitstellung von Hardware und eine Abrechnung ausschließlich nach Verbrauch ermöglicht. Das Hauptberechnungselement beim Serverless Computing ist die Cloud-Function, die in der Regel isoliert ausgeführt wird, sodass keine Informationen oder Zustände über die Dauer der Ausführung hinaus erhalten bleiben. Stateful Serverless Computing ist ein neues Paradigma, das verspricht, die Vorteile des Serverless Computing für Anwendungen zu nutzen, bei denen die Zustandsverwaltung für eine effiziente Berechnung unerlässlich ist, indem Informationen über die unmittelbare Lebensdauer einer Cloud-Function hinaus erhalten bleiben.Diese Arbeit gibt Einblicke in drei Plattformen aus Wissenschaft und Industrie, um zu bewerten, wie weit fortgeschritten und ausgereift Stateful Serverless Computing ist und ob dieses Paradigma auch Chancen für datenintensive Anwendungen bietet. Der Fokus der Evaluation lag auf dem Anwendungsfall von Machine Learning Pipelines, welche alle Aufgaben des Machine Learnings, von der Datenextraktion und -vorverarbeitung bis zum Modelltraining und -einsatz abbildet. Vier verschiedene Pipelines wurden auf allen evaluierten Plattformen implementiert, um ein breites Spektrum an Szenarien mit unterschiedlichen Komplexitäts- und Zustandsanforderungen abzudecken, von der einfachen Klassifizierung auf der Grundlage von Textdaten bis hin zur Spracherkennung auf der Grundlage von Audiodaten unter Verwendung eines Convolutional Neural Network. Die Ergebnisse zeigen, dass die evaluierten Stateful Serverless Plattformen unterschiedliche Ansätze für ein effizientes Zustandsmanagement verfolgen, was zu unterschiedlichen Ergebnissen in Bezug auf Leistung und Ressourcennutzung führt. Solange sich die Datengrößen in einem angemessenen Rahmen bewegen, bieten alle evaluierten Plattformen die Möglichkeit einer effizienten Zustandsverwaltung, insbesonders wenn sie eine Strategie für die Zusammenlegung von Zustand und Berechnung verfolgen, die sich bei kleinen bis mittleren Datenmengen positiv auf die Leistung auswirkt. Es zeigt sich außerdem, dass die untersuchten Plattformen nicht für die Verwaltung großer Datenmengen im Zustandspeicher ausgelegt sind. Daher kann Stateful Serverless Computing für datenintensive Arbeitslasten nur bedingt empfohlen werden.
de
Cloud computing is playing an increasingly important role in modern IT infrastructure due to its elasticity and flexibility. With serverless computing, a new execution model has emerged within cloud computing that offers even more elasticity and enables automatic scaling without explicit provision of hardware and billing based solely on usage. The main computational element in serverless computing is the cloud function, which is typically executed in isolation so that no information or state is preserved beyond the life of the execution. Stateful serverless computing is a new paradigm that promises to bring the benefits of serverless computing to applications where state management is essential for efficient computation by preserving information beyond the immediate lifetime of a cloud function.This thesis provides insights into three platforms from academia and industry to evaluate how advanced and mature stateful serverless computing is and whether this paradigm also offers opportunities for data-intensive applications. The focus of the evaluation was on the use case of machine learning pipelines, whichencompasses all machine learning tasks, from data extraction and preprocessing to model training and deployment. Four different pipelines were implemented on all evaluated platforms to cover a wide range of scenarios with different computational and state requirements, from simple classification based on textual data to speech recognition based on audio data using a convolutional neural network. The results show that the evaluated stateful serverless platforms take different approaches for efficient state management, with different outcomes in terms of performance and resource utilization. As long as the data sizes are within reasonable limits, all the platforms evaluated offer the possibility of efficient state management, especially if they follow a strategy for co-locating state and computation, which has a positive impact on performance for small to medium state values. It was also revealed that the evaluated platforms are not designed to manage large amounts of data in state. Therefore, stateful serverless computing can only be conditionally recommended for data-intensive workloads.