The serverless cloud computing model offers a framework where the service provider abstracts the underlying infrastructure management from developers. In this serverless model, FaaS provides an event-driven, function-oriented computing service characterised by fine-grained, usage-based pricing that eliminates cost for idle resources. Platforms like AWS Lambda, Azure Functions, and Cloud Run Functions require developers to configure their function(s) with minimum operational resources for its successful execution. This resource allocation influences both the operational expense and the performance quality of these functions. However, a noticeable lack of platform transparency forces developers to rely on expert knowledge or experience-based ad-hoc decisions to request desired function resources. This makes optimal resource configuration a non-trivial task while adhering to performance constraints. Furthermore, while commercial platforms often scale resources like CPU and network bandwidth proportional to memory, open-source frameworks permit independent configuration of function resources, introducing additional complexity for developers aiming to optimise their functions. These complexities have directed researchers to resolve developer challenges and advance towards an efficient server-less execution model. In this article, we identify different aspects of resource configuration techniques in FaaS settings and propose a taxonomy of factors that influence function design, configuration, run-time cost, and performance guarantees. We conduct an analysis of existing literature on resource configuration to present a comprehensive review of current studies on function configuration. We also identify existing research gaps and suggest future research directions to enhance function configuration and strengthen the capabilities of serverless computing environments to drive its broader adoption.
翻译:无服务器云计算模型提供了一个框架,服务提供商在此框架中抽象了开发人员对底层基础设施的管理。在这种无服务器模型中,FaaS 提供了一种事件驱动、面向函数的计算服务,其特点是细粒度的按使用量付费,消除了空闲资源的成本。AWS Lambda、Azure Functions 和 Cloud Run Functions 等平台要求开发人员为其函数配置最小的运行资源以确保其成功执行。这种资源分配会影响这些函数的运营费用和性能质量。然而,平台透明度明显不足,迫使开发人员依赖专家知识或基于经验的临时决策来请求所需的函数资源。这使得在遵守性能约束的同时,最优资源配置成为一项非平凡的任务。此外,虽然商业平台通常按比例扩展与内存相关的资源(如 CPU 和网络带宽),但开源框架允许独立配置函数资源,这为旨在优化其函数的开发人员带来了额外的复杂性。这些复杂性促使研究人员解决开发人员面临的挑战,并朝着高效的无服务器执行模型迈进。在本文中,我们识别了 FaaS 环境中资源配置技术的不同方面,并提出了一种关于影响函数设计、配置、运行时成本和性能保证的因素的分类法。我们对现有关于资源配置的文献进行了分析,以全面综述当前关于函数配置的研究。我们还识别了现有的研究空白,并提出了未来的研究方向,以增强函数配置并加强无服务器计算环境的能力,从而推动其更广泛的应用。