Go to blue arrow
back to Tech Blog
Udvikling
Erhverv
Alexandra Mendes
Andre Santos

6. august 2026

Min Read

Micro-frontend: hvad det er, og hvordan du bruger det i din virksomhed

Kvinde ved et skrivebord med to skærme, mens hun koder en micro-frontend til en it-virksomhed.

En mikro-frontend-arkitektur opdeler en browserapplikation i uafhængigt byggede og udrullede dele, hvor hvert team har det fulde ansvar for sin egen del. Én kodebase, som alle teams skal stå i kø for at ændre, bliver til flere, som hvert team leverer via sin egen pipeline. Frontend-delen holder op med at være flaskehalsen bag en backend baseret på mikrotjenester.

Det er hele løftet. Det er ikke gratis. Du får uafhængig udrulning, teknologivalg pr. del og mindre bundter; til gengæld får du en fælles platform, der skal vedligeholdes, et designsystem, der skal håndhæves på tværs af teams, og koordineringsomkostninger, som kun få teams kan bære. Med færre end tre eller fire autonome teams koster overheaden normalt mere end den monolit, den erstatter.

Så er spørgsmålet, om mikro-frontends virker? Nej. Spørgsmålet er, om din organisation er nået til et punkt, hvor de kan betale sig. Dette indlæg gennemgår, hvad en mikro-frontend er, hvordan arkitekturen fungerer sammen med mikrotjenester, de faktiske gevinster og omkostninger ved levering, hvad platformen koster at drive, samt et tjek af parathed i tre trin, som du kan bruge på din egen løsning, før du beslutter dig.

Hvad er en micro frontend?

En micro frontend består af flere små, selvstændige og modulære komponenter. Modulerne er selvstændige enheder, som kan genbruges på andre sider. Du kan skrive disse komponenter i et hvilket som helst programmeringssprog: JavaScript og JavaScript-frameworks er de mest populære valg, men alt, hvad der kan kompileres og pakkes til et JavaScript-bundle, kan importeres og sammensættes af resten af frontenden.

Tænk på et indkøbscenter. Ét tag, én indgang, én parkeringsplads, fælles skiltning, og bag hver butiksfacade indretter et forskelligt team sit eget område efter sin egen tidsplan. For kunderne fremstår det som ét samlet sted, mens butikkerne drives af dem, der har bedst forstand på den enkelte branche.

I en micro frontend-arkitektur er det præcis det samme princip. Du opdeler den monolitiske applikation i mindre stykker og koder, tester og udruller hvert fragment separat, så tværfaglige teams kan udvikle hver komponent – fra database til brugerflade – uafhængigt af hinanden. Det, der skjuler overgangene, er skallen (the shell) og det fælles designsystem: Skallen samler alle delene til én side med én navigation og én session, og designsystemet sikrer, at de har de samme komponenter og det samme visuelle udtryk.

Mønsteret blev navngivet og katalogiseret på micro-frontends.org, og Martin Fowlers team udgav den kanoniske beskrivelse af micro frontend-mønsteret, inklusive de integrationsstile, vi kommer ind på længere nede.

Kendte virksomheder, der bruger micro frontends

Her er et par kendte virksomheder, der bruger micro frontends:

  • IKEA: en europæisk møbelkæde med en omfattende onlinebutik. Deres ingeniørteams oplæg om at sammensætte sider af uafhængigt ejede fragmenter er blandt referencecasene på micro-frontends.org.
  • DAZN: en europæisk sportsstreamingtjeneste, der opererer i ni lande. Luca Mezzalira – DAZN's tidligere VP of Architecture og nu Principal Solutions Architect hos AWS – dokumenterer deres tilgang i sin O'Reilly-bog Building Micro-Frontends, som udkom i en opdateret anden udgave i 2025 (Building Micro-Frontends: Distributed Systems for the Frontend).
  • Upwork: et freelancennetværk, der forbinder selvstændige erhvervsdrivende over hele verden.
  • Spotify: denne streamingudbyder samlede desktopapplikationer fra uafhængigt udviklede frontend-dele, der var komponeret i en skal – selve værtsapplikationen, der indlæser hver del og gengiver den på siden. Spotify gik senere væk fra iframe-komposition i deres desktopklient af hensyn til ydeevnen. En nyttig påmindelse: At vælge dette mønster er en beslutning, du også kan omgøre.
  • SoundCloud: en europæisk platform til deling af musik og distribution af lyd, der leverer en ensartet oplevelse på tværs af web, mobil og indlejrede afspillere.

