<img src="https://secure.leadforensics.com/133892.png" alt="" style="display:none;">

Microservices har vært et hett samtaleemne i e-handelsverden i det siste. Hva er egentlig dette for noe, og hva er fordelene og ulempene med microservices?

Først; Hva er microservices?

La oss begynne med det mest grunnleggende; hva er egentlig microservices (eller som noen kaller det; mikrotjenester)? Jo, det er et arkitekturprinsipp der man i stedet for å ha alle funksjoner programmert inn i én stor applikasjon, bruker flere mindre, selvstendige tjenester der hver tjeneste står for én spesifikk funksjon.

Kommunikasjonen med andre tjenester skjer gjennom standardprotokoll (http, meldingskøer) via API'er som REST der kommunikasjonen er kontraktbasert. En viktig teknologi som muliggjør dette er hele skybevegelsen med mengder av verktøy fra ulike leverandører, som f.eks. AWS, Azure og Docker. Dette gjør det mulig å kjøre enkelttjenester uten å ha en dedikert server. 

Med bruk av microservices sies det å være en fordel å organisere utviklingen rundt disse gjennom kryssfunksjonelle team som arbeider med hver sine tjenester med egne backlogs og produkteiere. 

Zalando er pionerer innenfor netthandel da de valgte å i stedet for å kjøpe ett monolittisk system, bygge et eget fra bunnen av basert på en microservice-arkitektur. 

Hva er fordelene og ulempene med dette?

Jeg ville helt klart kunne skrive en avhandling om dette, men har i dette innlegget valgt ut det jeg mener er viktigst.

Fordeler

+ Mer fleksibelt, da enkelte tjenester kan optimeres og publiseres uavhengig av de andre tjenestene, så lenge kontrakten mellom dem ikke endres.

+ Teknologiagnostisk, da tjenestene kan baseres på den teknikk (lagring, rammeverk, programmeringsspråk) som passer best i forhold til hva som skal utføres.

+ Reduserer den tekniske risikoen da enkelte tjenester kan tas vekk, uten at helheten ødelegges. Man kan i tillegg skalere tjenester, hvilket bør spare bedriften penger på sikt.

+ / - Enklere å teste enkelttjenester, men vanskeligere å teste helheten.

Ulemper

- Distribuerte systemer skaper kompleksitet og gjør det vanskelig å få oversikt. Dette krever serviceregistre som holder orden på alle tjenester, og separat logging og overvåkning for enkelte tjenester.

- Risiko for å bygge en monolitt av mikrotjenester.

- Utfordringer i hvordan man holder nede responstider på grunn av nettverkslatens og overhead som kommer med http og serialisering. Tjeneste-på-tjeneste-på-tjeneste-oppkall kan skape økt risiko for lange responstider, noe gjør at det kreves en tydelig strategi rundt chachening og lignende.

Hvordan påvirker dette bedrifters digitale strategier fremover?

Jeg ser to primærområder der dette kommer til å ha et stort gjennomslag:

  1. Bedrifter må stille om sin mentalitet til en API-approach og business application design. Løfte blikket og slutte å fokusere på dataleveranse mellom punkt A og B fra system X og Y, og i stedet fokusere på forretningsfokuserte komponenter.
  2. Innovasjonstakten kommer til å akselerere, noe som innebærer at man vil kunne svare på sine kunders ønsker og behov i mye større grad enn i dag.

    Som med det meste er det både fordeler og ulemper med microservices. Om dette er riktig for din bedrift er avhengig av faktorer som forretningsmodell, organisasjon og deres digitale innovasjonskraft. Det mest spennende med disse mikrotjenester er helt klart at de setter forretning fremfor teknikk og fremmer raske endringer og innovasjon.

    En versjon av dette innlegget ble opprinnelig skrevet av Andreas Wellén, Head of Technology Commerce i den svenske iStone bloggen.

Hva er dine tanker om microservices? Del gjerne dine tanker og erfaringer i kommentarfeltet nedenfor. 👇

Se webinar

Diskuter dette innlegget

Tips til lesing

Tenk deg en organisasjon som et epletre. Stammen er kjernevirksomheten din, og hver gren er en avdeling. En av grenene er ehandel, og hvert mål er som en blomst som vil bli til et eple. De fleste mål påvirker også andre grener. Vil de kunne bære all den frukten som ehandelen håper på?
right-arrow share search phone phone-filled menu filter envelope envelope-filled close checkmark caret-down arrow-up arrow-right arrow-left arrow-down