Micro-hvabehar? Har du hørt flere af os IT-nørder slynge ordet ”Microservices” skødesløst rundt – men har du endnu svært ved at gennemskue begrebet? Så er du kommet til det rette sted! Her får du en simpel introduktion til den tech-faglige term.

Der er over årene kommet et stort fokus på microservices – og eftersom flere virksomheder er blevet mere og mere afhængige af store, fleksible digitale løsninger, er konceptet aktuelt som aldrig før. Men hvad er microservices egentlig? Og er det noget, der kan komme dig og din virksomhed til gode?

Opbygning af digitale løsninger

Før vi kaster os hovedkulds ud i en længere forklaring, bør vi træde et skridt tilbage og kigge på, hvad en webløsning består af, og hvordan den er er skruet sammen (sådan helt overordnet set).

En webshop, en hjemmeside og andre webapplikationer som Amazon og Uber er sammensat af mange forskellige moduler. Hvert modul varetager en bestemt opgave, funktion eller ”service”.

Tager vi – for lethedens skyld – udgangspunkt i en traditionel eCommerce-løsning, finder vi ét modul til fremvisning af produkter, ét til håndtering af kundedata, ét til kurv-funktionen, til betaling og så videre.

Enhver digital løsning har også en frontend (den visuelle del, som dine besøgende ser) og en backend (administrator-delen).

Alle elementerne er bundet sammen, så det i sidste ende opleves som én funktionel løsning. Hvordan det bindes sammen kan dog gøres på forskellige måder med udgangspunkt i forskellige webarkitekturer: Den monolitiske webarkitektur og microservices webarkitekturen.

Webarkitektur: Monolitisk vs. Microservices

Begrebet ”Microservices” dækker altså over en hel unik webarkitektur – dvs. måden, man opbygger og sammensætter digitale løsninger. Microservices-opbygning adskiller sig markant fra den traditionelle, monolitiske struktur. Lad os lige få et hurtigt overblik over de to typer.

Monolitisk webarkitektur

Størstedelen af nutidens løsninger er bygget op på traditionel vis som monolitter.

Ordet “monolit” bruges normalt om en skulptur, der er hugget ud af én sten – og det billede kan måske hjælpe på forståelsen.

Ved den monolitiske webarkitektur er alle moduler i webløsningen (fx kurv-funktionen, produktvisnings-modulet, betaling osv.) – samt frontend og backend – udformet via én samlet kodebase.

Man kan se det som en lidt ufleksibel ”alt-i-en”-løsning, der dog kan styles, udvikles og tilpasses den enkelte virksomhed. Og det har rigtig mange fordele.

Microservices webarkitektur

En nyere tilgang til udvikling af webløsninger er ved brug af microservices.

Har lever de enkelte moduler (igen: Kurv, produktvisning, betaling osv.) separat og har hver deres kodebase.  De snakker udelukkende sammen via såkaldte API’er.

Bruger vi igen analogien om en sten-skulptur, består microservices af en masse forskellige, blandede sten. Nogle kan være af granit, andre kalksten, flint- eller lersten.

Man kan derved beskrive webløsninger, der er bygget af microservices, som en slags “Pick-and-mix”-løsning, hvor man kan sammensætte komponenter og moduler på tværs af kodesprog. 

Illustration af microservices opbygning

Også frontend og backend er opdelt og adskilt. Det betyder, at man kan udvælge og kombinere forskellige frameworks, så man benytter ét til frontend og et andet til backend (modsat en monolit som fx Magento, der giver dig én fast pakke, hvor både front- og backend er inkluderet).

Det kan have sine fordele. Men hvor der er fordele, er der også ulemper, du bør overveje og tage højde for.

Fordele og ulemper ved microservices

Overvejer du en webløsning bygget på microservices? Så bør du kende til både forsiden og bagsiden af medaljen, som vi kort ridser op her.

Fordele

  1. Bedre struktur
    På et teknisk plan er mikroservices typisk bedre organiseret, og det er nemmere for (eksterne) udviklere at hoppe ind og optimere, videreudvikle og tilføje moduler til løsningen – uden at skulle kende til eller tage hensyn til resten af set-uppet. 
  2. Færre fejl og mere driftssikkerhed
    Fordi de enkelte funktioner og moduler i løsningen ikke er bundet sammen til én kodebase, er risikoen for sammenbrud på siden langt mindre. Én service kan være nede, uden at det påvirker resten af løsningen – og eventuelle fejl er desuden nemmere at lokalisere og rette.
  3. Kapacitet og skalerbarhed
    En af de helt store fordele ved microservices og det faktum, at hvert “modul/funkion” kan lagres i egen database, er evnen til at skalere løsningen op, hvis mængden af data, der skal håndteres, er meget stor. Det giver også mulighed for en højere hastighed og en bedre kundeoplevelse. 
  4. Pick-and-mix
    Ved at dele løsningen op i separate microservices, har du også mulighed for at blande kodesprog, frameworks og data-storage-teknologi, så du kan vælge og vrage og benytte de komponenter, der passer dig bedst.

Ulemper

  1. Mere krævende at opbygge
    Løsninger, der er bygget om microservices webarkitekturen, er mere komplekse og tager typisk længere tid at bygge op (i modsætning til monolitterne), fordi hver funktion skal tilkobles og opsættes enkeltvis. 
  2. Dyrere opstartspris
    Som følge af punkt 1 vil opstartsprisen for at udvikle en microservice-løsning ofte være højere end ved monolitiske løsninger. 
  3. Tests er mere tidskrævende
    Fordi man med microservices arbejder med flere ”kanaler”, der ligger i forskellige databaser, er det mere tidskrævende at vedligeholde og teste løsningen og sørge for, der er konsistens over hele linjen.

Vælg en webarkitektur, der passer til dine behov

Er du i tvivl om, hvorvidt du skal vælge den monolitiske eller microservice webarkitektur? For langt de fleste virksomheder vil monolitten være det lette valg. Men har du behov for en løsning, der skal trække store mængder data og kommunikere med mange kilder på én gang, bør du måske kigge i retningen af microservices.

Uber, Zalando og Amazon er eksempler på virksomheder, hvis succes har været afhængig af den innovative webarkitektur. Men også mindre virksomheder med komplekse digitale løsninger, kan have enorm gavn af at følge samme fremgangsmåde.

Nedenfor kan du skabe dig et overblik over forskellen på monolit og microservice webarkitektur.

Monolit vs. microservices webarkitektur

Har du spørgsmål eller lyst til at drøfte, om microservices er det rigtige for dig – så kontakt Makers på telefon 8799 0009 eller  [email protected]