The Design, Productization, and Evaluation of a Serverless Workflow-Management System

More Info
expand_more

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 to 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.