Abstract The need for accessible and cost-effective IT resources has led to the near-universal adoption of cloud computing. Within cloud computing, serverless computing has emerged as a model that further abstracts away operational complexity of heterogeneous cloud resources. Central to this form of computing is Function-as-a-Service (FaaS); a cloud model that enables users to express applications as functions, further decoupling the application logic from the hardware and other operational concerns. Although FaaS has seen rapid adoption for simple use cases, there are several issues that impede its use for more complex use cases. A key issue is the lack of systems that facilitate the reuse of existing functions to create more complex, composed functions. Current approaches for serverless function composition are either proprietary, resource inefficient, unreliable, or do not scale. To address this issue, we propose an approach orchestrate composed functions using reliably and efficiently with workflows. As a prototype, we design and implement Fission Workflows: an open-source serverless workflow system which leverages the characteristics of serverless functions to improve the (re)usability, performance, and reliability of function compositions. We evaluate our prototype using both synthetic and real-world experiments, which show that the system is comparable with or better than state-of-the-art workflow systems, while costing significantly less. Based on the experimental evaluation and the industry interest in the Fission Workflows product, we believe that serverless workflow orchestration will enable the use of serverless applications for more complex use cases.
You may also enjoy
April 1, 2021 · less than 1 minute read
Simon Eismann, Joel Scheuner, Erwin van Eyk, Maximilian Schwinger, Johannes Grohmann, Nikolas Herbst, Cristina L Abad, Alexandru Iosup - IEEE Software 2020
July 1, 2020 · 3 minute read
Since the release of 1.13, Go has native Go Modules support, with go mod. Similar to other tooling in the Go ecosystem, like go fmt for code formatting, it i...
April 28, 2020 · 1 minute read
Erwin van Eyk, Joel Scheuner, Simon Eismann, Cristina L. Abad, Alexandru Iosup - HotCloudPerf @ ICPE 2020
January 2, 2020 · 1 minute read
To interact with the Kubernetes API using the client-go library there are two primary APIs: the typed kubernetes.Interface API and the unstructured dynami...