From monolith to microservices
Timo Aronen · Työväentutkimus Vuosikirja · 2020
Mikropalveluarkkitehtuurista on viime vuosina tullut yksi suosituimmista ohjelmistokehitykses- sä käytettävistä arkkitehtuurityyleistä. Mikropalveluarkkitehtuuri ei määrittele kokonaan uut- ta, itsenäistä arkkitehtuurityyliä, vaan se määrittelee tietyn tavan toteuttaa palvelukeskeistä arkkitehtuuria. Mikropalveluarkkitehtuuri yhdessä automatisoidun ohjelmistokehitysprosessin kanssa mahdollistaa organisaatioille ketterän ja nopean tavan julkaista uusia ominaisuuksia sekä parannuksia sovelluksiinsa. Perinteisessä ohjelmistokehitysarkkitehtuurissa sovellukset koostuvat usein yhdestä suoritetta- vasta ohjelmasta, jota voidaan kutsua monoliitiksi. Mikropalveluarkkitehtuuri nähdään yleen- sä vaihtoehtoiseksi tavaksi toteuttaa sovelluksia perinteiseen tapaan verrattuna. Monoliittisten ohjelmistojen ajatellaan olevan vaikeasti kehitettäviä ja ylläpidettäviä, skaalautuvuudeltaan rajoittuneita, aiheuttavan pidempiä tuotantokatkoksia sekä johtavan teknologisiin riippuvuuk- siin. Mikropalveluarkkitehtuuri saattaa ratkaista joitain monoliittisten ohjelmistojen yleisiä on- gelmia, mutta mikropalveluarkkitehtuuri aiheuttaa myös uusia, erilaisia ongelmia, jotka pitää ottaa huomioon. Yksi huomioon otettava asia on se, että mikropalveluarkkitehtuurissa julkais- tavien ohjelmistokomponenttien lukumäärä kasvaa, mikä aiheuttaa lisää monimutkaisuutta ko- konaisuuden kannalta. Monet organisaatiot harkitsevat monoliittiisten ohjelmistojensa arkkitehtuurin vaihtamista mikropalveluarkkitehtuuriin. Ei ole kuitenkaan selvää, missä tapauksissa ohjelmistoarkkiteh- tuurin vaihtaminen on kustannustehokasta. Tässä opinnäytetyössä perehdytään organisaatioon, joka yrittää löytää vaihtoehtoista tapaa toteuttaa monoliittisia ohjelmistoja ja joka on jo vaihta- nut joidenkin monoliittisten sovellustensa arkkitehtuurin mikropalveluarkkitehtuuriin. Työssä tutkitaan, kuinka valitut teoriat kirjallisuudesta toimivat käytännössä kyseisen organisaation kohdalla.