Betragt denne liste som bevis på, at mønsteret kan skaleres, ikke som en grund til at tage det i brug. Hver virksomhed på listen driver dusinvis af frontend-teams. Det er den forudsætning, arkitekturen er et svar på.

blue arrow to the left
Imaginary Cloud logo

En kort oversigt over micro frontend-arkitektur

Målet med en micro frontend er at give dig det, som microservices gav backenden, uden de ulemper, der følger med en stor frontend-monolit.

For at forstå, hvorfor det virker, må vi være præcise omkring to ting: hvad microservices rent faktisk ændrede på serversiden, og hvad der stædigt forblev uændret på clientsiden. Vi så begge sider af den grænse genopbygge Eurofounds frontend- og backend-integration, hvor en modulær backend stadig skulle møde en samlet frontend.

Arkitektonisk evolution fra en monolitisk applikation til mikro-frontends for din virksomhed.

Hvad er microservices-arkitektur?

Microservice-arkitektur er et designmønster inden for backend-udvikling. Hvor en monolitisk arkitektur leveres som én enhed, består microservices af flere uafhængigt deployerbare komponenter, adskilt af forretningsdomæner og forbundet via API'er.

Hvad det giver en virksomhed, er mere begrænset, end den sædvanlige liste af tillægsord antyder, og det er værd at sige direkte:

  • En ændring kan deployes uden kø. Én service kan sendes i produktion uden at alle andre services skal være klar, så antallet af teams, der venter på et release-vindue, falder til nul.
  • Kapacitet købes, hvor den forbruges. Du skalerer de to services under belastning frem for hele applikationen, hvilket gør, at infrastrukturregningen følger forbruget i stedet for spidsbelastningen.
  • En fejl er isoleret. Hvis én service går ned, forringes kun én funktion i stedet for at hele produktet lægges ned, så skadesomfanget af en hændelse svarer til størrelsen på den ændring, der forårsagede den.
  • Teknologivalg er ikke længere permanente. Hver service kan bruge det, der passer bedst, så udskiftning af én kræver ikke en beslutning for hele platformen.

Disse fire punkter er præcis de egenskaber, en frontend-monolit ikke har, uanset hvor moderne backenden bag den er. Vores guide til softwarearkitektur beskriver, hvor balancen ligger ved forskellige teamstørrelser.

Hvorfor er en frontend-monolit et dårligt match til mikrotjenester?

En frontend-monolit er klientsiden af en webapplikation, der er bygget ud fra en enkelt kodebase. Mange produkter kører stadig sådan, også produkter, hvis backend er fuldt dekomponeret. Serversiden er modulær; frontenden forbliver en helhed.

For et eller to teams er det den rette struktur. Sandheden er, at det som regel er den rette struktur i længere tid, end folk forventer. Symptomerne viser sig, efterhånden som antallet af teams, der arbejder i kodebasen, vokser, og de er specifikke nok til at holde øje med:

  • Release-konflikter. Alle teams leverer via den samme pipeline, så en release sendes først ud, når den langsomste ændring i den er klar. Ét teams fejlslagne test holder alle andres færdige arbejde tilbage.
  • Kølængde foran en ændring. En lille frontend-ændring venter på review fra folk, der ejer andre dele af kodebasen, og venter derefter på det næste release-tog. Arbejdet tager timer. Leveringstiden er uger.
  • Blast radius. En regression et hvilket som helst sted i en delt bundle kan lægge alle funktioner i den ned, så hver deployment medfører risikoen for hele frontenden frem for risikoen ved én enkelt ændring.
  • Kobling, der overlever beslutningen. Framework- og afhængighedsversioner deles, så en opgradering bliver til et projekt for hele produktet, bliver udskudt og ender med at blive en migrering – den langsomme ophobning af teknisk gæld som ingen har tid til at afvikle.

