Leveraging spot instances for resource provisioning in serverless computing

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2023-08-21

Department

Major/Subject

Security and Cloud Computing

Mcode

SCI3113

Degree programme

Master’s Programme in Security and Cloud Computing (SECCLO)

Language

en

Pages

55

Series

Abstract

Cloud computing has become a dominating paradigm across the IT industry. However, keeping cloud costs under control is a major challenge for organizations. One option to save costs is using spot instances: virtual machines that have highly discounted prices at the expense of lower reliability and availability. Serverless computing is a paradigm that allows developers to build and deploy applications in the cloud without provisioning or managing backend infrastructure. Function as a Service (FaaS) is the prevalent delivery model of this paradigm, which allows developers to execute functions in the cloud as a response to a request or an event. The developer focuses only on the code, and the cloud provider handles the execution and scaling of the functions. This is convenient for developers, but comes with some limitations and can become very expensive at scale. This thesis investigates leveraging spot instances for running serverless functions, and potentially achieve both higher flexibility and cost reduction compared to commercial FaaS solutions. For this purpose, we present a system design, suitable for applications that tolerate some execution latency, and implement it in Google Cloud Platform. Our implementation is compared against Google Cloud Run, a service that offers a similar functionality. Our system achieves significant cost savings: assuming a function execution time of two minutes, our system has the same price as the Cloud Run solution at around 8,000 requests per month, and at, for example, 20,000 requests per month, the cost is less than half of Cloud Run. However, one important design decision is that a spot instance is provisioned on the fly for every request. While this introduces latency, it also allows the system to achieve no significant reduction in reliability, as was confirmed in our evaluation.

Description

Supervisor

Di Francesco, Mario

Thesis advisor

Appuswamy, Raja

Keywords

cloud computing, spot instances, serverless computing, function as a service

Other note

Citation