Ajankohtaista

Mikropalvelut selkokielellä – kenelle ne sopivat?

Kirjoittanut Janne Tirkkonen | 06.12.2018

Mikropalveluarkkitehtuuri on ohjelmiston suunnittelussa käytetty arkkitehtuurimalli, jossa sovelluskokonaisuus on hajautettu ja jaettu itsenäisiksi prosesseiksi, usein eri palvelimille tai pilvipalveluun. Lue lisää mikropalveluiden hyödyntämisestä ja niiden soveltuvuudesta erilaisiin tarpeisiin!

Lataa myös API-opas ja lue, miten mikropalveluarkkitehtuurilla saavutetaan ketteryyttä ja helpompaa hallittavuutta:

Monoliittinen arkkitehtuurimalli vs. mikropalvelut

Monoliittiisiä arkkitehtuurimalleja ja mikropalveluarkkitehtuuria voisi vertauskuvannollisesti verrata suuriin vuoriin ja pieniin kiviin joen pohjassa. Monoliittisillä arkkitehtuurimalleilla toteutetut sovellukset ovat isoja, kankeita ja vaikeasti hallittavia kokonaisuuksia, kun taas mikropalvelut ovat pieniä komponentteja, jotka asetetaan peräkkäin keskustelemaan keskenään.

Monoliittisillä arkkitehtuurimalleilla toteutettujen sovellusten ylläpito on haastavampaa ja aiheuttaa usein ongelmia myös käyttäjille: esimerkiksi päivitysten yhteydessä esiintyvät käyttökatkot saattavat olla haitaksi. Lisäksi toimittajayhteistyö voi olla haastavaa, kun laajassa kokonaisuudessa on mukana monta muuttujaa ja ylläpitäjää.

Nimensä mukaan mikropalvelut ovat pienikokoisia ratkaisuja ja esimerkiksi ylläpidon näkökulmasta ne tuovat huomattavia etuja. Toimittajayhteistyö helpottuu, kun jokainen vastaa aina omista selkeistä kokonaisuuksistaan ja tarvittaessa myös toimittajan vaihtaminen yhdelle mikropalvelulle onnistuu helpommin. Muun muassa näistä syistä mikropalvelut ovat riskittömämpiä monoliittiseen arkkitehtuurimalliin verrattuna.

Mikropalveluiden ominaispiirteet

Nykymaailmassa liiketoiminnan pitää pystyä reagoimaan nopeasti muuttuviin tilanteisiin, eikä jäädä jumiin ja samalla jälkeen kilpailijoista. Tätä ajatusta myös mikropalvelut tukevat: jos sovellus vaatii nopean muutoksen ja korjauksen, voidaan se toteuttaa käden käänteessä. Samalla tekeminen on kustannustehokkaampaa, kun muutoksen yhteydessä ei tarvitse puuttua koko järjestelmään.

Suurin mikropalveluiden hyöty onkin ehdottomasti niiden mahdollistama joustavuus ja ketteryys. Palveluita voi hankkia erilaisilta pilvialustoilta ja myös yhdistely on mahdollista: yksi komponentti voi olla omassa infrassa ja loput pilvessä. Mikropalveluiden mahdollistama hajautus tuo siis mukanaan monia etuja, mutta samalla niiden hallintaan kannattaa kiinnittää huomiota. Esimerkiksi erilaiset hallinta- ja konfiguraatiotyökalut mahdollistavat keskitetymmän hallinnan.

Lisäksi iteratiivinen kehitys on yksi mikropalveluiden ominaispiirre, mikä tarjoaa esimerkiksi enemmän joustavuutta suunnitelmien muuttuessa, eikä tällaisessa tilanteessa kaikkea tehtyä ei tarvitse muuttaa. Tehokkuus syntyy nimenomaan mahdollisuudesta tehdä muutoksia nopeasti ja vain niiltä osin kun on tarvetta, eikä silloin tarvitse jäädä jumiin ison ja raskaan kokonaisuuden kanssa.

Kenelle mikropalvelut sopivat?

Jos liiketoiminnan pyörittämiseen liittyy useita toimittajia ja tietojärjestelmiä, kannattaa mikropalveluihin siirtymistä ehdottomasti harkita. Monitoimittajaympäristössä toimivat organisaatiot voisivat hyötyä ketteryydestä ja saada samalla aikaan kustannussäästöjä.

Toisaalta mikropalvelut eivät tuo samansuuruisia hyötyjä organisaatioille, joissa on jo olemassa sisäinen sovelluskehitys tai oma infra, sillä mikropalveluihin siirtyminenkin tuo omat kustannuksensa. Tästä huolimatta pidemmällä aikavälillä jokaisen uutta kehittävän organisaation kannattaa harkita mikropalveluihin siirtymistä!

Lue aiheesta lisää

Mikropalveluiden osalta kannattaa pitää mielessä, että mitä enemmän API-suunnitteluun on panostettu, sitä vakaampi osa arkkitehtuuria mikropalvelut ovat. Koska API ja siihen liittyvät asiat ovat varsin keskeisessä roolissa, suosittelemme seuraavaksi tutustumaan kattavaan oppaaseemme. Lue ja kasvata API-tietouttasi ja ymmärrä lisää API:n mahdollisuuksista liiketoiminnalle!