Microservices is een aanpak om software te bouwen waarbij één applicatie wordt opgeknipt in veel kleine services die elk één verantwoordelijkheid hebben en zelfstandig draaien. In plaats van één groot programma heb je een betaalservice, een gebruikersservice, een notificatieservice enzovoort, elk apart te bouwen, te deployen en te schalen.

Denk aan een grote restaurantketen versus een food court. In de keten kookt één gigantische keuken alles, dus een probleem bij het dessertstation kan de hele lijn ophouden. In een food court runt elke kraam zijn eigen keuken met eigen personeel en openingstijden; als het bij de pizzakraam stormloopt, blijft de sushikraam serveren. Microservices geven software die food-courtstructuur: een storing of drukte bij één service hoeft de rest niet plat te leggen. De services stemmen op elkaar af door elkaars API’s aan te roepen, vaak via een API gateway die verzoeken naar de juiste plek stuurt.

Die flexibiliteit heeft een prijs. Meer services betekent meer netwerken, monitoring en deploys om te beheren, en daarom beginnen veel teams met een modulaire monoliet en splitsen ze pas services af als er een duidelijke noodzaak opduikt.

Het lastigste zit meestal niet in de code maar in de data. In een monoliet beantwoordt één database een vraag in één query; verspreid over services raakt diezelfde vraag er soms drie, en ze consistent houden zonder gedeelde tabel is een echt vraagstuk. Een klassieke beginnersfout is splitsen langs technische laag in plaats van langs bedrijfsfunctie, waardoor elke wijziging door de helft van de services golft en alle koppeling terugbrengt die microservices juist moesten weghalen. Goed gedaan volgen de grenzen hoe het bedrijf echt werkt, zodat één team zijn service op dinsdag kan releasen zonder op iemand te wachten.

Bij TopDevs kiezen we deze architectuur alleen als schaal en teamomvang er echt om vragen, zodat klanten het voordeel krijgen zonder te betalen voor complexiteit die ze niet nodig hebben.