En frontend-monolit begrænser med andre ord den uafhængige levering, som var grunden til, at I valgte mikrotjenester. Det er det hul, micro frontends lukker. Og det er værd at være direkte omkring karakteren af det hul: Det er organisatorisk. Hvis forsinkelsen ligger i review-kulturen eller i et change board frem for i kodebasen, vil en opsplitning af kodebasen ikke løse problemet.

Uafhængig deployment hjælper kun, hvis leveringsprocessen bag den er disciplineret, hvilket er der, hvor de bedste agile praksisser retfærdiggør deres plads.

Illustration af kvinde med planlægningskort og tekst om 18 bedste agile praksisser i dev.
blue arrow to the left
Imaginary Cloud logo

Hvorfor bruge en micro frontend?

Med en micro frontend kan virksomheder:

  • Sikre en ensartet brugeroplevelse på tværs af enheder og tredjepartsplatforme. Hver del samles i den samme skal, så navigation, session og designtokens – de fælles værdier for farver, typografi og afstande – opfører sig ens, uanset hvor brugeren møder dem. Mekanismen er skallen og designsystemet, ikke selve opdelingen, og derfor skal begge dele have en ansvarlig fra dag ét.
  • Afkorte køen til frontend-ændringer. Et team, der ejer en del, kan frigive den uden at vente på et fælles release-tog, så en ændring bliver rullet ud, når den er klar, fremfor når toget kører. Gevinsten ses i gennemløbstiden, ikke i antallet af udviklere.
  • Skalere produktets flade uden en omskrivning. Nye funktioner tilføjes som en ny del i stedet for som en ændring i en eksisterende kodebase, så produktets formåen begrænses ikke længere af, hvad én frontend-kodebase kan rumme.
Tværfaglige end-to-end-teams, der styrer separate produktfunktioner i en mikro-frontend-arkitektur.

Dette er velegnet til teams, der allerede arbejder med uafhængig levering på backenden. Gevinsterne er reelle, men hver af dem har en pris, som gennemgås i næste afsnit.

blue arrow to the left
Imaginary Cloud logo

Hvad du får ud af micro frontends

Listen over fordele ved denne arkitektur er lang. I praksis kan de koges ned til fire gevinster, hver med sin bagvedliggende mekanisme og betingelse.

  • Ejerforhold, der går hele vejen. Et team tager ansvar for en del af produktet fra idéfasen over release til support i produktion, og det er dét, der fjerner koordineringsbesværet – ikke selve opdelingen af koden. Flere teams kan derefter arbejde på det samme produkt parallelt med langt færre forhandlinger, end en delt kodebase kræver. Betingelsen er reel autonomi: Et team, der stadig skal have godkendelse udefra, opnår intet.
  • Uafhængig deployment og den release-kadence, der følger med. Hver del har sin egen pipeline, så en funktion når produktion uden at alle andre teams skal være klar, og en rollback påvirker kun én del i stedet for hele frontenden. Det er denne gevinst, der retfærdiggør arkitekturen. Det er også den, man bør måle på.
  • Kodebaser, der er små nok til at kunne overskues. En monolitisk frontend bliver ustruktureret, fordi intet team kan overskue det hele. At holde hver del inden for et teams forståelsesramme er det, der giver renere kode og lettere test – begge dele er konsekvenser af størrelsen snarere end egenskaber ved selve mønsteret. Bagsiden af medaljen er, at det bliver sværere at teste det samlede produkt, hvilket er emnet for den næste liste.
  • Teknologivalg pr. del, inklusiv friheden til at skifte. Forskellige dele kan køre på forskellige frameworks og versioner, så ingen del af produktet er låst til et forældet valg i hele applikationens levetid, og en opgradering kan afprøves på én del, før den udbredes. Bundle-størrelsen er et tveægget sværd her: Browseren downloader kun den kode, en side har brug for, men hvis hver del sender sin egen kopi af frameworket med, kan den samlede datamængde overstige monolitens. Håndtér delte afhængigheder med omhu.
blue arrow to the left
Imaginary Cloud logo

Hvad koster en micro frontend?

