Serverless Workflows with Durable Functions and Netherite

02/26/2021
by   Sebastian Burckhardt, et al.
0

Serverless is an increasingly popular choice for service architects because it can provide elasticity and load-based billing with minimal developer effort. A common and important use case is to compose serverless functions and cloud storage into reliable workflows. However, existing solutions for authoring workflows provide a rudimentary experience compared to writing standard code in a modern programming language. Furthermore, executing workflows reliably in an elastic serverless environment poses significant performance challenges. To address these, we propose Durable Functions, a programming model for serverless workflows, and Netherite, a distributed execution engine to execute them efficiently. Workflows in Durable Functions are expressed as task-parallel code in a host language of choice. Internally, the workflows are translated to fine-grained stateful communicating processes, which are load-balanced over an elastic cluster. The main challenge is to minimize the cost of reliably persisting progress to storage while supporting elastic scale. Netherite solves this by introducing partitioning, recovery logs, asynchronous snapshots, and speculative communication. Our results show that Durable Functions simplifies the expression of complex workflows, and that Netherite achieves lower latency and higher throughput than the prevailing approaches for serverless workflows in Azure and AWS, by orders of magnitude in some cases.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/01/2018

Eliminating Boundaries in Cloud Storage with Anna

In this paper, we describe how we extended a distributed key-value store...
research
09/03/2022

Sion: Elastic Serverless Cloud Storage

Cloud object storage such as AWS S3 is cost-effective and highly elastic...
research
05/04/2021

Architecture of a Flexible and Cost-Effective Remote Code Execution Engine

Oftentimes, there is a need to experiment with different programming lan...
research
09/14/2022

Cost-efficient Auto-scaling of Container-based Elastic Processes

In business process landscapes, a common challenge is to provide the nec...
research
06/19/2023

DFlow: Efficient Dataflow-based Invocation Workflow Execution for Function-as-a-Service

The Serverless Computing is becoming increasingly popular due to its eas...
research
06/20/2023

λFS: A Scalable and Elastic Distributed File System Metadata Service using Serverless Functions

The metadata service (MDS) sits on the critical path for distributed fil...
research
05/22/2023

On-demand Container Loading in AWS Lambda

AWS Lambda is a serverless event-driven compute service, part of a categ...

Please sign up or login with your details

Forgot password? Click here to reset