Digitaliseringen går allt snabbare för att fylla det behov som det moderna samhälletkräver så behövs inte bara en digital arbetskraft, det behövs även en infrastruktur sommöjliggör en snabbare digital utveckling. Samtidigt har cloud computing och molnleverantörer blivit en alltmer integrerad del av mjukvaruutvecklingen. Ett ytterligare abstraktionslager som fått mer popularitet och uppmärksamhet de senaste åren är serverless computing. Serverless computing innebär ett abstraktionslager som moln-leverantörer tillhandahåller för att ta bort ansvaret för drift och skalbarhet av servrar. Denna studie konstruerar ett ramverk för en benchmark av prestanda för serverless infrastruktur på tre av de största moln-leverantörerna. Ramverket bygger på en grey box implementering av en rekursiv algoritm för att beräkna det 45:e numret i en Fibonacci-serie i Python, Java och NodeJS. Detta görs på moln-plattformarna Google Cloud Platform, Amazon Web Services och Microsoft Azure. Syftet är att se huruvida det finns skillnader i exekveringstid och minnesåtgång för den givna algoritmen på de tre plattformarna i respektive programmeringsspråk. Studien visar att det finns statistiskt signifikanta skillnader mellan både exekveringstid och minnesåtgång, för alla kodspråken på de tre plattformarna. Störst skillnad är det på NodeJS, följt av Java och sist Python. På aggregerad nivå är det större skillnad för minnesåtgång gentemot exekveringstid. / The pace of digitalization is ever-increasing. To fill societies need for digitalization adigital workforce is needed, as well as the infrastructure to support said workforce.In the wake of digitalization, cloud computing and cloud providers have become anintegrated part of software production. An abstraction layer that builds on top ofcloud computing has gained traction over the last couple of years, serverless computing.This is an abstraction layer that cloud providers provide, which takes away theresponsibility of scaling and maintaining servers. This study constructs a framework to benchmark performance for serverless infrastructurefor three large cloud providers. The framework is a grey-box implementationof a recursive algorithm to calculate the 45th number in a Fibonacci series. Saidalgorithm will be tested in Python, Java and NodeJS. The tests will be conducted onthe cloud providers Google Cloud Platform, Amazon Web Service and Microsoft Azure.The purpose of the study is to show any differences in execution time andmemory consumption, for the given algorithm, on all three platforms and betweeneach programming language. The study shows that there are statistically significant differences for execution timeas well as memory consumption, for all coding languages, between all three platforms.The biggest difference is observed for NodeJS, followed by Java and lastly Python.On an aggregated level there are greater differences in memory consumptionrather than execution time.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:hig-38801 |
Date | January 2022 |
Creators | Kristiansson, Albin |
Publisher | Högskolan i Gävle, Datavetenskap |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0355 seconds