Along with the wide-adoption of Serverless Computing, more and more applications are developed and deployed on cloud platforms. Major cloud providers present their serverless workflow services to orchestrate serverless functions, making it possible to perform complex applications effectively. A comprehensive instruction is necessary to help developers understand the pros and cons, and make better choices among these serverless workflow services. However, the characteristics of these serverless workflow services have not been systematically analyzed. To fill the knowledge gap, we survey four mainstream serverless workflow services, investigating their characteristics and performance. Specifically, we review their official documents and compare them in terms of seven dimensions including programming model, state management, etc. Then, we compare the performance (i.e., execution time of functions, execution time of workflows, orchestration overhead of workflows) under various experimental settings considering activity complexity and data-flow complexity of workflows, as well as function complexity of serverless functions. Finally, we discuss and verify the service effectiveness for two actual workloads. Our findings could help application developers and serverless providers to improve the development efficiency and user experience.
翻译:在广泛采用无服务器的计算机的同时,还开发了越来越多的应用程序,并将其部署在云层平台上。主要云源提供商提供了无服务器的工作流程服务,以协调无服务器的功能,从而能够有效地应用复杂的应用程序。有必要进行全面指导,以帮助开发商了解利弊,并在这些无服务器的工作流程服务中作出更好的选择。然而,这些无服务器工作流程服务的特点尚未系统地分析。为了填补知识空白,我们调查了四个没有服务器的主流工作流程服务,调查了它们的特点和性能。具体地说,我们审查了它们的正式文件,并从七个方面,包括程序模型、国家管理等,对这些文件进行了比较。然后,考虑到工作流程的活动复杂性和数据流的复杂性以及服务器功能的复杂性,我们比较了各种实验环境中的绩效(即执行功能的时间、执行工作流程的时间、工作流程的管线)以及没有服务器功能的复杂性。最后,我们讨论并核查了两种实际工作量的服务效力。我们的调查结果可以帮助应用程序开发商和没有服务器的提供者提高发展效率和用户经验。