Sobes.tech
Junior

Wat zijn microservices?

sobes.tech AI

Antwoord van AI

Microservices zijn een architectuurstijl waarbij de applicatie wordt opgebouwd als een verzameling kleine, autonome services, elk met een specifieke bedrijfsfunctie.

Belangrijkste kenmerken:

  • Klein en gefocust: Elke service lost één specifiek probleem op.
  • Autonoom: Kan onafhankelijk worden ontwikkeld, uitgerold en geschaald.
  • Gedecentraliseerd gegevensbeheer: Elke service kan zijn eigen database hebben.
  • Interactie tussen services: Meestal via lichte protocollen (bijvoorbeeld REST, gRPC).
  • Veerkracht tegen storingen: Het falen van één service hoeft niet te leiden tot het falen van de hele applicatie.
  • Technologische heterogeniteit: Verschillende services kunnen verschillende programmeertalen en technologieën gebruiken.

Voordelen:

  • Versnelde ontwikkeling en uitrol.
  • Betere schaalbaarheid van individuele componenten.
  • Verhoogde veerkracht.
  • Eenvoudigere implementatie van nieuwe technologieën.

Nadelen:

  • Toegenomen systeemcomplexiteit.
  • Beheer van gedistribueerde transacties.
  • Moeilijkheden bij monitoring en debugging.
  • Vereist een meer volwassen DevOps-cultuur.

Vergelijking met monolithen:

Kenmerk Microservices Monolith
Grootte Kleine, gefocuste services Eén grote applicatie
Uitrol Onafhankelijke uitrol van services Uitrol van de hele applicatie
Schaalbaarheid Schaalbaarheid van individuele services Schaalbaarheid van de hele applicatie
Veerkracht Hoog (uitval van één service is niet kritisch) Laag (uitval van een component beïnvloedt alles)
Technologieën Mogelijkheid om verschillende stacks te gebruiken Eendrachtige technologische stack
Ontwikkelteam Kleine autonome teams Eén groot team
Complexiteit Hoog (interactie tussen services) Laag (voor eenvoudige applicaties)
Gegevensbeheer Gedecentraliseerd Gecentraliseerd