IT og digitalisering

Monolit eller microservices? Svaret afhænger af din organisation

Debatten om monolit vs. microservices er ikke død. I dag handler arkitekturvalg bare mindre om trends og mere om organisatorisk modenhed, teamstruktur og evnen til at håndtere kompleksitet. Her er, hvad erfaringerne peger på.

Microservices var svaret – men på hvad?

Microservices opstod som et svar på reelle problemer: store, tunge kodebaser, langsomme releases og teams, der konstant blokerede hinanden. Ved at splitte systemer op i mindre, selvstændige services kunne man i teorien opnå hurtigere udvikling, bedre skalerbarhed og mere autonome teams. 

Og i mange organisationer virkede det – i hvert fald i starten. 

Problemet er, at microservices ofte blev adopteret som arkitektonisk standard, snarere end som et situationsbestemt valg. Resultatet er, at mange i dag sidder med systemer, der er teknisk avancerede, men organisatorisk skrøbelige. 

Når microservices bliver en distribueret monolit

Et velkendt antipattern er den såkaldte distributed monolith: Et system, der på papiret består af mange services – men i praksis opfører sig som én stor klump. 

Typiske symptomer er: 

  • ændringer kræver deploy af flere services samtidigt
  • services deler databaser eller tætte synkrone afhængigheder
  • releases koordineres centralt
  • fejl ét sted forplanter sig hurtigt gennem systemet

Det er her, begrebet “distribueret monolit” giver mening: Du har fået al kompleksiteten fra et distribueret system – men uden fleksibiliteten. Systemet er blevet sværere at forstå, sværere at teste og sværere at drifte, uden at udviklingshastigheden reelt er steget. 

Monolitten er ikke død – den har fået bedre værktøjer

Samtidig er synet på monolitter blevet mere nuanceret. I dag taler man oftere om modulære monolitter: systemer, der stadig deployes samlet, men som internt er opdelt i klare domæner og moduler. 

En sådan monolit kan være overraskende behagelig at arbejde med. Den er nem at debugge, nem at teste og nem at få overblik over. For mange teams betyder det færre overraskelser i produktion og mindre tid brugt på at forstå, hvorfor noget gik galt et helt andet sted i systemet. 

Det betyder ikke, at monolitter er løsningen på alt – men de er langt fra den forældede arkitektur, de nogle gange bliver fremstillet som. 

Arkitektur følger organisation – ikke omvendt

Et af de vigtigste – og mest oversete – principper i arkitektur er Conway’s Law: Systemers struktur afspejler organisationens kommunikationsmønstre

Arkitektur kan med andre ord ikke adskilles fra organisationen. Systemer ender med at afspejle, hvordan teams kommunikerer, træffer beslutninger og tager ansvar. 

Microservices fungerer derfor bedst i organisationer, hvor teams har reelt ejerskab, kan deploye selv og også tage ansvar, når noget går i stykker. Hvis beslutninger stadig skal forbi flere led, eller hvis drift er noget “andre” tager sig af, kan microservices hurtigt blive en kilde til frustration. 

Hvis organisationen ikke er gearet til det, vil arkitekturen ikke redde situationen. Tværtimod kan den forstærke friktion, misforståelser og teknisk gæld. 

DevOps, platforme og den skjulte kompleksitet

Noget af det, der ofte undervurderes, er den driftsmæssige omkostning ved microservices. Microservices stiller høje krav til DevOps-modenhed. CI/CD, observability, logning, tracing, incident-håndtering og sikkerhed bliver ikke nemmere – de bliver flere. 

Mange organisationer opdager for sent, at: 

  • hver service kræver pipeline, monitorering og support
  • fejl bliver sværere at lokalisere
  • driftsansvaret fragmenteres
  • platform engineering bliver en forudsætning, ikke et valg

Microservices fjerner med andre ord ikke kompleksitet – de flytter den. Derfor er det vigtigt, at organisationen er klar til at håndtere den dér, hvor den ender. 

Så… hvornår giver hvad mening?

Microservices giver god mening, når der er klare domæner, autonome teams og et reelt behov for uafhængige releases og skaleringsprofiler. Her kan arkitekturen understøtte både tempo og robusthed. 

En monolit – gerne modulær – giver ofte bedre mening, når teamet er mindre, domænet stadig er under udvikling, og overblik og stabilitet er vigtigere end maksimal fleksibilitet. Det er ikke et kompromis, men et bevidst valg. 

Hvornår skal du vælge hvad?

Microservices giver typisk mest værdi, når: 

  • teams arbejder reelt uafhængigt
  • domæner er tydeligt afgrænsede
  • services har forskellige skaleringsbehov
  • releases kan ske uden koordinering
  • organisationen har moden drift og platform

En (modulær) monolit er ofte det bedste valg, når: 

  • teamet er lille eller tæt samarbejdende
  • domænet stadig er under udvikling
  • ændringer går på tværs af funktionalitet
  • overblik og hurtig læring vejer tungere end ekstrem skalerbarhed 

Arkitektonisk realisme: vælg det, der passer nu

Den måske vigtigste pointe er denne: Arkitektur er ikke en beslutning, du træffer én gang. Det er noget, du justerer i takt med, at organisationen og systemet udvikler sig. 

Det klogeste valg er det, der fungerer i hverdagen – for de mennesker, der skal leve med systemet, når præsentationerne er lukket, og produktionen driller klokken 02.17. 

Kursus

DevOps Tools: Docker and Kubernetes for developers

This two-day course takes you through building, integrating and running containers. You will learn how Docker and Kubernetes work and how to reach maximum benefit of these new DevOps technologies.

Kursus

DevOps Tools: Docker and Kubernetes for developers

This two-day course takes you through building, integrating and running containers. You will learn how Docker and Kubernetes work and how to reach maximum benefit of these new DevOps technologies.

Læs mere:

Tema

IT og digitalisering

Se IDAs tilbud IT-arkitektur, cybersikkerhed, UX, UI, AI og machine learning, programmering og softwareudvikling, datascience, compliance og datasikkerhed.

Tema

Kursusoversigt

Få adgang til et bredt udvalg af kurser hos IDA, skræddersyet til STEM-uddannede. Sikr din markedsværdi og udvikl dine kompetencer hele karrieren

Kontakt

Få hjælp nu

Find relevante, kvalitetssikrede kurser og efteruddannelse.