Mikropalveluarkkitehtuuriin perustuvien järjestelmien kehittämistä tukevat tekijät - Ketola, Olli (2019)
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.