Gå tillbaka

Microservices

Vad är Microservices?

Microservices (mikrotjänster) är en arkitekturstil för att bygga mjukvara där en applikation delas upp i en samling små, oberoende tjänster. Varje tjänst har en specifik uppgift (t.ex. "hantera kundvagn" eller "skicka e-post") och kommunicerar med andra tjänster via väldefinierade gränssnitt, ofta ett API. Detta står i kontrast till den traditionella "monoliten" där all kod ligger i en enda stor klump.

Varför Microservices är viktigt

I en monolit kan en liten ändring i koden riskera att krascha hela systemet, och att skala upp kräver att man kopierar hela jätte-appen. Med Microservices kan team arbeta oberoende av varandra. Om betalningstjänsten behöver uppdateras kan man göra det utan att störa resten av appen. Detta möjliggör snabbare utveckling och smidigare DevOps-flöden.

Hur fungerar Microservices i praktiken?

Tekniken bakom mikrotjänster är ofta starkt kopplad till containerisering.

  • Oberoende: Varje tjänst kan skrivas i olika programmeringsspråk och ha sin egen databas.
  • Containrar: Tjänsterna paketeras ofta i Docker-containrar för att enkelt kunna flyttas och köras var som helst.
  • Orkestrering: För att hålla reda på alla hundratals små tjänster används ofta Kubernetes som dirigent.

Vanliga frågor om Microservices

Är Microservices alltid bättre än en monolit?

Inte alltid. Microservices introducerar komplexitet i nätverk och övervakning. För mindre, enkla applikationer kan en monolit vara effektivare. Men för stora, komplexa system som behöver hög tillgänglighet är mikrotjänster överlägset.

Hur kommunicerar tjänsterna?

De pratar med varandra över nätverket, oftast via REST API:er eller meddelandeköer som Azure Service Bus för asynkron kommunikation.

Viktiga punkter att ta med sig:

  • Microservices delar upp stora system i små, självständiga delar.
  • Möjliggör snabbare uppdateringar och bättre feltolerans via CI/CD.
  • Använder ofta tekniker som Docker och Kubernetes.