jPackFaaS: Profiling Java Serverless Functions Deployment Package Size in Federated FaaS
摘要
Serverless computing, and in particular Function-as-a-Service (FaaS), is becoming a de-facto standard for coding the modern cloud applications. Users may code their serverless functions to use various cloud managed services that are supported by different cloud providers. However, such managed cloud services usually increase the code size of the function, which also affects the size of its deployment package due to various package dependencies, especially for Java serverless functions. In this paper, we analyze several chained cloud services and how their inclusion affects function’s deployment package size. Based on the analysis, we introduce the jPackFaaS model, which estimates deployment package size based on the managed cloud service that the function includes. We evaluated the jPackFaaS model with fifteen serverelss functions that use three managed cloud services (storage, speech2text, and text2speech) of two cloud providers AWS and GCP. Results show that the jPackFaaS model can accurately estimate the deployment package size with minimum measurements, even when a function uses a mixture of managed cloud services from different cloud providers. The jPackFaaS model achieved 98.2% accuracy on average, with linear, instead of exponential number of measurements.