Apiary: A DBMS-Backed Transactional Function-as-a-Service Framework

by   Peter Kraft, et al.

Developers are increasingly using function-as-a-service (FaaS) platforms for data-centric applications that primarily perform low-latency and transactional operations on data, such as for microservices or web serving workloads. Unfortunately, existing and recently proposed FaaS platforms support these applications poorly because they separate application logic, executed in cloud functions, from data management, done in interactive transactions accessing remote storage. This separation harms performance and makes it difficult to efficiently provide transactional guarantees. We present Apiary, a novel DBMS-backed transactional FaaS framework for data-centric applications. Apiary tightly integrates application logic and data management, building a unified runtime for function execution and data management by wrapping a distributed database engine and its stored procedures. Apiary augments the DBMS with scheduling and tracing layers, providing a workflow programming interface for composing functions into larger programs with end-to-end exactly-once semantics, cross-function transactions, and advanced observability capabilities. In addition to offering more features and stronger guarantees than existing FaaS platforms, Apiary outperforms them by 2-68x on microservice workloads by greatly reducing communication and coordination overhead and using cluster resources more efficiently.


Archipelago: A Scalable Low-Latency Serverless Platform

The increased use of micro-services to build web applications has spurre...

Actor Database Systems: A Manifesto

Interactive data-intensive applications are becoming ever more pervasive...

Scaling Out Acid Applications with Operation Partitioning

OLTP applications with high workloads that cannot be served by a single ...

TransNFV: Integrating Transactional Semantics for Efficient State Management in Virtual Network Functions

Managing shared mutable states in high concurrency state access operatio...

Restructuring Serverless Computing with Data-Centric Function Orchestration

Serverless applications are usually composed of multiple short-lived, si...

Cloudburst: Stateful Functions-as-a-Service

Function-as-a-Service (FaaS) platforms and "serverless" cloud computing ...

Let's Trace It: Fine-Grained Serverless Benchmarking using Synchronous and Asynchronous Orchestrated Applications

Making serverless computing widely applicable requires detailed performa...

Please sign up or login with your details

Forgot password? Click here to reset