palveluarkkitehtuuri
Palveluarkkitehtuuri on tietojärjestelmän arkkitehtuurin ala, jossa järjestelmän toiminnallisuus jaetaan erillisiin palveluihin. Jokainen palvelu tarjoaa selvästi määritellyn rajapinnan ja vastaa omasta liiketoiminnan osa-alueestaan. Palvelut kommunikoivat standardoitujen protokollien kautta, kuten REST- tai gRPC-rajapinnoin tai tapahtumavetoisesti viestein. Tavoitteena on yhdistää liiketoiminnan joustavuus ja tekninen skaalautuvuus.
Keskeisiä periaatteita ovat muun muassa:
- Löyhä kytkeytyminen ja korkea koherenssi sekä palveluiden autonomia
- Selkeät rajapinnat, API-first tai contract-first -lähestymistavat
- Automaattinen versionointi ja itsenäinen kehittäminen sekä testaus
- Viestintä REST, gRPC, tapahtumalähtöisyys sekä viestinvälitys
- Governance, turvallisuus, observability sekä palveluiden elinkaaren hallinta
Käytännössä palveluarkkitehtuuri voi nojautua mikropalveluarkkitehtuuriin tai yleisempään SOA-tyyppiseen malliin. Se korostaa tilattomuuden, skaalautuvuuden ja riippumattoman kehityksen
- Haasteet: kompleksisuus, hajautetun tiedon konsistenssi, operatiivinen ylläpito, sekä kustannusten hallinta
- Hyödyt: nopeampi palveluiden julkaisu, parempi resilienssi ja parempi liiketoimintakyvyn ilmentäminen
Palveluarkkitehtuuri tukee nykyaikaista pilvi- ja digitaalisuutta sekä mahdollistaa organisaation kyvykkyyksien nopean kehittämisen ja mittaamisen.