Cloud Function Lifecycle Considerations for Portability in Function as a Service

4Citations
Citations of this article
6Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Portability is an important property to assess the quality of software. In cloud environments, where functions and other services are hosted by providers with proprietary interfaces, vendor lock-in is a typical problem. In this paper, we investigated the portability situation for public Function as a Service (FaaS) offerings based on six metrics. We designed our research to address the software lifecycle of a cloud function during implementation, packaging and deployment. For a small use case, we derived a portability-optimized implementation. Via this empirical investigation and a prototypical migration from AWS Lambda to Azure Function and from AWS Lambda to Google Cloud Function respectively, we were able to reduce writing source code in the latter case by a factor of 17 measured on a Lines of Code (LOC) basis. We found that the default zip packaging option is still the favored approach at Function as a Service (FaaS) platforms. For deploying our functions to the cloud service provider, we used Infrastructure as Code (IaC) tools. For cloud function only deployments the Serverless Framework is the best option whereas Terraform supports developers for mixed deployments where cloud functions and dependent services like databases are deployed at once.

Cite

CITATION STYLE

APA

Hartauer, R., Manner, J., & Wirtz, G. (2022). Cloud Function Lifecycle Considerations for Portability in Function as a Service. In International Conference on Cloud Computing and Services Science, CLOSER - Proceedings (pp. 133–140). Science and Technology Publications, Lda. https://doi.org/10.5220/0010999000003200

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free