Varad Kulkarni, Nikhil Reddy, Tuhin Khare, Abhinandan S. Prasad, Chitra Babu, Yogesh Simmhan
Function-as-a-service (FaaS) is a popular serverless computing paradigm for event-driven functions that elastically scale on public clouds. FaaS workflows (e.g.,AWS Step FunctionsandAzure Durable Functions), are composed from FaaS functions (e.g., AWS Lambda and Azure Functions) to build practical applications. But, the complex interactions between functions in the workflow and limited visibility into the internals of proprietary FaaS platforms are major impediments to analyzing a FaaS workflow's performance. While several works characterize FaaS platforms to derive such insights, or offer FaaS Workflow benchmarks, there is a lack of a principled of FaaS workflow platforms, which have unique scaling, performance and costing behavior influenced by the platform design, dataflow and workloads. In this article, we perform extensive evaluations of three popular FaaS workflow platforms from AWS and Azure, running 25 micro-benchmark and application workflows over$139k$invocations. Our detailed analysis confirms some conventional wisdom but also uncovers unique insights on the function execution, workflow orchestration, inter-function interactions, cold-start scaling and monetary costs. Our observations help developers better configure and program these platforms, set performance and scalability expectations, and identify research gaps on enhancing the platforms.