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

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Copik, Marcin, Calotoiu, Alexandru, Zhou, Pengyu, Taranov, Konstantin, Hoefler, Torsten
Format: Preprint
Veröffentlicht: 2022
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866911860857503744
author Copik, Marcin
Calotoiu, Alexandru
Zhou, Pengyu
Taranov, Konstantin
Hoefler, Torsten
author_facet Copik, Marcin
Calotoiu, Alexandru
Zhou, Pengyu
Taranov, Konstantin
Hoefler, Torsten
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2203_14859
institution arXiv
publishDate 2022
record_format arxiv
spellingShingle FaaSKeeper: Learning from Building Serverless Services with ZooKeeper as an Example
Copik, Marcin
Calotoiu, Alexandru
Zhou, Pengyu
Taranov, Konstantin
Hoefler, Torsten
Distributed, Parallel, and Cluster Computing
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.
title FaaSKeeper: Learning from Building Serverless Services with ZooKeeper as an Example
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2203.14859