Monoliitista mikropalveluihin: Tapaustutkimus järjestelmämigraation hyödyistä ja haasteista
Kuukka, Kari (2020)
Kuukka, Kari
2020
Tietojenkäsittelyopin maisteriohjelma - Master's Programme in Computer Science
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
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ä
2020-05-18
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202004294539
https://urn.fi/URN:NBN:fi:tuni-202004294539
Tiivistelmä
Viime vuosina jatkuvan julkaisun malli sekä ketterät menetelmät ovat yleistyneet ohjelmistokehityksessä. Vanhentuneet ohjelmistoarkkitehtuurit eivät välttämättä vastaa näihin tarpeisiin. Tämän vuoksi mikropalveluarkkitehtuuri on lisännyt suosiotaan viime vuosina ohjelmistokehityksessä. Erityisesti olemassa olevia monoliittisia ohjelmistoja päivitetään laajasti mikropalveluarkkitehtuuriin. Mikropalveluarkkitehtuuri tarjoaakin selviä hyötyjä monoliittiin verraten, esimerkiksi mahdollistamalla jatkuvan julkaisun mallin ja ketterämmän ohjelmistokehityksen. Toisaalta mikropalveluarkkitehtuurin toteuttamisessa on myös omat haasteensa, jotka liittyvät arkkitehtuurin hajautettuun rakenteeseen.
Tämä tutkielma kartoittaa mikropalveluiden hyötyjä ja haasteita suhteessa monoliittisiin ratkaisuihin. Tutkielmassa esitellään aiempaa tutkimusta aihepiiristä, mikropalveluarkkitehtuurin toteutustapoja ja toteutetaan tapaustutkimus kohdeyrityksessä. Tapaustutkimuksessa tutkitaan kohdeyrityksen erään järjestelmän siirtoa vanhasta monoliittiarkkitehtuurista mikropalveluarkkitehtuuriin. Tutkielmassa kuvataan ohjelmistoprojektin etenemisen vaiheet, sekä tutkitaan kohdattuja hyötyjä ja haasteita.
Tapaustutkimus toteutettiin seuraamalla kohdejärjestelmään liittyvän ohjelmistoprojektin etenemistä suunnitteluvaiheesta ensimmäiseen julkaisuun asti. Yleistä tietoa ohjelmistoprojektista ja kohdejärjestelmän käyttötarkoituksesta kerättiin haastattelemalla kohdeyrityksen yhteyshenkilöitä. Lisäksi kohdeyrityksestä valittiin eri rooleissa toimivia, ohjelmistoprojektin parissa työskennelleitä henkilöitä, joille toteutettiin haastattelu kyselylomakkeen avulla. Kyselylomakkeella kerättiin tietoa kohdatuista mikropalveluiden hyödyistä ja haasteista, kun taas yhteyshenkilöiden kanssa tehdyt haastattelut keskittyivät yleiseen järjestelmäkuvaukseen. Tutkimuksessa havaitut mikropalveluarkkitehtuurin hyödyt ja haasteet olivat pääosin linjassa aiemman tutkimuksen kanssa.
Tutkimuksessa havaittiin kohdeyrityksen ohjelmistoprojekteihin liittyvän prosessiuudistuksen vaikuttaneen toimintatapoihin selvästi, minkä vuoksi osa havaituista hyödyistä ja haitoista liittyy kehitysprosesseihin, eikä ainoastaan mikropalveluarkkitehtuuriin. Hyötyjen ja haasteiden lisäksi tutkimuksen avulla saavutettiin tietoa mikropalveluarkkitehtuurilla toteutetun järjestelmän vahvasta vuorovaikutuksesta toisen järjestelmän kanssa. Tällaisen vahvan vuorovaikutuksen tuomia haasteita ei juurikaan ole kuvattu aiemmassa tutkimuksessa.
Tämä tutkielma kartoittaa mikropalveluiden hyötyjä ja haasteita suhteessa monoliittisiin ratkaisuihin. Tutkielmassa esitellään aiempaa tutkimusta aihepiiristä, mikropalveluarkkitehtuurin toteutustapoja ja toteutetaan tapaustutkimus kohdeyrityksessä. Tapaustutkimuksessa tutkitaan kohdeyrityksen erään järjestelmän siirtoa vanhasta monoliittiarkkitehtuurista mikropalveluarkkitehtuuriin. Tutkielmassa kuvataan ohjelmistoprojektin etenemisen vaiheet, sekä tutkitaan kohdattuja hyötyjä ja haasteita.
Tapaustutkimus toteutettiin seuraamalla kohdejärjestelmään liittyvän ohjelmistoprojektin etenemistä suunnitteluvaiheesta ensimmäiseen julkaisuun asti. Yleistä tietoa ohjelmistoprojektista ja kohdejärjestelmän käyttötarkoituksesta kerättiin haastattelemalla kohdeyrityksen yhteyshenkilöitä. Lisäksi kohdeyrityksestä valittiin eri rooleissa toimivia, ohjelmistoprojektin parissa työskennelleitä henkilöitä, joille toteutettiin haastattelu kyselylomakkeen avulla. Kyselylomakkeella kerättiin tietoa kohdatuista mikropalveluiden hyödyistä ja haasteista, kun taas yhteyshenkilöiden kanssa tehdyt haastattelut keskittyivät yleiseen järjestelmäkuvaukseen. Tutkimuksessa havaitut mikropalveluarkkitehtuurin hyödyt ja haasteet olivat pääosin linjassa aiemman tutkimuksen kanssa.
Tutkimuksessa havaittiin kohdeyrityksen ohjelmistoprojekteihin liittyvän prosessiuudistuksen vaikuttaneen toimintatapoihin selvästi, minkä vuoksi osa havaituista hyödyistä ja haitoista liittyy kehitysprosesseihin, eikä ainoastaan mikropalveluarkkitehtuuriin. Hyötyjen ja haasteiden lisäksi tutkimuksen avulla saavutettiin tietoa mikropalveluarkkitehtuurilla toteutetun järjestelmän vahvasta vuorovaikutuksesta toisen järjestelmän kanssa. Tällaisen vahvan vuorovaikutuksen tuomia haasteita ei juurikaan ole kuvattu aiemmassa tutkimuksessa.
