FaaS2F: A Framework for Defining Execution-SLA in Serverless Computing
Mohamed Elsakhawy, Michael Bauer · 2020
The emergence of serverless computing has brought significant advancements to the delivery of computing resources to cloud users. With the abstraction of infrastructure, platform, and execution environments, the administration overhead of these layers is shifted to the cloud provider. Thus, cloud users can focus on the application layer while relying on the cloud provider to provision and operate the underlying layers. Furthermore, desirable features such as autoscaling and high-availability are implemented by the cloud provider and adopted by the user's code at no extra overhead. Despite such advancements, as applications transition from monolithic stand-alone deployments to the ephemeral and stateless microservice model of serverless computing, significant challenges must be overcome. These challenges pertain to the uniqueness of the conceptual and implementation models of serverless computing. In this paper, we investigate the modeling of the Service Level Agreement (SLA) of serverless functions' executions. We highlight how serverless SLA fundamentally differs from earlier cloud delivery models. We then propose an approach to define SLA for serverless functions in terms of resource utilization fingerprints for functions' executions, and a method to assess if executions adhere to that SLA. We conclude by presenting the empirical validation of our proposed approach, which was able to detect Execution-SLA violations with accuracy exceeding 76% and up to 100%.