Home / Blog / Achtergronden / Monolith versus Microservices
Je hebt er vast wel eens van gehoord: Microservices. Microservices is een nieuwe trend als het gaat om software ontwikkeling. Dat komt onder meer door ideeën als DevOps, continuous integration en delivery, containers en PaaS (Platform as a Service) die draaien om het mogelijk te maken echt modulaire enterprise producten te bouwen.
Maar zoals voor alle nieuwe trends geldt: bezint eer gij begint. Je hoeft niet met alles klakkeloos mee te doen om succesvol te zijn. Wel is het natuurlijk goed om op de hoogte te zijn. Dus, wat zijn de voordelen en nadelen bij het gebruik van Microservices? Wanneer is het beter om Microservices te gebruiken en wanneer kan je beter gebruik maken van monolithische architectuur? Wij proberen het je hier kort uit te leggen.
Ten eerste refereert ‘micro’ niet aan de omvang van een service maar vooral aan de scope ervan. Een kleinere scope betekent vaak ook een minder grote service, wat weer minder code behoeft.
Met microservices split je eigenlijk je applicatie in kleine delen. Je codebase is makkelijker te managen en als je dit dus goed aanpakt, heb je het in de toekomst ook makkelijker om nieuwe functionaliteit aan je applicatie toe te voegen. Met een monolithische architectuur kan dit veel lastiger zijn, zeker als je applicatie erg groot is.
De voordelen van Microservices kunnen we opdelen in een aantal belangrijke pijlers:
SOA (Service Oriented Architecture) heeft betrekking op delen zelfstandige functionaliteit die diensten bieden aan andere componenten. De services zijn verbonden in een netwerk. Je kunt Microservices zien als SOA 2.0 en dan met name vanwege de belofte van SOA die door Microservices waargemaakt wordt. Door meerdere Microservices te gebruiken kun je nu de volledige functionaliteit van een applicatie afdekken.
Een belangrijk verschil tussen Microservices en SOA is de integratie van de services. Er worden bij Microservices geen Enterprise Service Bussen gebruikt met veel intelligentie of webservices gebaseerd op zware protocollen (SOAP). De logica die nodig is wordt opgenomen in zelfstandige componenten: de zogenaamde microservices. Daardoor kan met lichte service protocollen gewerkt worden (JSON, REST).
Voor applicaties die niet bedoeld zijn om veel groter te worden in de toekomst, kan je het beste wel een monolithische structuur blijven gebruiken, aangezien Microservices ook een aantal heikele punten met zich meebrengt. Het is dan wel gemakkelijker om Microservices te deployen, maar dat voordeel gaat alleen op in vergelijking met grote monolithische structuren.
Als je besluit om Microservices te gaan gebruiken loop je ook aan tegen de complexiteit van het distribueren van de services naar de verschillende servers op verschillende plekken. En het werk om dat allemaal te managen. Bouwen in Microservices zal je helpen op de langere termijn als je applicatie groot wordt. Maar voor kleinere applicaties is het gewoon gemakkelijker om het bij de monolithische structuur te houden.
Senet Eindhoven Gestelsestraat 258 5654 AM Eindhoven Bekijk op kaart
+31(0)40-2930395
KvK nummer: 17115078 Btw nummer: NL807989083B01