Abstract

Cloud Functions are a trend in cloud computing in which developers are allowed to install code in a Function-as-a-Service (FaaS) platform able to manage provisioning, execution, monitoring and automatic scaling. The underlying infrastructure in FaaS platforms is hidden from the developers and designers and, since the inuence of the infrastructure is unknown, this makes it di_cult to apply software performance engineering approaches on cloud functions, which could lead to wrong or inaccurate performance estimations. In this study, we explore the use of component-based modeling and simulation in order to generate performance estimations of an exemplar cloud function which was exercised using a variety of workloads. A cloud function was both implemented and instrumented to record performance datain a log _le, associated with its invocations; using the log _le as an input, we extracted a performance model in a Palladio Component Model format suitable for running simulations to validate whether the generated model could explain the runtime behavior of the function. Using this approach and further tunings in the model, we were able to validate that the simulations could explain more than 95% of the function's behavior and that component-based modeling and simulation can be considered a serious option when trying to explain the behavior of a cloud function.

Highlights

  • Function-as-a-Service (FaaS ) services are a recent trend in cloud computing [1]

  • According to Woodside et al [8]: Software Performance Engineering (SPE) represents the entire collection of software engineering activities and related analyses used throughout the software development cycle, which are directed to meeting performance requirements

  • We present the experiments undertaken to: - Validate whether a model and its simulation are able to characterize the behavior of the Image Handler cloud function in diverse scenarios, - Study the Lambda function’s behavior when invoked with various workloads, and - Compare the results of the invocations to the Lambda function with those obtained with the Amazon Serverless Application Model (SAM) Command Line Interface (CLI), abbreviated as SAM CLI

Read more

Summary

Introduction

Function-as-a-Service (FaaS ) services are a recent trend in cloud computing [1]. They allow the deployment of code, in function form, on a cloud provider platform which is responsible for the execution, resource provisioning, monitoring and automatic scaling of the service at runtime. The model based approach focuses on the early stages of the development process: there, models are key for quantitative prediction and, through iterative simulation, they can help to validate how well a software architecture can meet its performance expectations. These two approaches are not 100% independent nor completely pure: measurements are needed to obtain inputs for most of the model based approaches (e.g. model-based simulators) and, on the other hand, the majority of the measurement based approaches use at least one model

Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call