Investigating differences in performance between monolithic and serverless based architectures

University essay from KTH/Skolan för elektroteknik och datavetenskap (EECS)

Abstract: With the growth of cloud computing, various delivery models have emerged to attract developers looking for scalable and cost-effective infrastructures for their software. Traditionally, applications are developed as a monolith with one single codebase repository, and they are easily deployed; for example as Platform as a Service (PaaS). However, monolithic applications have received criticism for inefficient resource handling when deployed on the cloud; therefore, new delivery models have been introduced as alternatives. Recent research points towards Function as a Service (FaaS) to potentially solve the issue of inefficient resource handling and, therefore, reduce costs. Furthermore, since multiple distinct development strategies and delivery models exist, it becomes increasingly important to choose the right strategy from the beginning since migrating to another development strategy or deployment model in the future is rather expensive. This thesis load tests monolithic and serverless applications to determine which development approach best suits performance, scalability, and cost requirements. The findings obtained showed that an application implemented with a serverless architecture can be a better strategy if the application needs to be able to handle a sudden large up-scaling. Otherwise, both architectures showed similar results to stable workloads. Regarding costs, the serverless architecture optimized costs on a smaller scale but further analysis showed that it can surpass the costs of a monolithic architecture if it surpasses a threshold of requests per month.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)