Page 75 - 《软件学报》2025年第5期
P. 75
温金凤 等: 服务器无感知平台性能度量研究 1975
serverless platform while developing and executing serverless applications in the right way. To this end, an empirical study is conducted
on the characteristics of mainstream commercial serverless platforms. This study involves such mainstream serverless platforms as AWS
Lambda, Google Cloud Functions, Microsoft Azure Functions, and Alibaba Function Compute. This study is divided into two major parts:
feature summarization and runtime performance analysis. In the feature summarization, the official documents of these serverless platforms
are discussed and their key features are summarized and compared in terms of development, deployment, and runtime. In the runtime
performance analysis, representative benchmarks are applied to analyze the runtime performance offered by these serverless platforms on a
multidimensional basis. Specifically, key factors for the cold-start performance of the applications are first analyzed, such as programming
languages and memory sizes. Furthermore, the tasks-executing performance of serverless platforms is discussed. Based on the results of
feature summarization and runtime performance analysis, this study sums up a series of findings and provides practical insights and
potential research opportunities for developers, cloud computing vendors, and researchers.
Key words: measurement study; serverless computing; software engineering; cloud computing; platform comparison
服务器无感知计算是云计算的一种新兴范型, 在视频处理 [1,2] 、机器学习 [3,4] 、科学计算 [5] 和大数据分析 [6,7] 等
领域得到广泛应用. 它使开发者摆脱了底层云平台复杂且容易出错的管理任务, 如负载均衡、监控和伸缩性, 从而
专注于应用逻辑的开发. 该范型的核心概念是函数即服务 (function-as-a-service, FaaS), 表示应用可以由多个独立
的函数组成, 这些函数称为服务器无感知函数, 用于实现特定的小任务. 由一个或多个服务器无感知函数组成的应
用称为函数即服务应用 (FaaS 应用). 服务器无感知计算采用按需付费的友好模式, 开发者根据实际资源消耗或分
配进行付费, 计费粒度精确到毫秒级. 服务器无感知计算不仅使开发者受益, 也为云计算厂商提供了更好的资源利
[8]
用和分配方式. 主流的云计算厂商已经推出了相应的服务器无感知平台, 如亚马逊的 Lambda 、谷歌的 Cloud
[9]
Functions 、微软的 Azure Functions [10] 以及阿里巴巴的 Function Compute [11] . 据预测, 到 2025 年, 预计全球有
50% 的企业将采用服务器无感知计算 [12] . 此外, 市场规模也将从 2017 年的 30 亿美元增长到 2025 年的近 220 亿
美元 [13] .
开发者广泛使用服务器无感知平台开发和执行他们的任务 [14,15] . 然而, 不同的服务器无感知平台有着不同的
开发特点和运行时表现. 在这样的情况下, 不同的服务器无感知平台和不同的配置使得获得的性能表现不一致. 开
发者需要一个全面的指导来告诉他们选择哪个服务器无感知平台可以满足他们的应用需求, 以及如何配置参数才
能保证应用执行的可用性. 一些度量研究工作 [16,17] 对开源的服务器无感知平台 (如 OpenWhisk [18] 、Knative [19] ) 进
行了性能度量分析. 然而, 由于开源平台在实际应用中需要额外的平台部署工作和工程努力, 这可能成为开发者的
挑战. 考虑到服务器无感知计算的独特优势, 即减轻开发者底层管理任务的负担, 使开发者能够更专注于应用层面
的开发, 因此, 许多开发者更倾向于使用商业的公有云服务器无感知平台, 因为它们提供了更简单易用的部署流程
和应用管理功能, 这对提供生产力和减少开发周期具有显著的优势. 此外, 服务器无感知计算概念的广泛流行也直
接源自公有云的亚马逊 Lambda 服务的提出. 其他云提供商紧跟其后, 相继推出了类似的服务, 将服务器无感知计
算引入主流. 这一趋势对云计算领域产生了深远的影响. 然而, 先前开源平台性能度量的分析结果 [16,17] 并不能泛化
到广泛使用的商业服务器无感知平台, 且相应的指导不适用于相关的开发者. 因此, 需要对基于公有云的服务器无
感知平台开展性能度量分析, 以指导广泛使用服务器无感知计算范型的开发者做出明确的决策. 我们提出关于商
业服务器无感知平台的性能度量工作 [20] , 但是该工作没有比较不同平台在执行不同类型任务的执行性能. 任务的
执行效率是开发者重点关注的应用指标. 另外, 该工作中对冷启动延迟的估算是基于两次调用的时间差, 但第二次
调用产生的实例调度延迟往往是无法忽略的, 不能假定认为没有延迟. 因此, 获得的冷启动延迟可能会偏低, 导致
结果不准确. 此外, 该工作在性能度量实验中对每组实验开展的重复次数较低, 可能导致结论不可靠. 因此, 现有的
性能度量相关工作对主流的公有云服务器无感知平台性能的全面比较和可靠分析方面存在不足, 这使得现有研究
难以准确地提供关于应用的平台选择和配置实践的指导和启示.
为了填补这一知识空白, 在本文中, 我们将开展这样一项面向主流的公有云服务器无感知平台的度量研究. 本
文主要关注的服务器无感知平台, 包括亚马逊 Lambda、谷歌 Cloud Functions、微软 Azure Functions 和阿里巴巴
的 Function Compute. 这些平台是当前市场上广泛使用的平台, 由云计算领域的领先云厂商提供, 并且在功能、性
能和生态系统等方面都有一定的优势. 通过对这些公有云平台进行深入的研究和多维度的分析, 旨在为软件开发