Microservice

Een microservice is in de software engineering een architectuurvariant van de service georienteerde architectuur. Het is een architectectonisch patroon dat een toepassing creëert met verschillende achtergronddiensten die verbonden worden met API's. Deze API-verbinding moet zo eenvoudig mogelijk zijn om de voordelen van dit patroon te kunnen zien, zoals bijvoorbeeld dat een dergelijke service makkelijk vervangen of uitbesteed kan worden. Deze verbindingen tussen de services moeten zorgvuldig ontworpen worden om te zorgen dat de toepassing als geheel goed werkt. De uitwerking kan nog behoorlijk verschillen, bijvoorbeeld of de diensten samen een database delen, of dat ze ieder hun eigen database hebben.

Voordelen

  • Modulariteit - Applicaties die bestaan uit microservices kunnen gemakkelijker uitgebreid en aangepast worden. Ook zorgt het ervoor dat de kans op architectuurerosie verkleind wordt.
  • Schaalbaarheid - Met microservices is het een stuk makkelijker om een deel van de applicatie meer capaciteit te geven als daar vraag naar is. Als de applicatie uit één geheel zou bestaan zou men de capaciteit van die hele applicatie moeten verhogen, bij microservices verhoogt men alleen de capaciteit van de desbetreffende service.
  • Integratie - Een applicatie die bestaat uit één geheel kan geleidelijk aan vervangen worden door microservices, dit hoeft niet in één keer.
  • Gedistribueerde ontwikkeling - Ontwikkelaars die aan dezelfde applicatie werken maar verschillende services, kunnen dit los van elkaar doen. Ze passen immers maar één service aan terwijl hun collegaontwikkelaars gewoon door kunnen, of slechts minimale concrete aanpassingen moeten doen.