Benchmarking Serverless Computing: Performance and Usability

Benchmarking Serverless Computing: Performance and Usability

Mubashra Sadaqat, Mary Sánchez-Gordón, Ricardo Colomo-Palacios
Copyright: © 2022 |Pages: 17
DOI: 10.4018/JITR.299374
Article PDF Download
Open access articles are freely available for download

Abstract

With the increasing adoption of serverless computing, there is a need for a benchmark. The aim of this paper is to present such a benchmark based on performance and usability testing to better understand serverless services as well as help practitioners to select between two major clouds, namely, Amazon and Azure. Jmeter tool and system usability scale are used to conduct performance and usability testing, respectively. In addition, a replication package is provided to increase the validity and reliability of the results. The main findings revealed that the serverless platforms are different in their architecture. Even though both of them support the same serverless concept, they differ considerably in structure, development, and creations of services. Overall, both the cloud vendors under study provide the same core capabilities one would expect but, there are some differences too. In particular, usability could be improved to extend the market and capture more customers.
Article Preview
Top

1. Introduction

Serverless computing is part of the cloud computing paradigm, which is based on the microservice architecture. It focuses on providing resources in a fine granular and flexible manner in order to further utilize the benefits of cloud computing (Völker, 2018). Serverless computing aims to save companies significant amounts of time, money and resources by hosting, running, and managing the applications and core functions of a business. Using this model, a company is freed from the efforts and processes of running and maintaining server applications (Hardin, 2018). As an instance of such processes, traditional server architectures involve a server process, typically listening to a TCP socket, waiting for clients to connect and send requests (Sadaqat, Colomo-Palacios, & Emil Skrimstad Knudsen, 2018).

The serverless environments are delegating the job of running service functions to cloud providers, thereby allowing them to decide how to manage execution. The cloud vendors such as Amazon Web Services (AWS), Microsoft Azure, Google, IBM, and Iron.io are all incarnations of this idea in various stages of development and adoption where application logic is split into functions and executed in response to an event (McGrath & Brenner, 2017). With services such as AWS Lambda, Microsoft Azure Functions, Google Cloud Functions, and IBM OpenWhisk, users have the ability to write desired applications. These applications are collections of stateless functions that are event-triggered, short-lived, and fully managed by the cloud provider and function deploy directly to a serverless framework instead of running tasks on traditional virtual machines with pre-allocated resources (Klimovic et al., 2018). Moreover, serverless computing as normal cloud computing effectively eliminates the time consuming and expensive traditional approach of purchasing hardware/software, installing servers, configuring, and troubleshooting. This idea makes serverless services more attractive for IT and business industry (Sadaqat et al., 2018).

There are several reasons for the rapid emergence of serverless computing mentioned in the literature (Erwin van Eyk, Iosup, Abad, Grohmann, & Eismann, 2018). For example, the cloud users are relieved of the need to manage resources, designing auto scaling procedures, and other operational logic. This allows them to focus on their business logic, reducing the costs of development, removing the need for huge distributed systems expertise and improving the time-to-market for applications.

Despite the above-mentioned facts, it is quite tricky and challenging for companies to select the most suitable cloud vendor, related to their requirement of application and demand of customers (Vázquez, Ramki Krishnan, & John, 2014). One way to develop and deploy services in a profitable manner and resources, companies look at the variety of options provided by cloud vendors in the form of pricing, performance, load-balancing, programming language and other sets of features. Therefore, it becomes increasingly important for potential cloud users to have deep and clear knowledge to work in an efficient way (Qu, Wang, & Orgun, 2013).

In this scenario, benchmarking is widely used for the evaluation of computer systems. The benchmarks exist for a variety of levels of abstraction, from the CPU and the database software, to complete enterprise systems (Cooper, Silberstein, Tam, Ramakrishnan, & Sears, 2010). However, there is a cloud user need for serverless benchmarks of a technical and suitability perspective. In this study, we focus on Amazon and Microsoft Azure platforms because these two platforms are very close competent players of cloud according to (Scale, 2018). The benchmark of serverless would help the developer and cloud users to differentiate the services provided by the cloud vendors, Amazon and Microsoft Azure. We believe that having a serverless service benchmark would also provide a unique opportunity for software engineering researchers and IT industry. The comparison would be helpful for not only the IT industry but also for the new users of serverless computing to understand the underlying features and important aspects of the serverless platform including developer experience.

Complete Article List

Search this Journal:
Reset
Volume 16: 1 Issue (2024): Forthcoming, Available for Pre-Order
Volume 15: 6 Issues (2022): 1 Released, 5 Forthcoming
Volume 14: 4 Issues (2021)
Volume 13: 4 Issues (2020)
Volume 12: 4 Issues (2019)
Volume 11: 4 Issues (2018)
Volume 10: 4 Issues (2017)
Volume 9: 4 Issues (2016)
Volume 8: 4 Issues (2015)
Volume 7: 4 Issues (2014)
Volume 6: 4 Issues (2013)
Volume 5: 4 Issues (2012)
Volume 4: 4 Issues (2011)
Volume 3: 4 Issues (2010)
Volume 2: 4 Issues (2009)
Volume 1: 4 Issues (2008)
View Complete Journal Contents Listing