Serverless computing is a widely adopted cloud execution model composed of Function-as-a-Service (FaaS) and Backend-as-a-Service (BaaS) offerings. The increased level of abstraction makes vendor lock-in inherent to serverless computing, raising more concerns than previous cloud paradigms. Multi-cloud serverless is a promising emerging approach against vendor lock-in, yet multiple challenges must be overcome to tap its potential. First, we need to be aware of both the performance and cost of each FaaS provider. Second, a multi-cloud architecture must be proposed before deploying a multi-cloud workflow. Domain-specific serverless offerings must then be integrated into the multi-cloud architecture to improve performance or save costs. Moreover, dealing with serverless offerings from multiple providers is challenging. Finally, we require workload portability support for serverless multi-cloud. In this paper, we present a multi-cloud library for cross-serverless offerings. We develop the End Analysis System (EAS) to support comparison among public FaaS providers in terms of performance and cost. Moreover, we design proof-of-concept multi-cloud architectures with domain-specific serverless offerings to alleviate problems such as data gravity. Finally, we deploy workloads on these architectures to evaluate several public FaaS offerings.
翻译:无服务器计算是一种广泛采用的云执行模型,由函数即服务(FaaS)和后端即服务(BaaS)组成。其抽象程度的提升使得供应商锁定在无服务器计算中内嵌固化,相比以往的云范式引发更多担忧。多云无服务器计算是一种有前景的新兴方法,可用于对抗供应商锁定,但若要挖掘其潜力,仍需克服多重挑战。首先,我们需要了解每个FaaS提供商的性能与成本。其次,在部署多云工作流前必须提出相应的多云架构。随后,需将特定领域的无服务器服务集成至多云架构中,以提升性能或节约成本。此外,处理来自多个提供商的无服务器服务本身具有挑战性。最后,我们还需要为无服务器多云环境提供工作负载可移植性支持。本文提出了一种面向跨无服务器服务的多云库。我们开发了终点分析系统(EAS),用于在性能与成本方面比较公有FaaS提供商。同时,我们设计了概念验证性的多云架构,并集成特定领域的无服务器服务以缓解数据引力等问题。最终,我们在这些架构上部署工作负载,对多个公有FaaS服务进行了评估。