Mikropalvelupohjan uusiminen: Kahden mikropalvelupohjan tekninen vertailu yksinkertaisten mikropalvelutoteutusten avulla
Tastula, Valtteri (2023)
Tastula, Valtteri
2023
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
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ä
2023-04-28
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202304113587
https://urn.fi/URN:NBN:fi:tuni-202304113587
Tiivistelmä
Tässä työssä toteutetaan case study -tutkimus, jossa olemassa oleva eli vanha Kotlin-kielellä ja Spring-sovelluskehyksillä toteutettu mikropalvelupohja kirjoitetaan uudelleen TypeScript-kielellä. Pohjien teknisiä ominaisuuksia vertaillaan ja tulosten perusteella arvioidaan, onko uudelleenkirjoitetun eli uuden mikropalvelupohjan käyttöönotto järkevää. Työssä pyritään ottamaan huomioon lääketieteellisen toimintaympäristön tuomat vaatimukset standardin EN 62304 avulla.
Työ jakautuu neljään osaan. Ensimmäisessä osassa määritellään vertailun mittaristo. Mittaristoon valittiin viisi kriteeriä, jotka perustuivat joko taloudellisiin tai lainsäädännöllisiin perusteisiin. Kriteerien lisäksi tarkasteltavaksi valittiin kolme ominaisuutta, joita ei mitata. Toisessa osassa tarkastellaan vanhan pohjan rakennetta ja ominaisuuksia. Kolmannessa osassa määritellään uuden pohjan rakenne. Vanhan pohjan tärkeimpiä ominaisuuksia käytettiin vaatimuksina, jotka uuden pohjan täytyi toteuttaa. Lisäksi uuden pohjan vaihtoehtoisia komponentteja punnittiin ennen lopullisten valintojen tekemistä. Neljännessä osassa suoritetaan vertailu ja tulosten analyysi. Vertailu tapahtui kriteeri kerrallaan niin, että kaikki tulokset olivat määrällisessä muodossa. Analyysissä raa’at tulokset asetettiin case studyn kontekstiin ennen tulkitsemista.
Vertailun tulokset eivät ole yksiselitteiset. Työn teknisimmät kriteerit, esimerkiksi resurssien kulutus, antavat vaihtelevia tuloksia. Osa tuloksista, esimerkiksi riippuvuuksien sisältämien haavoittuvuuksien määrä, eivät välttämättä anna realistista kuvaa mikropalvelupohjien tilasta. Koodin laatua mittaava kriteeri antaa paremmat tulokset uudelle pohjalle. Kun kaikkia tuloksia tarkastellaan case studyn kontekstissa, uuden mikropalvelun käyttöönottoa voi suositella.
Työ jakautuu neljään osaan. Ensimmäisessä osassa määritellään vertailun mittaristo. Mittaristoon valittiin viisi kriteeriä, jotka perustuivat joko taloudellisiin tai lainsäädännöllisiin perusteisiin. Kriteerien lisäksi tarkasteltavaksi valittiin kolme ominaisuutta, joita ei mitata. Toisessa osassa tarkastellaan vanhan pohjan rakennetta ja ominaisuuksia. Kolmannessa osassa määritellään uuden pohjan rakenne. Vanhan pohjan tärkeimpiä ominaisuuksia käytettiin vaatimuksina, jotka uuden pohjan täytyi toteuttaa. Lisäksi uuden pohjan vaihtoehtoisia komponentteja punnittiin ennen lopullisten valintojen tekemistä. Neljännessä osassa suoritetaan vertailu ja tulosten analyysi. Vertailu tapahtui kriteeri kerrallaan niin, että kaikki tulokset olivat määrällisessä muodossa. Analyysissä raa’at tulokset asetettiin case studyn kontekstiin ennen tulkitsemista.
Vertailun tulokset eivät ole yksiselitteiset. Työn teknisimmät kriteerit, esimerkiksi resurssien kulutus, antavat vaihtelevia tuloksia. Osa tuloksista, esimerkiksi riippuvuuksien sisältämien haavoittuvuuksien määrä, eivät välttämättä anna realistista kuvaa mikropalvelupohjien tilasta. Koodin laatua mittaava kriteeri antaa paremmat tulokset uudelle pohjalle. Kun kaikkia tuloksia tarkastellaan case studyn kontekstissa, uuden mikropalvelun käyttöönottoa voi suositella.