dc.contributor.advisor | Seppänen, Ville | |
dc.contributor.author | Ketola, Olli | |
dc.date.accessioned | 2019-06-14T13:11:19Z | |
dc.date.available | 2019-06-14T13:11:19Z | |
dc.date.issued | 2019 | |
dc.identifier.uri | https://jyx.jyu.fi/handle/123456789/64652 | |
dc.description.abstract | Mikropalveluarkkitehtuuri on ohjelmistokehittämisessä hyödynnettävä pilvipohjainen arkkitehtuurityyli, joka perustuu pieniin itsenäisiin verkkoyhteyden yli kommunikoiviin palveluihin. Tämän työn tavoitteena on selvittää mikropalveluarkkitehtuuriin perustuvien järjestelmien kehittämistä tukevia tekijöitä. Työn empiirisessä tutkimuksessa pyritään vastamaan kahteen tutkimuskysymykseen. Mitkä toimintamallit ja prosessit tukevat mikropalveluarkkitehtuuriin perustuvaa kehittämistä ja mitkä tekniset ratkaisut mahdollistavat mikropalveluarkkitehtuurin tehokkaan toiminnan? Kirjallisuuskatsauksen ensimmäisessä luvussa käydään läpi, mistä mikropalveluarkkitehtuuri on saanut alkunsa ja esitellään aiemman tutkimuskirjallisuuden valossa mikropalveluarkkitehtuurin oleellisiksi tunnistettuja osa-alueita. Toisessa luvussa käydään läpi toimintamalleja ja prosesseja, jotka usein liitettään mikropalveluarkkitehtuurin yhteyteen. Kirjallisuuskatsauksen jälkeen esitellään empiirisen tutkimuksen käytännön toteutus ja käydään läpi tutkimuksen tulokset sekä pohditaan, miten tulokset linkittyvät aiempaan tutkimuskirjallisuuteen. Työn empiirinen tutkimus toteutettiin hyödyntäen laadullista teemahaastatteluihin perustuvaa tutkimusmenetelmää. Haastatellut henkilöt olivat ohjelmistokehittäjiä ja ohjelmistoarkkitehteja, joilla oli aiempaa kokemusta mikropalveluarkkitehtuuriin perustuvien järjestelmien kehittämisestä ja suunnittelemisesta. Haastattelujen perusteella saadut tulokset olivat hyvin linjassa aiemman tutkimuskirjallisuuden kanssa. Mikropalveluarkkitehtuuriin perustuvien järjestelmien rakentamiseen liittyen tärkeänä pidettiin DDD-periaatteita seuraavaa suunnittelua, mikropalveluiden mahdollistamaa teknologia riippumatonta kehittämistä, REST-periaatteita seuraavaa kommunikointia ja tietovarastojen eriyttämistä. Lisäksi esiin nousi valmiiden pilvialustojen hyödyntäminen, joka mahdollistaa konttien tehokkaan käytön. Mikropalveluiden kehittämisen kannalta oleellisiksi toimintamalleiksi tunnistettiin DevOps-periaatteita seuraavien käytänteiden omaksuminen ja automaattisten julkaisuprosessien rakentaminen. | fi |
dc.description.abstract | Microservice architecture is an architectural style that is being used for building cloud native software. It is based on small services that communicate through an Internet connection and can be developed and released independently. The goal of this thesis is to identify how microservice based applications are developed at the moment. More precisely, the goal is to investigate what process and methods are used to support microservice development and what kind of technological solutions enables microservice architecture to work efficiently. The first part of the literature review explains where microservice architecture has come from and what is considered the main elements in microservice architecture. In the second part of the literature goes through the processes and the methods that are being used to develop microservice based applications. Rest of the chapters are related to the empirical part of the thesis and discuss how research was done and presents the results of the thesis and discuss how results are in line with previous literature. The empirical part of the thesis was done as a qualitative research by following the theme interview method. Interviewees were software developers and software architects who had experience on building and designing microservice based applications. Results were in line with existing literature. The most significant findings related to the developing microservice based application were, a design that follows DDD principles, technologically independent development, inner communication that follows REST principles, differentiated data storages and extensive use cloud platforms that enables the use of containers. From process and methods perspective DevOps principles and continuous integration and delivery practices were identified to be an integral part of the microservice architecture. | en |
dc.format.extent | 80 | |
dc.format.mimetype | application/pdf | |
dc.language.iso | fi | |
dc.subject.other | mikropalvelu | |
dc.subject.other | mikropalveluarkkitehtuuri | |
dc.subject.other | DevOps | |
dc.title | Mikropalveluarkkitehtuuriin perustuvien järjestelmien kehittämistä tukevat tekijät | |
dc.identifier.urn | URN:NBN:fi:jyu-201906143243 | |
dc.type.ontasot | Pro gradu -tutkielma | fi |
dc.type.ontasot | Master’s thesis | en |
dc.contributor.tiedekunta | Informaatioteknologian tiedekunta | fi |
dc.contributor.tiedekunta | Faculty of Information Technology | en |
dc.contributor.laitos | Informaatioteknologia | fi |
dc.contributor.laitos | Information Technology | en |
dc.contributor.yliopisto | Jyväskylän yliopisto | fi |
dc.contributor.yliopisto | University of Jyväskylä | en |
dc.contributor.oppiaine | Tietojärjestelmätiede | fi |
dc.contributor.oppiaine | Information Systems Science | en |
dc.rights.copyright | Julkaisu on tekijänoikeussäännösten alainen. Teosta voi lukea ja tulostaa henkilökohtaista käyttöä varten. Käyttö kaupallisiin tarkoituksiin on kielletty. | fi |
dc.rights.copyright | This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited. | en |
dc.type.publication | masterThesis | |
dc.contributor.oppiainekoodi | 601 | |
dc.subject.yso | järjestelmäarkkitehtuuri | |
dc.format.content | fulltext | |
dc.type.okm | G2 | |