[论文解读] Quantitative Analysis of Cloud Function Evolution in the AWS Serverless Application Repository
本研究对 AWS Serverless Application Repository 在 12 个月内的数据进行了定量分析,考察了元数据、实现模式以及云函数的演进情况。研究发现,JavaScript 和 Python 在实现中占主导地位,元数据可发现性不一致,尽管函数增长已放缓(约每月 1%),但部署数量仍以约每月 7% 的速度线性增长,表明尽管市场趋于饱和,仍存在强劲的采用趋势。
The serverless computing ecosystem is growing due to interest by software engineers. Beside Function-as-a-Service (FaaS) and Backend-as-a-Service (BaaS) systems, developer-oriented tools such as deployment and debugging frameworks as well as cloud function repositories enable the rapid creation of wholly or partially serverless applications. This study presents first insights into how cloud functions (Lambda functions) and composite serverless applications offered through the AWS Serverless Application Repository have evolved over the course of one year. Specifically, it outlines information on cloud function and function-based application offering models and descriptions, high-level implementation statistics, and evolution including change patterns over time. Several results are presented in live paper style, offering hyperlinks to continuously updated figures to follow the evolution after publication date.
研究动机与目标
- 理解商业市场平台(如 AWS SAR)上云函数的描述与提供方式,重点关注元数据质量和可发现性。
- 分析云函数的实现模式,包括编程语言、框架和代码结构。
- 识别云函数提供和部署随时间的变化模式与增长趋势。
- 为未来对无服务器计算的研究提供一个可重用、持续演化的元数据与代码度量数据集。
提出的方法
- 从 AWS Serverless Application Repository、GitHub 及相关代码仓库持续观察并自动收集数据。
- 从公开的 AWS SAR 条目中提取并整合函数级元数据、代码级元数据及实现统计信息。
- 利用版本控制系统(如 GitHub)分析代码表示形式,包括直接文件、归档文件和远程引用。
- 应用自动化脚本进行元数据检索、代码转储收集及度量聚合,结果以动态可视化方式实时发布为论文格式。
- 分析函数绑定模式(无绑定 vs. BaaS 绑定)及资源组合,以识别结构趋势。
- 使用 SAM-Local 和 Localstack 等成熟工具进行潜在的未来运行时评估,但本研究中未实际执行。
实验结果
研究问题
- RQ1RQ1:云函数在商业市场平台上如何被提供和描述?可用的元数据有哪些?其质量如何影响可发现性?
- RQ2RQ2:云函数在实践中如何实现?使用了哪些编程语言、框架和结构模式?
- RQ3RQ3:在中介化的云函数中,随时间推移可观察到哪些变化模式与趋势?无服务器计算的增长是否反映在函数数量和部署数量上?
主要发现
- JavaScript 和 Python 共同主导了云函数的实现,其他语言使用极少,表明无服务器开发中存在事实上的二元选择。
- 不同仓库之间的函数元数据结构不一致,降低了可发现性,需依赖启发式方法才能实现有效的服务发现。
- 尽管新增函数数量增长放缓(约每月 1%),但函数部署数量仍以约每月 7% 的速度线性增长,表明其在生产环境中的持续使用。
- 大多数函数为无绑定或绑定到 Backend-as-a-Service(BaaS)资源,其资源组合与 FaaS 和 BaaS 组件间的数据流表现出清晰的模式。
- 代码表示形式差异显著:直接文件访问、归档构建和远程引用均被使用,但尚未形成版本化代码交付的标准化方式。
- 本研究生成了一个可重用、持续演化的 AWS SAR 元数据与代码度量数据集,额外提供了代码转储和数据挖掘脚本,以供未来研究使用。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。