Ofte jobber organisasjoner med informasjonssystemer som er knyttet til en enkelt, vanligvis gammel teknologi.
Med utvidelsen av digitale aktiviteter, vokser og utvides informasjonssystemer, hvilket gjør det vanskelig å vedlikeholde og oppgradere uten å stoppe driften av hele systemet.
Ny teknologi er nødvendig for raskt å kunne installere oppdateringer eller korrigere feil. Dette målet oppfylles av mikrosystemarkitektur.
Den deler et stort monolittisk program inn i flere mindre frittstående programmer som alle har som formål å fungere tett sammen.
En slik løsning er relevant ved utvikling av nye komplekse storskala systemer eller ved oppdatering av gamle systemer, dette for å sikre høy tilgjengelighet og pålitelighet.
«Novian» anbefaler å gå over til en mikrotjenestearkitektur og DevOps beste praksis ved utvikling av informasjonssystemer som en måte å sikre effektivitet og maksimal automatisering av systemdistribusjonen.
Muligheten til fleksibelt å bruke arkitekturen til mikrotjeneste - ved å bruke de forskjellige malene med forskjellige overgangsstrategier - tilbys.
Hovedprinsippene for implementering av mikrotjenestearkitektur:
- delt ansvar – hver mikrotjeneste implementerer en spesifikk funksjon eller funksjonalitet;
- selvstendighet – mikrotjenester er uavhengige eller har en lav grad av gjensidig avhengighet (engelsk loosely coupling), og mikrotjenesten er bare tilgjengelig via et standardisert applikasjonsprogrammeringsgrensesnitt (API) og avslører ikke sine interne detaljer til integrerte systemer eller andre mikrotjenester, har vanligvis sin egen isolerte database eller skjema;
- desentralisering – ansvar av systemfunksjonalitet og data er fordelt etter tjenester.
De viktigste fordelene med mikrotjenestearkitektur:
- Tillater kontinuerlig installasjon (engelsk continuous delivery and deployment) av verktøy i store komplekse systemer;
- Små og enkle å vedlikeholde;
- Installeres uavhengig;
- Systemene er uavhengig testet;
- Det er mulig å gjenbruke eksisterende tjenester;
- Selvstendig utvidelse (engelsk scalling);
- Ulike mikrotjenester kan installeres av separate team og med forskjellige teknologier, så det er mulig å parallellisere arbeidet og utføre det raskere;
- Individuelle mikrotjenester kan installeres med nyere teknologier;
- Bedre isolasjon og reparasjon uten å endre systemet som helhet.