Cloud Service Providers deliver their products in form of ”as-a-Service”, which are typically categorized by the level of abstraction. This approach hides the implementation details and shows only functionality to the user. However, the problem is that it is hard to measure the performance of Cloud services, because they behave like black boxes. Especially with Function-as-a-Service it is even more difficult because it completely hides server and infrastructure management from users by design. Cloud Service Prodivers usually restrict the maximum size of code, memory and runtime of Cloud Functions. Nevertheless, users need clarification if more ressources are needed to deliver services in high quality. In this regard, we present the architectural design of a new Function-as-a-Service benchmarking tool, which allows users to evaluate the performance of Cloud Functions. Furthermore, the capabilities of the framework are tested on an isolated platform with a specific workload. The results show that users are able to get insights into Function-as-a-Service environments. This, in turn, allows users to identify factors which may slow down or speed up the performance of Cloud Functions.
@cite_9 analyze several resource-intensive tasks in terms of comparing FaaS models with conventional monolithic algorithms. The authors conduct several experiments and compare the performance and other resource-related characteristics. The results demonstrate that solutions for scientific and high-performance computing can be realized by Cloud Functions. The authors mainly focus on computing intensive tasks (e.g. face detection, calculation of @math , etc.) in the domain of scientific and high-performance computing but they do not take other FaaS qualities of interest into account. For example, FaaS environments offer a timeout parameter, which specifies the maximum time for code execution. After this time, any code execution stops and the FaaS platform returns an error status. A timeout might become crucial when it comes to Cloud Function pricing since CSC is charged for the entire time that the Cloud Function executes. Therefore, a lack of precision can lead to early and misleading timeouts during code execution, which, in turn, can end in uncompleted tasks and high costs.
@cite_9
2777322518
The adoption of cloud computing facilities and programming models differs vastly between different application domains. Scalable web applications, low-latency mobile backends and on-demand provisioned databases are typical cases for which cloud services on the platform or infrastructure level exist and are convincing when considering technical and economical arguments. Applications with specific processing demands, including high-performance computing, high-throughput computing and certain flavours of scientific computing, have historically required special configurations such as compute- or memory-optimised virtual machine instances. With the rise of function-level compute instances through Function-as-a-Service (FaaS) models, the fitness of generic configurations needs to be re-evaluated for these applications. We analyse several demanding computing tasks with regards to how FaaS models compare against conventional monolithic algorithm execution. Beside the comparison, we contribute a refined FaaSification process for legacy software and provide a roadmap for future work.