Omkostningerne er de samme fire egenskaber set fra den anden side. Ingen af dem er en grund til at undgå arkitekturen. Alle kræver en ansvarlig, før du går i gang.

  • Det samlede produkt skal testes som et produkt. Hver del kan testes isoleret uden problemer. At bevise, at de fungerer sammen på tværs af uafhængige pipelines, kræver en end-to-end-testsuite og en ansvarlig person, ellers opstår der integrationsproblemer i produktionen.
  • Flere bevægelige dele i leverancen. En distribueret frontend betyder flere pipelines, flere afhængigheder mellem delene og flere måder at samle det hele forkert på. I takt med at antallet af dele vokser, stiger indsatsen for at holde overblikket over afhængighederne, så man kan deploye sikkert.
  • Konsistens er ikke længere en selvfølge. Blandede frameworks på tværs af dele kan give dig en ujævn stack, svingende ydeevne og en brugerflade, der visuelt skrider fra den ene del af produktet til den næste. Tilbage til indkøbscentret: Uden fælles skiltning og retningslinjer for lejemål ender du med en række butikker frem for en samlet destination.
  • En fast platformomkostning. Selve skallen, kompositionslaget, designsystemet og end-to-end-testsuiten skal alt sammen bygges og efterfølgende vedligeholdes, sideløbende med den ledelsesmæssige kapacitet til at koordinere flere teams. Den omkostning starter, før den første del bliver leveret, og den stopper ikke efter lanceringen.
blue arrow to the left
Imaginary Cloud logo

Micro-frontend vs. monolit: en sammenligning

De to arkitekturer løser forskellige problemer. Her er et hurtigt overblik over afvejningerne – læs det som "hvilken begrænsning arbejder du under?" frem for "hvad er bedst?".

DimensionMonolitisk frontendMikro-frontend
KodebaseÉt fælles repository, som alle ændrer iFlere uafhængigt ejede sektioner
Udrulning (Deployment)Én fælles pipeline / release trainPipeline pr. sektion, udrul efter behov
TeamstørrelseEt eller to teamsTre, fire eller flere autonome teams
Release-kadenceStyret af den langsomste ændring i batchenHver sektion leveres, når den er klar
Skadesradius (Blast radius)En fejltilstand kan lægge hele frontenden nedBegrænset til én enkelt sektion
TeknologiFælles framework og versioner; en opgradering er et projekt for hele produktetValg pr. sektion; en opgradering afprøves først på én sektion
Bundle-størrelseÉn samlet pakke, ingen duplikeringKun den kode, som en side har brug for — men risiko for duplikerede framework-kopier
TestEnklere end-to-end: én enhed at testeSektioner testes i isolation; det samlede produkt kræver sin egen e2e-testsuite
Løbende platformskomkostningerIngen ud over selve applikationenSkal (Shell) + komposition + designsystem + e2e-testsuite (≈ én ingeniør plus en ansvarlig for designsystemet)
Bedst nårRelease-flaskehalse ikke er din primære forhindringFlere autonome teams står i kø for at udrulle på den samme kodebase
blue arrow to the left
Imaginary Cloud logo

Hvad koster en micro frontend, og hvornår er den tjent hjem?

Den forretningsmæssige case er en afvejning mellem koordineringsomkostninger og leveringshastighed, og den giver kun mening ved en vis skala. Tallene herunder er vejledende snarere end universelle. Selve balancen i afvejningen er vigtigere end de konkrete tal.

  • Tærsklen for teamstørrelse. Under tre eller fire autonome frontend-teams er micro frontends generelt en underskudsforretning: Platformarbejdet og koordineringen på tværs af teams koster mere end den frigivne tid fra release-konflikter. Et enkelt team ender med et distribueret system uden nogen af de organisatoriske fordele.
  • Platform- og koordineringsomkostninger. Forvent faste omkostninger til shell-arkitekturen, det fælles designsystem, kompositionslaget og end-to-end-testsuiten. I de projekter, vi ser, svarer det nogenlunde til én fuldtidsudvikler plus en ansvarlig for designsystemet, og disse omkostninger forsvinder ikke efter lancering.
  • Hvor gevinsten ligger. Gevinsten er uafhængige releases, så mål den i cyklustid og release-frekvens frem for sparet mandskab. Teams, der går fra en fælles 14-dages release-cyklus til deres egen pipeline, oplever den største forandring. Teams, der allerede releaser dagligt, ser meget lidt effekt.
  • Sekvensering. At migrere en eksisterende monolit bid for bid bag en shell er den mest sikre vej, og det tager kvartaler snarere end sprints. En total omskrivning i ét hug bærer den samme risiko som enhver anden omskrivning.
  • Fejltyper, der tvinger en rollback. Tre fejl går igen: duplikerede framework-payloads, der gør siden langsommere end monolitten var; et designsystem, som ingen ejer, hvilket får brugerfladen til at drive visuelt mellem de enkelte dele; og versionsforskydninger, hvor dele kører med inkompatible versioner af en delt afhængighed eller kontrakt, hvilket typisk først opdages, når de deployes sammen i produktion. Hver af disse er et styringsmæssigt problem snarere end et teknisk, hvilket er grunden til, at nedenstående tjekliste for parathed handler om organisationen.
