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

08/27/2022
by   Peter Kraft, et al.
0

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.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset