Microservice Architecture Suitability for Contemporary Software Development
Salminen, Tomy (2018)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018053111438
https://urn.fi/URN:NBN:fi:amk-2018053111438
Tiivistelmä
Opinnäytetyön tavoite oli selvittää mikropalveluarkkitehtuurin soveltuvuus nykyaikaiseen sovellusten kehitykseen kehittäjäkokemus ja organisaatio huomioiden. Tarkoitus oli toteuttaa Futurice Oy:n asiakkaalle mikropalvelu helpottamaan asiakkaan sisäisen ja kolmannen osapuolen palvelun välistä integraatiota. Opinnäytetyö on ensisijaisesti tapaustutkimus. Päätelmät nojautuvat asiakastyössä tehtyihin havaintoihin sekä kirjallisuuslähteisiin.
Mikropalveluarkkitehtuuri helpottaa erityisesti suurten projektien tyypillisiä ongelmia. Uusien teknologioiden asteittainen käyttöönotto, ohjelmiston ylläpidettävyys, skaalautuvuus ja nopea kehityssykli on helpompi saavuttaa mikropalveluarkkitehtuurilla, kuin monoliittisella arkkitehtuurilla. Mikropalveluarkkitehtuuri hankaloittaa testausta ja luo monimutkaisuutta. Saadakseen kaiken hyödyn irti mikropalveluista organisaatioiden on pystyttävä vastaamaan sen tuomiin haasteisiin.
Tuomistaan haasteista huolimatta mikropalveluarkkitehtuuri helpottaa verkkopalveluiden kehittämisessä ilmeneviä ongelmia. Se on lähtökohtaisesti suositeltava arkkitehtuuri keskikokoisille ja suurille verkkopalveluille. Pienempien palveluiden kohdalla on hyvä arvioida tapauskohtaisesti, onko projekti tarpeeksi laaja, jotta se hyötyy mikropalveluarkkitehtuurin tuomista hyödyistä.
Mikropalveluarkkitehtuuri helpottaa erityisesti suurten projektien tyypillisiä ongelmia. Uusien teknologioiden asteittainen käyttöönotto, ohjelmiston ylläpidettävyys, skaalautuvuus ja nopea kehityssykli on helpompi saavuttaa mikropalveluarkkitehtuurilla, kuin monoliittisella arkkitehtuurilla. Mikropalveluarkkitehtuuri hankaloittaa testausta ja luo monimutkaisuutta. Saadakseen kaiken hyödyn irti mikropalveluista organisaatioiden on pystyttävä vastaamaan sen tuomiin haasteisiin.
Tuomistaan haasteista huolimatta mikropalveluarkkitehtuuri helpottaa verkkopalveluiden kehittämisessä ilmeneviä ongelmia. Se on lähtökohtaisesti suositeltava arkkitehtuuri keskikokoisille ja suurille verkkopalveluille. Pienempien palveluiden kohdalla on hyvä arvioida tapauskohtaisesti, onko projekti tarpeeksi laaja, jotta se hyötyy mikropalveluarkkitehtuurin tuomista hyödyistä.