Microservices of monoliet: welke architectuurkeuze is het beste voor een MKB-bedrijf?

Bij elk nieuw applicatieproject komt deze discussie weer terug: moeten we een monolithische architectuur bouwen, die eenvoudiger op te zetten is, of meteen inzetten op microservices, die als beter schaalbaar worden beschouwd? Voor een MKB-bedrijf of een bureau is het antwoord geen kwestie van een trend. Het hangt af van concrete criteria: de omvang van het team, het budget, de complexiteit van de bedrijfsactiviteiten en de groeiambities.

Wat is een monolithische architectuur?

Een monolithische architectuur bundelt alle functionaliteiten van een applicatie — interface, bedrijfslogica, toegang tot gegevens — in één codebasis, die als één geheel wordt geïmplementeerd.

Het belangrijkste voordeel: slechts één omgeving om te configureren, slechts één implementatie om te beheren, en een team dat snel vooruitgang kan boeken zonder zich te moeten verdelen over verschillende afdelingen.

Wat is een microservices-architectuur?

Met microservices wordt de applicatie opgedeeld in onafhankelijke diensten, die elk verantwoordelijk zijn voor een specifieke functie (facturering, authenticatie, meldingen…), en die afzonderlijk worden geïmplementeerd en geschaald.

Het belangrijkste voordeel: Elk team kan zijn eigen dienst verder ontwikkelen zonder de andere teams te hinderen, en de schaalvergroting vindt per dienst plaats in plaats van voor het hele systeem.

De criteria die bepalend moeten zijn voor uw keuze

Omvang van het technische team

Onder 5 tot 8 ontwikkelaars, microservices zorgen vooral voor meer operationele complexiteit: orkestratie, gedistribueerde monitoring, versiebeheer tussen diensten. Een klein team besteedt daardoor meer tijd aan het onderhoud van de infrastructuur dan aan het leveren van toegevoegde waarde.

Bedrijfsmatige complexiteit

Een product waarvan het toepassingsgebied nog in ontwikkeling is — een typisch geval voor een jonge KMO of een MVP — is gebaat bij een monolithische opzet: de grenzen tussen de modules zijn nog niet stabiel, en als deze te vroeg worden opgesplitst in services, brengt dat bij elke koerswijziging van het product hoge kosten met zich mee.

Budget en termijnen

De monoliet blijft de snelste en goedkoopste oplossing om de markt te bereiken: minder infrastructuur die moet worden ingericht, minder DevOps-expertise die moet worden ingezet, een kortere time-to-market.

Vooruitziende schaalbaarheid

Als er vanaf het begin een zeer heterogene belasting te verwachten is — een module die een enorme piek moet opvangen terwijl de rest van de applicatie licht blijft — komen microservices pas echt tot hun recht. Anders blijft deze schaalbaarheid theoretisch en is er op korte termijn geen daadwerkelijke behoefte aan.

Waarom de monoliet vaak de juiste keuze blijft voor een KMO

Voor de meeste kleine en middelgrote ondernemingen en bureaus zijn er verschillende redenen om voor de monoliet te kiezen:

● Een klein technisch team, zonder een speciaal DevOps-team

● De noodzaak om snel te leveren om een opdracht binnen te halen

● Een functioneel toepassingsgebied dat nog regelmatig zal veranderen

● Een beperkt infrastructuurbudget

Een monoliet goed gestructureerd in interne modules kan overigens later worden opgesplitst in microservices, zodra de bedrijfsgrenzen vastliggen en het team is uitgebreid.

Wanneer moet je microservices overwegen?

Microservices worden relevant wanneer verschillende signalen samenkomen:

● Het technische team bestaat uit meer dan tien ontwikkelaars, verdeeld over verschillende teams

● Sommige modules hebben heel andere schaalbaarheidsbehoeften dan andere

● Het product is volwassen en de functionele grenzen ervan zijn stabiel

● Er is een DevOps-team opgezet om de coördinatie en de gedistribueerde monitoring te beheren

Het projectbeheer vereenvoudigen, ongeacht de gekozen architectuur

Ongeacht de gekozen technische oplossing, de begeleiding van het project — de taakverdeling onder de ontwikkelaars, tijdregistratie, offertes en facturering de aan de klant geleverde zendingen — blijft een uitdaging op zich voor een agentschap of een KMO. Juist daar komt een tool als Opla vereenvoudigt het beheer: elke module, of deze nu als monolithisch systeem of als microservice is ontwikkeld, kan als een afzonderlijke werkopdracht worden gevolgd, met een eigen budget en een eigen planning.

Bij projecten waarbij meerdere teams of meerdere klanten betrokken zijn, is de klantportaal en de toegangsbeheer zorgen ervoor dat er een duidelijk overzicht blijft bestaan zonder de interne organisatie ingewikkelder te maken — het tegenovergestelde van wat een verkeerd gedimensioneerde microservices-architectuur kan veroorzaken.

Directie app.opla.pro om de implementatie in uw volgende project te testen.

Auteur
Foto van Rodolphe Balay
Rodolphe Balay
Rodolphe Balay is medeoprichter van iterates, een webbureau gespecialiseerd in de ontwikkeling van web- en mobiele applicaties. Hij werkt met bedrijven en start-ups om op maat gemaakte, gebruiksvriendelijke digitale oplossingen te creëren die zijn afgestemd op hun behoeften.

Dit vind je misschien ook leuk

Vergelijkbare diensten

Bij elk nieuw applicatieproject komt deze discussie weer terug: moeten we…
Herhaalde taken automatiseren in Brussel - Optimaliseer uw...
Jouw WordPress website bureau in België: ontwikkeling op maat...