Microservices

Microservices is een architectuurpatroon waarbij een applicatie is opgebouwd uit kleine, onafhankelijke diensten die elk een specifieke functie uitvoeren en via API's met elkaar communiceren. Het tegenovergestelde is een monoliet — één grote applicatie.

Microservices vs. monoliet

MonolietMicroservices
DeploymentGeheel tegelijkPer dienst onafhankelijk
SchaalbaarheidAlles of nietsPer dienst schalen
Operationele complexiteitLaagHoog
FoutgrenzenÉén fout kan alles rakenFouten blijven geïsoleerd

Voordelen

  • Teams kunnen onafhankelijk aan diensten werken
  • Elke dienst kan in een andere taal of framework worden geschreven
  • Individuele diensten schalen op basis van vraag

Nadelen

  • Netwerkcommunicatie tussen diensten voegt latency en faalopties toe
  • Gedistribueerd debuggen is complexer
  • Vereist goede orchestratie

Zie ook

  • api — communicatie tussen microservices
  • kubernetes — microservices orkestreren
  • container — microservices draaien vaak in containers
  • load-balancer — verkeer verdelen over instanties
ictarchitectuur