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 提供商。