Microservices: van A tot Z

Gemiddeld genomen duurt het 4 tot 6 maanden om een applicatie te bouwen en te implementeren. Hoe groter de applicatie, hoe langer de tijd die nodig is voor de uitvoering ervan. Is er een realistische manier om de tijd te verkorten die nodig is vanaf de creatie van een applicatie tot aan de implementatie? Het antwoord is: Microservices. De beste manier om complexiteit te verminderen en implementatiecycli te verkorten.

Development
8 april 2020
Martijn van der Put

Wat zijn micorservices?

Microservices is een framework waarin ontwikkelaars elke functie van een applicatie opsplitsen in afzonderlijke entiteiten. Elke functie wordt opgesplitst in aparte microservices en wordt onderhouden door verschillende teams van ontwikkelaars. 

Eenmaal ontwikkeld, kunnen deze microservices met elkaar communiceren en een volledige applicatie vormen. Elke microservice is verpakt als een API zodat ze kunnen verbinden en communiceren met andere API’s. 

In een traditionele omgeving worden applicaties niet op deze manier ontwikkeld. Het monolithische model is veelal gebruikt om nieuwe applicaties te creëren.


Waar gaat het monolithische model over? 

Het monolithische model gaat over applicaties in één groot gedeelte. Alle functies in de applicatie creëren ze in eenzelfde blok. Voor ontwikkelaars handig, omdat ze alles onder een dak kunnen creëren, maar deze methode brengt uitdagingen met zich mee voor snelgroeiende bedrijven. Wanneer dagelijks nieuwe functies toegevoegd worden, blijkt dit onhandig. 

Met elke nieuwe functie of update wordt de code langer en complexer. Het opsporen van bugs of fouten wordt lastiger. Als voorbeeld nemen we het bedrijf, de applicatie van Uber. De kernfuncties van deze applicatie zijn:

  • Beschikbare voertuigen
  • Promocodes
  • Betalingen
  • Kaart
  • Achtergrondcontroles
  • Vorige ritten
  • Steden

Wanneer je ze bekijkt, dan kan elke functie samengevoegd worden om één applicatie te maken. Echter, na verloop van tijd groeit het aantal gebruikers en dit vraagt om innovatie. Naarmate meer functies toegevoegd worden, wordt de code ook groter, waarmee de complexiteit toeneemt. 

De meest voor de hand liggende redenen waarom monolithische modellen complex zijn:

  • De code is te lang en dit maakt het complex.
  • Wanneer de code complex is, kost het tijd kleine wijzigingen aan te brengen of iets nieuws toe te voegen.
  • Lange implementatietijden veroorzaken problemen voor het bedrijf. 
  • Er ontstaat wrijving tussen bedrijfsleiders of managers en het ontwikkelingsteam.

Is microservices vergelijkbaar met services-oriented architecture? 

Hoewel microservices op het eerste gezicht vergelijkbaar lijken met SOA, zijn ze op veel niveau anders. Enkele verschillen:

  • De omvang van microservices is veel kleiner dan die van een SOA.
  • SOA streeft naar het hergebruiken van componenten, terwijl microservices vooral gericht zijn op het minimaliseren van het hergebruik van code. 
  • SOA verkrijgt gegevens vanuit een centrale locatie, terwijl microservices voor elk service gebruikmaken van een lokale gegevensbron.


Wat zijn de voordelen van microservices? 

Enkele voordelen van microservices: 

  1. Het maakt onafhankelijke ontwikkeling en implementatie mogelijk. 
  2. Data is geïsoleerd met een afzonderlijke database voor elke microservice. 
  3. Je krijgt kortere codefragmenten die beheersbaar zijn.
  4. Schalen is relatief eenvoudig. 
  5. Je kunt kleine individuele teams toewijzen om elke functie te onderhouden.
  6. Je kunt een zeer veerkrachtige applicatie bouwen.
  7. Het kan de kosten voor het inwerken van medewerkers in je organisatie verlagen.


Wat zijn de uitdagingen van microservices?

Microservices klinken misschien als de beste optie, maar zijn niet voor iedereen. 

  1. In vergelijking met monolithische modellen is dit complexer om op te zetten en te onderhouden. 
  2. Testen kost veel tijd in een microservices-framework.
  3. Netwerklatentieproblemen kunnen veelvoorkomend zijn.
  4. Het kan moeilijk zijn om gegevensintegriteit te behouden met microservices. 


Conclusie

Ondanks dat microservice-frameworks veel probleem kunnen oplossen, zijn microservices niet geschikt voor alle bedrijfsmodellen. Het kan kostbaar zijn om een framework te implementeren en te onderhouden. 

Wil je meer informatie? Vul dan onderstaand formulier in.

Cookies
Deze site gebruikt geanonimiseerde cookies. Klik op "Akkoord" als je akkoord gaat met het gebruik van cookies, of klik op "Aanpassen" om je voorkeuren te bepalen.
Deze site gebruikt geanonimiseerde cookies.