blue arrow to the left
Imaginary Cloud logo

Hvornår skal man bruge micro frontends

Micro frontend-arkitektur har klare fordele, men det er ikke en løsning, der passer til alt. Ikke alle webapplikationer egner sig til denne stil, og de afgørende faktorer er i lige så høj grad organisatoriske som tekniske.

Tjeklisten med de tre porte

Før vi tager micro frontends i brug, sender vi kandidaten gennem tre porte. Hvis bare én af dem fejler, er monolitten stadig det bedste svar, og den pågældende port er det område, der skal arbejdes på først.

  • Antal teams og autonomi. Er der mindst tre eller fire frontend-teams, der hver især kan release uden godkendelse fra et andet team? Hvis beslutninger om releases stadig skal igennem én leder eller et ændringsudvalg, fjerner arkitekturen en flaskehals, som ikke er der, hvor forsinkelsen opstår.
  • Domæneadskillelse. Kan produktet opdeles i selvstændige vertikaler med klare grænser, så en del kan eje sine egne data og sin egen brugerflade fra ende til anden? Et ERP-system med flere moduler (økonomi, CRM, HR, lager) kan nemt adskilles. En tæt sammenhængende arbejdsgang, som alle teams rører ved, kan ikke.
  • Deployment-modenhed. Kan hvert team deploye efter behov ved hjælp af feature flags – de kontakter, der gør det muligt at sende en ændring afsted i deaktiveret tilstand og aktivere den senere – med overvågning og en rollback-mulighed, de selv styrer? Micro frontends mangedobler antallet af uafhængige deployments, så en leveringsproces, der er skrøbelig med én pipeline, bliver kun værre med otte.

To understøttende betingelser er også vigtige. Separate teknologistakke til forskellige moduler bør være et reelt krav frem for en præference, og budgettet skal kunne dække de faste platformomkostninger, der er beskrevet ovenfor.

Hvis du er i tvivl om, hvorvidt micro frontends passer til dit projekt, så gennemgå de tre porte med en person, der har prøvet at gennemføre migreringen før. I sidste ende afhænger det af de specifikke forhold i din forretningsplan og ikke af arkitekturens abstrakte fordele.

Banner til web- og mobiludvikling med isometrisk skærm og smartphone-app med React-logo.
blue arrow to the left
Imaginary Cloud logo

Hvad holder delene sammen: routing, tilstand og autentificering

At opdele frontenden er den nemme del. Det, der afgør, om resultatet hænger sammen, ligger i fire ansvarsområder, som ingen enkelt del ejer, og som hver især kræver en beslutning før den første migrering frem for efter.

  • Routing. Shell-applikationen ejer de overordnede ruter og sender en matchende URL videre til den del, der ejer den; delen ejer alt under den sti. Hvis denne grænse bliver forkert, ender du med to konkurrerende routere samt en tilbage-knap, der opfører sig forskelligt i forskellige dele af produktet.
  • Delt tilstand og session. Hold den fælles flade så lille som muligt: hvem brugeren er, hvad de har adgang til, og hvilken tenant eller lokalitet de befinder sig i. Alt andet tilhører den del, der ejer dataene. Dele, der læser hinandens interne tilstand, genopbygger i det skjulte den kobling, du forsøgte at fjerne ved at opdele tingene.
  • Autentificering. Autentificér én gang i shell-applikationen, og send derefter et token, som delene verificerer mod API'et. Dele, der hver især har deres eget login-flow, skaber de ujævnheder, som brugerne lægger mærke til først.
  • Governance for designsystemet. Delte komponenter kræver en versionspolitik, en plan for udfasning og en ejer med mandat til at sige nej. Uden dette vil hver del forke den komponent, de har brug for, og interfacet vil begynde at drive fra hinanden i løbet af et kvartal.

