Bibliography | Degutis, Daniel Ryan: Modeling and transformation of serverless workflows. University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Master Thesis No. 55 (2020). 121 pages, english.
|
Abstract | The serverless computing paradigm focuses on development of cloud applications, which do not require management of underlying infrastructure. Instead cloud providers are responsible for all management tasks such as provisioning, resource allocation and scaling. Function-as-a-Service (FaaS) is a cloud service model which makes use of the serverless computing concept. FaaS platforms allow hosting user-provided and typically stateless functions, which can be invoked in an event-driven manner. Cloud applications can make use of such serverless functions by composing them into larger, more complex workflows. For this purpose, the various cloud providers offer their own proprietary serverless function orchestrators. These orchestrators have different formats and approaches. Some orchestrators express workflows declaratively while others make use of existing programming languages and utilize imperative control flow constructs. Consequently, the orchestrators have different capabilities and limitations, which results in a portability issue. If a serverless workflow should be modeled for more than one platform, it would require defining it multiple times using provider-specific formats. Also, some functionalities might only be available in some orchestrators. In this work it is analyzed which existing concepts can be used to enable uniform modeling of serverless workflows and how resulting generic workflow models can be transformed into provider-specific orchestrators. Furthermore, the challenges and pitfalls of the introduced approach are discussed. To validate the approach, a prototype which enables uniform modeling of serverless workflows for three major public cloud providers is implemented. Finally, in a case study, the prototype is used with a sample workflow, to generate orchestrator-specific workflow definitions for all supported orchestrators.
|