Abstract
Serverless computing is currently the fastest-growing cloud services segment. The most prominent serverless offering is Function-as-a-Service (FaaS), where users write functions and the cloud automates deployment, maintenance, and scalability. Although FaaS is a good fit for executing stateless functions, it does not adequately support stateful constructs like microservices and scalable, low-latency cloud applications, mainly because it lacks proper state management support and the ability to perform function-to-function calls. Most importantly, executing transactions across stateful functions remains an open problem. In this paper, we introduce a programming model and implementation for transaction orchestration of stateful serverless functions. Our programming model supports serializable distributed transactions with two-phase commit, as well as relaxed transactional guarantees with Sagas. We design and implement our programming model on Apache Flink StateFun. We choose to build our solution on top of StateFun in order to leverage Flink's exactly-once processing and state management guarantees. We base our evaluation on the YCSB benchmark, which we extended with transactional operations and adapted for the SFaaS programming model. Our experiments show that our transactional orchestration adds 10% overhead to the original system and that Sagas can achieve up to 34% more transactions per second than two-phase commit transactions at a sub-200ms latency.
Original language | English |
---|---|
Title of host publication | DEBS 2021 |
Subtitle of host publication | Proceedings of the 15th ACM International Conference on Distributed and Event-Based Systems |
Editors | Alessandro Margara, Emanuele Della Valle |
Place of Publication | New York |
Publisher | Association for Computing Machinery (ACM) |
Pages | 31-42 |
Number of pages | 12 |
ISBN (Print) | 978-1-4503-8555-8 |
DOIs | |
Publication status | Published - 2021 |
Event | 15th ACM International Conference on Distributed and Event-Based Systems, DEBS 2021 - Virtual, Online, Italy Duration: 28 Jun 2021 → 2 Jul 2021 |
Conference
Conference | 15th ACM International Conference on Distributed and Event-Based Systems, DEBS 2021 |
---|---|
Country/Territory | Italy |
City | Virtual, Online |
Period | 28/06/21 → 2/07/21 |
Keywords
- FaaS
- sagas
- serverless
- streaming dataflow
- transactions
- two-phase commit