Migrating a web application to serverless architecture

Serverless on uudenlainen pilvilaskentamalli joka perustuu automaattisesti skaalautuviin ja millisekuntien tarkkuudella laskutettaviin laskentaresursseihin. Serverless on herättänyt kiinnostusta ammattipiireissä mutta tieteellinen kirjallisuus siitä miten mallin erityispiirteet vaikuttavat ohjelmist...

Full description

Bibliographic Details
Main Author: Pekkala, Aleksi
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:eng
Published: 2019
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/64836
Description
Summary:Serverless on uudenlainen pilvilaskentamalli joka perustuu automaattisesti skaalautuviin ja millisekuntien tarkkuudella laskutettaviin laskentaresursseihin. Serverless on herättänyt kiinnostusta ammattipiireissä mutta tieteellinen kirjallisuus siitä miten mallin erityispiirteet vaikuttavat ohjelmistosuunnitteluun on vielä vajavaista. Tämä tutkielma pyrkii ensin määrittelemään mallin alkuperineen ja kartoittamaan sovellettavia suunnittelumalleja. Suunnittelumalleja sovelletaan kokeellisessa migraatioprosessissa minkä kautta johdetaan 5 uutta suunnittelumallia. Lopuksi migraation lopputulosta arvioidaan kehityksen helppouden, suorituskyvyn sekä kustannusten näkökulmasta. Serverless-mallin itodetaan täyttävän lupauksensa joustavuudesta sekä matalammasta operationaalisen työn tarpeesta; kustannusetu kuitenkin riippuu laajalti käyttöliikenteen muodosta. Serverless computing is a novel cloud computing model based on auto-scaling, ephemeral resources billed at a millisecond granularity. Serverless has gained interest in the industry but literature on how the model’s characteristics drive application design is still scarce. This thesis aims to fill the gap by first defining the paradigm along with its origins and surveying for applicable design patterns. The patterns are then applied in an experimental migration process through which 5 new patterns are introduced. Finally the migration outcome is evaluated in terms of development ease, performance and costs. The serverless model is found to deliver on its promises of elasticity and reduced operational overhead; cost benefit however depends largely on expected traffic shape.