## 2 Literature Review
### Background on Serverless Cloud Computing  
The idea of serverless computing has been around for many years, but it started to take off in the early 2010s. This was due in part to the increasing popularity of cloud computing, as well as the need for serverless platforms like AWS Lambda and Google Cloud Functions. In the early days, serverless computing was primarily used for small, event-driven tasks. However, as the technology has matured, it has become more widely adopted for a wider range of applications. Today, serverless computing is used by businesses of all sizes to build applications from simple web applications to complex microservice architectures.  
There is a good amount of research happening in the serverless domain, exploring its advantages and disadvantages. After conducting a thorough analysis of the literature published in this field from 2015 to 2023, a brief overview is presented below. [PERSON] et al. [15] proposed a new abstraction for serverless computing named ServerlessOS. It abstracts away the details of resource management so developers can focus on their code. This allows processes to be seamlessly scaled across the data center, making serverless computing more serverless. [PERSON] [18] provided a comprehensive study of the serverless computing architecture and the working principle of the serverless computing reference model adapted by AWS Lambda. [PERSON] and [PERSON] [19] analyzed the economics of serverless cloud computing, showing that the cost of a publicly hosted serverless service can grow quickly, even for low levels of traffic. They also noted that the free quota offered by most cloud service providers is insufficient for a decent public web service. [PERSON] et al. [20] discussed the early days of serverless computing and the obstacles and opportunities that existed at the time. Some of the obstacles, such as the lack of maturity of the technology and the limited availability of serverless platforms, have been addressed in recent years.  
With large organizations moving to the cloud, protecting the data in the cloud is equally important. [PERSON] et al. [21] proposed a microservices-based approach to protect cloud-native assets using a serverless framework. This approach first discovers cloud assets and takes a snapshot-based backup of them. The backed-up assets can then be used to recover the asset in the event of a disaster or data loss. In [PERSON] and [PERSON] (2018), [PERSON] and [PERSON] used Google Cloud's serverless services to experiment with using serverless computing for the real-time monitoring of thousands of patients with streaming electrocardiograms. This is an example of an embarrassingly parallel task, which means that it can be broken down into small, independent tasks that can be executed in parallel. They found that the serverless solution was able to achieve a speedup \(S(W)\) of almost 40 compared to a sequential execution on a virtual machine, and a speedup of 23 compared to a parallel execution using virtual machines. The speedup \(S(W)\) was calculated with \(Ts(W)\) divided by \(Tp(W)\) where they represent response times for VM sequential and serverless parallel versions, respectively, for a specific load \(W\)[PERSON] et al. (2018).  
Initially, serverless computing was largely associated with Function as a Service (FaaS) offerings from various cloud providers. However, there has been limited research in this area analyzing and comparing the different services in this domain [PERSON] and [PERSON] (2018); [PERSON] and [PERSON] (2018); [PERSON] and [PERSON] (2018). But, in 2023, there were more serverless offerings from most of the major cloud service providers. This major change happened with the introduction of containers in serverless cloud computing [PERSON] and [PERSON] (2018). In [PERSON] et al. (2018), [PERSON] et al. (2018). discussed the open issues of the serverless architecture.