Hjælpekomponenter, der administrerer tilstand eller kommunikerer med applikationsmiljøet i stedet for at rendere noget, kan indlæses efter behov ligesom enhver anden del. De indeholder normalt ingen brugerflade, hvilket gør dem nemme at overse, når du skal beslutte, hvem der ejer hvad.

Hvordan implementerer man en micro frontend?

Du kan integrere micro frontends på to måder: ved build-time eller ved run-time.

Build-time-integration: slices installeret som biblioteker

Containeren installerer hver slice som et bibliotek, ligesom når du installerer en pakke fra npm, Node.js-pakkeregistret. Det er sådan, det meste kode skrives i dag, og det er den simpleste løsning, der virker.

Ulemperne er årsagen til, at de fleste teams bevæger sig videre. Flere versioner af delte biblioteker skal holdes synkroniserede, hvilket ofte fører til build-problemer, hvis de ikke er det. Det er svært at kombinere forskellige teknologier. Den endelige pakke indeholder alle afhængigheder, så den bliver stor. Og da enhver ændring af en afhængighed kræver genopbygning og genudrulning af containeren, forbliver containeren og alle dens slices tæt koblede. Det er netop denne kobling, arkitekturen er skabt for at fjerne.

Run-time-integration: server-, edge- og klient-komposition

Run-time-integration sammensætter siden af uafhængigt udrullede slices, mens den serveres eller efter den er indlæst, så en slice kan udgives uden at genopbygge containeren. Der findes tre typer komposition:

  • Server-side-komposition. Backenden bestemmer, hvilken slice der skal indlæses og hvornår, hvor URL'er afgør, hvordan serveren ruter anmodninger.
  • Edge-side-komposition. Orkestreringen sker på et content delivery network (CDN), det distribuerede netværk af servere mellem din origin og brugeren. Edgen samler sider og serverer statisk materiale, hvilket aflaster origin-serveren for arbejde, den ellers skulle udføre.
  • Klient-side-komposition. En container i browseren beslutter, hvilken version af hver slice der skal indlæses, da containeren og slices udrulles separat, og anmoder om hver slice, efterhånden som der er brug for den. Dette er den mest udbredte løsning, og det gængse værktøj hertil er Module Federation – nu i version 2 og tilgængelig i Webpack 5 og Rspack – som indlæser slices fra remote entry points ved run-time. Next.js er den besværlige undtagelse, der er værd at nævne: community- @module-federation/nextjs-mf pluginnet har kun nogensinde understøttet den ældre Pages Router, aldrig den nuværende standard App Router, og vedligeholderne har markeret det til udfasning omkring slutningen af 2026. Til App Router-projekter er Vercels officielle @vercel/microfrontends pakke – bygget på en Multi-Zones-model frem for run-time chunk-stitching – nu den understøttede vej. single-spa er fortsat det primære alternativ, hvor slices er bygget med forskellige frameworks.

Ofte stillede spørgsmål

Hvad er en micro frontend helt enkelt?

En micro frontend er en del af en webapplikations brugerflade, som bygges og implementeres uafhængigt af det team, der ejer den. I stedet for én samlet frontend-kodebase, som alle ændrer i, samles siden af flere uafhængige dele under build-processen eller direkte i browseren. Hvert team kan udgive deres ændringer uden at vente på de andre.

Micro frontend vs. monolit: hvad skal vi vælge?

