Mikropalvelu
Mikropalvelu on ohjelmistoarkkitehtuuri, joka rakentaa sovellusohjelman erillisistä palveluista jakamalla sen pienempiin osiin.[1][2]
Mikropalvelut ovat tarkoitettu käytettäväksi jatkuvan integraation ja jatkuvan toimituksen kehitysmallien yhteydessä.[3]
Käyttötapauksia
Digitaalinen pankki Monzo on kertonut käyttävänsä 1 600:aa mikropalvelua järjestelmässään: järjestelmä käyttää Apache Cassandraa tietokannan hallintajärjestelmänä, Kubernetesia klusterin hallintaan ja Go-ohjelmointikieltä.[4] Jokainen mikropalvelu suoritetaan Docker-säiliöissä.[4] Menetelmän etuna mainitaan asteittaiset muutokset ja iteratiivinen menettely, jotka voittavat suuret harvinaiset muutokset.[4]
Kritiikkiä
Mallia on sanottu käytettävän liiallisesti tilanteissa joihin se ei sovellu.[5] Pahimmassa tapauksessa palvelu on erillisinä osina, mutta sen osat otettava yhtä aikaa käyttöön.[5] Ongelmallisessa tilanteessa on palvelun käyttöönoton monimutkaisuus ilman etuja.[5]
Lähteet
- Microservice Architecture microservices.io. Viitattu 4.3.2020. (englanniksi)
- What are microservices? opensource.com. Viitattu 5.3.2020. (englanniksi)
- CI/CD for microservices architectures docs.microsoft.com. 27.3.2019. Viitattu 4.3.2020. (englanniksi)
- Tim Anderson: How does Monzo keep 1,600 microservices spinning? Go, clean code, and a strong team theregister.co.uk. 9.3.2020. Viitattu 10.3.2020. (englanniksi)
- Tim Anderson: Microservices guru warns devs that trendy architecture shouldn't be the default for every app, but 'a last resort' theregister.co.uk. 4.3.2020. Viitattu 4.3.2020. (englanniksi)