FaaS (Function-as-a-Service) brought a fundamental shift into cloud computing: (persistent) virtual machines have been replaced with dynamically allocated resources, trading locality and statefulness for a pay-as-you-go model more suitable for varying and infrequent workloads. However, adapting services to function within the serverless paradigm while still fulfilling requirements is challenging. In this work, we introduce a design blueprint for creating complex serverless services and contribute a set of requirements for efficient and scalable FaaS computing. To showcase our approach, we focus on ZooKeeper, a centralized coordination service that offers a safe and wait-free consensus mechanism but requires a persistent allocation of computing resources that does not offer the flexibility needed to handle variable workloads. We design FaaSKeeper, the first coordination service built on serverless functions and cloud-native services. FaaSKeeper provides the same consistency guarantees and interface as ZooKeeper with a price model proportional to the activity in the system. In addition, we define synchronization primitives to extend the capabilities of scalable cloud storage ser- vices with consensus semantics needed for strong data consistency.
翻译:FaaS(功能为服务)带来了向云计算的根本转变:(常态)虚拟机器已被动态分配的资源、交易地点和状态替换为更适合不同和不常见工作量的现收现付模式。然而,调整服务以适应服务器无功能模式的功能,同时满足需求,具有挑战性。在这项工作中,我们为创建复杂的无服务器服务引入了设计蓝图,并为高效和可扩展的FaaS计算提供了一套要求。为了展示我们的方法,我们侧重于ZooDefer,这是一个集中的协调服务,它提供了安全和无等待的共识机制,但需要持续分配计算资源,而这种计算资源不能提供处理可变工作量所需的灵活性。我们设计了FaaSDefater,这是建立在无服务器功能和云化服务上的第一个协调服务。FaaSlaveer提供了与Zoostaler相同的一致性保障和接口,价格模型与系统活动成比例。此外,我们定义同步原始数据,以扩大可缩放云存储器的能力,需要协商一致的系统一致性。