2019/03/19 by Maurizio Gabbrielli, Gabbrielli, Maurizio, Saverio Giallorenzo +9
Computer Science · #Cloud Computing and Resource Management #Distributed systems and fault tolerance #FOS: Computer and information sciences #Programming Languages (cs.PL) #Software System Performance and Reliability #cs.PL
paper · pdf · doi:10.48550/arxiv.1903.07962
openalex publication_date 2019/03/19 · arxiv created 2019/05/01 · arxiv updated 2019/05/02 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
Serverless computing, also known as Functions-as-a-Service, is a recent paradigm aimed at simplifying the programming of cloud applications. The idea is that developers design applications in terms of functions, which are then deployed on a cloud infrastructure. The infrastructure takes care of executing the functions whenever requested by remote clients, dealing automatically with distribution and scaling with respect to inbound traffic. While vendors already support a variety of programming languages for serverless computing (e.g. Go, Java, Javascript, Python), as far as we know there is no reference model yet to formally reason on this paradigm. In this paper, we propose the first formal programming model for serverless computing, which combines ideas from both the λ-calculus (for functions) and the π-calculus (for communication). To illustrate our proposal, we model a real-world serverless system. Thanks to our model, we are also able to capture and pinpoint the limitations of current vendor technologies, proposing possible amendments.