Serverless-arkkitehtuurin hyödyntäminen ohjelmistoprojektissa
Ruutiainen, Oskari (2017)
Ruutiainen, Oskari
2017
Tietotekniikka
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2017-11-08
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201710252059
https://urn.fi/URN:NBN:fi:tty-201710252059
Tiivistelmä
Ohjelmistoprojektissa yksi tärkeimmistä asioista on valita sopiva arkkitehtuuri rakennettavan järjestelmän pohjaksi. Vääränlainen arkkitehtuuri nostaa kehityksen kustannuksia niin projektin kehitysvaiheessa ennen julkaisua, kuin järjestelmän tuotantojulkaisun jälkeisen jatkokehityksen ja ylläpidon kustannuksia. Serverless-arkkitehtuurissa järjestelmä tai sen osa koostuu pilvipalvelussa ajettavista tilattomista funktioista, joita kutsutaan kun niitä tarvitaan. Funktio, tai joukko funktioita, ajetaan pilvipalvelun tarjoajan ympäristössä, jolle ohjelmistokehittäjän ei tarvitse tehdä monimutkaista konfigurointia. Tällaisen funktion kustannukset koostuvat tavallisesti siitä kuinka usein funktio kutsutaan, kuinka kauan sen ajaminen kestää ja kuinka tehokas laskentayksikkö on konfiguroitu funktiota käyttöön.
Tässä diplomityössä serverless-arkkitehtuuria käsitellään Amazon Web Services Lambda -palvelun avulla ja käytännön esimerkkinä muutetaan pieni verkkosovellus nimeltään Afterwork-alert hyödyntämään serverless-palveluita. Työn puitteissa myös tutustutaan asiantuntijoiden haastatteluiden tasolla Gofore Oy:n toteuttamiin laajempiin ohjelmistoprojekteihin, joissa hyödynnetään serverless-palveluita.
Afterwork-alert-sovelluksen muutosprojektin ja haastattelujen perusteella voidaan todeta serverless-palveluiden olevan hyödyllinen lisä laajojen tietojärjestelmien arkkitehtuurissa. Pienemmissä tietojärjestelmissä tai sovelluksissa serverless-arkkitehtuuri voi toimia jopa ainoana sovellettava arkkitehtuurina. One of the most important things in a software project is to choose an appropriate software architecture to depend on. Wrong choise of architecture may increase development costs before and after production release, and also result in large maintanance costs of the software system. When using a serverless architecture, the system or part of the system is composed of stateless functions that are executed in cloud environment, and only called when needed. Function, or a group of function, are executed in cloud environment of service provider. Software developer does not have to do any complicated configuration for that environment. Costs of serverless functions usually consists of how often the function is called, how long does the execution take and how high computational performance is needed for the function.
In this master's thesis serverless architecture is explored with Amazon Web Services Lambdas, and by refactoring a small integration application, called Afterwork-alert, to utilize serverless architecture. Thesis also goes through interviews with two software professionals from Gofore Oy to get to know how serverless services are used in large scale software projects.
Based on the refactoring project of the Afterwork-alert application and professional interviews, one can state that serverless services are beneficial as a part of the architecture of a large scale information system. For a small scale systems or projects serverless architecture can even be only applied architecture.
Tässä diplomityössä serverless-arkkitehtuuria käsitellään Amazon Web Services Lambda -palvelun avulla ja käytännön esimerkkinä muutetaan pieni verkkosovellus nimeltään Afterwork-alert hyödyntämään serverless-palveluita. Työn puitteissa myös tutustutaan asiantuntijoiden haastatteluiden tasolla Gofore Oy:n toteuttamiin laajempiin ohjelmistoprojekteihin, joissa hyödynnetään serverless-palveluita.
Afterwork-alert-sovelluksen muutosprojektin ja haastattelujen perusteella voidaan todeta serverless-palveluiden olevan hyödyllinen lisä laajojen tietojärjestelmien arkkitehtuurissa. Pienemmissä tietojärjestelmissä tai sovelluksissa serverless-arkkitehtuuri voi toimia jopa ainoana sovellettava arkkitehtuurina.
In this master's thesis serverless architecture is explored with Amazon Web Services Lambdas, and by refactoring a small integration application, called Afterwork-alert, to utilize serverless architecture. Thesis also goes through interviews with two software professionals from Gofore Oy to get to know how serverless services are used in large scale software projects.
Based on the refactoring project of the Afterwork-alert application and professional interviews, one can state that serverless services are beneficial as a part of the architecture of a large scale information system. For a small scale systems or projects serverless architecture can even be only applied architecture.