Vælg monolitten, medmindre flaskehalsen i jeres proces reelt er ventetid på releases. En samlet frontend-kodebase er enklere at bygge, teste og gennemskue, og det er det rigtige valg for et eller to teams. Micro frontends bliver først rentable, når flere selvstændige teams står i kø for at deploye til den samme kodebase, og det er køen – ikke koden – der bremser jer.

Hvad koster det at drive en micro frontend?

Udover selve team-omkostningerne skal du budgettere med faste platformomkostninger: shell-applikationen, kompositionslaget, et delt designsystem og en end-to-end testsuite. I de projekter, vi ser, svarer det til cirka én fuldtidsingeniør plus en ansvarlig for designsystemet, og disse omkostninger fortsætter efter lancering. Gevinsten, der opvejer dette, er hurtigere gennemløbstid, ikke besparelser på antallet af medarbejdere.

Hvor mange teams skal man være, før micro frontends kan betale sig?

Tre eller fire selvstændige frontend-teams er normalt grænsen, og autonomi betyder mere end selve antallet. Hvis alle releases stadig skal godkendes af én leder eller et change board, fjerner man en flaskehals, der aldrig var den begrænsende faktor. Hvis ét team indfører micro frontends, får man de operationelle omkostninger ved et distribueret system uden at få nogen af de organisatoriske fordele.

Hvad er de største fejl ved micro frontends?

Tre fejl går igen. At sende en kopi af frameworket med hver del, så siden ender med at være langsommere end den monolit, den erstattede. At lade designsystemet være uden ejer, så brugerfladen visuelt glider fra hinanden mellem de forskellige dele. Og at lade versioner skride mellem uafhængigt deployede dele, hvilket først opdages i produktion. Alle tre er ledelsesmæssige svigt snarere end tekniske.

Gør micro frontends siden langsommere at indlæse?

Det kan gå begge veje. Ved at opdele applikationen downloader browseren kun den kode, som den aktuelle side har brug for, hvilket er en fordel. Duplikerede afhængigheder på tværs af dele trækker i den modsatte retning og kan gøre den samlede datamængde større end før. Hvilken effekt der vinder, afhænger af, om delte afhængigheder styres bevidst, så mål hellere hastigheden for hver release frem for at tage det for givet.

Kan man migrere til micro frontends gradvist?

Ja, og det er den sikreste vej. Placer en shell foran den eksisterende monolit, udskil ét vertikalt område med klare grænser, og giv et team ansvaret for det fra ende til anden. Hver efterfølgende del følger samme proces. Forvent at migreringen tager kvartaler frem for sprints, og behold muligheden for at stoppe undervejs.

Konklusion

Micro frontends giver frontend-udviklingen det, som microservices gav backend-udviklingen: uafhængig levering ved at bytte koordineringsomkostninger ud med leveringshastighed. Den handel giver kun mening i stor skala: platformen medfører faste omkostninger, og fejltyperne er organisatoriske snarere end tekniske. Så kør de tre tjek først: antallet af teams og deres autonomi, domæneadskillelse og modenhed i deployment. Hvis et af punkterne fejler, er det vigtigere at få det løst, og så er monolitten stadig det bedste valg for nu.

Vi har bygget, vedligeholdt og migreret både micro frontends og monolitter, og vi hjælper gerne din virksomhed gennem de tre tjek – også hvis konklusionen er, at I bør blive, hvor I er. Kontakt os så tager vi et kig på det.

Alexandra Mendes
Alexandra Mendes

Alexandra Mendes er Senior Growth Specialist hos Imaginary Cloud med 3+ års erfaring med at skrive om softwareudvikling, AI og digital transformation. Efter at have gennemført et frontend-udviklingskursus fik Alexandra nogle praktiske kodningsevner og arbejder nu tæt sammen med tekniske teams. Alexandra brænder for, hvordan nye teknologier former erhvervslivet og samfundet, og hun nyder at omdanne komplekse emner til klart og nyttigt indhold for beslutningstagere.

LinkedIn

Read more posts by this author
Andre Santos
Andre Santos

Din daglige webudvikler, der kan lide at gemme sig i backend. Javascript og Ruby er min marmelade. Jeg fumler stadig med Docker, og mine bygninger går i stykker ret ofte.

Read more posts by this author

People who read this post, also found these interesting:

Dropdown caret icon