Formal Foundations of Serverless Computing

by   Abhinav Jangda, et al.

A robust, large-scale web service can be difficult to engineer. When demand spikes, it must configure new machines and manage load-balancing; when demand falls, it must shut down idle machines to reduce costs; and when a machine crashes, it must quickly work around the failure without losing data. In recent years, serverless computing, a new cloud computing abstraction, has emerged to help address these challenges. In serverless computing, programmers write serverless functions, and the cloud platform transparently manages the operating system, resource allocation, load-balancing, and fault tolerance. In 2014, Amazon Web Services introduced the first serverless platform, AWS Lambda, and similar abstractions are now available on all major clouds. Unfortunately, the serverless computing abstraction exposes several low-level operational details that make it hard for programmers to write and reason about their code. This paper sheds light on this problem by presenting λ_λ, an operational semantics of the essence of serverless computing. Despite being a small core calculus (less than one column), λ_λ models all the low-level details that serverless functions can observe. To show that λ_λ is useful, we present three applications. First, to make it easier for programmers to reason about their code, we present a simplified semantics of serverless execution and precisely characterize when the simplified semantics and λ_λ coincide. Second, we augment λ_λ with a key-value store, which allows us to reason about stateful serverless functions. Third, since a handful of serverless platforms support serverless function composition, we show how to extend λ_λ with a composition language. We have implemented this composition language and show that it outperforms prior work.


page 1

page 2

page 3

page 4


Review of Hybrid Load Balancing Algorithms in Cloud Computing Environment

In cloud computing environment, load balancing is a key issue which is r...

Cybersecurity in the AWS Cloud

This paper re-examines the content of a standard advanced course in Cybe...

Formalizing Event-Driven Behavior of Serverless Applications

We present new operational semantics for serverless computing that model...

A Language-based Serverless Function Accelerator

Serverless computing is an approach to cloud computing that allows progr...

Ripple: A Practical Declarative Programming Framework for Serverless Compute

Serverless computing has emerged as a promising alternative to infrastru...

Serverless Computing: Behind the Scenes of Major Platforms

Serverless computing offers an event driven pay-as-you-go framework for ...

Please sign up or login with your details

Forgot password? Click here to reset