Copyright Notice:

The documents distributed by this server have been provided by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a noncommercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Publications of SPCL

M. Copik, A. Calotoiu, P. Zhou, K. Taranov, T. Hoefler:

 FaaSKeeper: Learning from Building Serverless Services with ZooKeeper as an Example

(Jun. 2024)

Publisher Reference

Abstract

FaaS (Function-as-a-Service) revolutionized cloud computing by replacing persistent virtual machines with dynamically allocated resources. This shift trades locality and statefulness for a pay-as-you-go model more suited to variable and infrequent workloads. However, the main challenge is to adapt services to the serverless paradigm while meeting functional, performance, and consistency requirements. In this work, we push the boundaries of FaaS computing by designing a serverless variant of ZooKeeper, a centralized coordination service with a safe and wait-free consensus mechanism. We define synchronization primitives to extend the capabilities of scalable cloud storage and outline a set of requirements for efficient computing with serverless. In FaaSKeeper, the first coordination service built on serverless functions and cloud-native services, we explore the limitations of serverless offerings and propose improvements essential for complex and latency-sensitive applications. We share serverless design lessons based on our experiences of implementing a ZooKeeper model deployable to clouds today. FaaSKeeper maintains the same consistency guarantees and interface as ZooKeeper, with a serverless price model that lowers costs up to 110-719x on infrequent workloads.

Documents

download article:
access preprint on arxiv:
 

BibTeX

@inproceedings{,
  author={Marcin Copik and Alexandru Calotoiu and Pengyu Zhou and Konstantin Taranov and Torsten Hoefler},
  title={{FaaSKeeper: Learning from Building Serverless Services with ZooKeeper as an Example}},
  year={2024},
  month={06},
  doi={110.1145/3625549.3658661},
}