With the advent of AWS Lambda in 2014, Serverless Computing, particularly Function-as-a-Service (FaaS), has witnessed growing popularity across various application domains. FaaS enables an application to be decomposed into fine-grained functions that are executed on a FaaS platform. It offers several advantages such as no infrastructure management, a pay-per-use billing policy, and on-demand fine-grained autoscaling. However, despite its advantages, developers today encounter various challenges while adopting FaaS solutions that reduce productivity. These include FaaS platform lock-in, support for diverse function deployment parameters, and diverse interfaces for interacting with FaaS platforms. To address these challenges, we present gFaaS, a novel framework that facilitates the holistic development and management of functions across diverse FaaS platforms. Our framework enables the development of generic functions in multiple programming languages that can be seamlessly deployed across different platforms without modifications. Results from our experiments demonstrate that gFaaS functions perform similarly to native platform-specific functions across various scenarios. A video demonstrating the functioning of gFaaS is available from https://youtu.be/STbb6ykJFf0.
翻译:随着2014年AWS Lambda的问世,无服务器计算(尤其是函数即服务,FaaS)在众多应用领域中日益普及。FaaS允许将应用程序分解为细粒度函数,并在FaaS平台上执行。该方法具有无需基础设施管理、按使用量付费策略以及按需细粒度自动扩缩容等优势。然而,尽管有这些优点,开发者在采用FaaS解决方案时仍面临诸多挑战,这些挑战降低了生产力,包括FaaS平台锁定、对多样化函数部署参数的支持不足,以及与FaaS平台交互的接口各异。为解决这些问题,我们提出了gFaaS——一个新颖的框架,旨在跨异构FaaS平台实现函数的整体开发和管理。该框架支持用多种编程语言开发通用函数,这些函数无需修改即可无缝部署于不同平台。实验结果表明,在各种场景下,gFaaS函数的性能与原生平台特定函数相当。演示gFaaS功能的视频可通过https://youtu.be/STbb6ykJFf0 获取。