Microservices is bovenal een business keuze

Meerdere redenen en invalshoeken pleiten ervoor om in microservices te denken en te werken.

microservice-architecture-What-Are-Microservices-edureka-1

Binnen Nerds & Company maken we digitale platformen die we in een aantal voorkomende situaties opbouwen uit microservices.

Wat zijn microservices?

Microservices zijn onafhankelijke kleinere stukjes software die een op zich staand resultaat of taak leveren. De combinatie van deze resultaten vormen een product en dat is wat het complete platform voor onze klant betekent. Met een koppeling via een (REST)interface is een microservice een flexibel en zelfstandig te bouwen en te testen eenheid. Vanuit een logische opbouw wordt er veelal rekening gehouden met een presentatie-, logica- en een datalaag.

Meerdere redenen en invalshoeken pleiten ervoor om in microservices te denken en te werken.

Scrum

Binnen onze organisatie werken we met scrum waardoor we de mogelijkheid hebben om flexibel en schaalbaar aan microservices te werken. De verschillende delen zijn eenvoudig te testen en daarna te integreren in het geheel. Na lancering van een platform blijf je als klant flexibel en schaalbaar. Een microservice kan immers uitgebreid, vervangen of zelfs ingeruild worden voor een commerciële of andersoortige variant.

Data opslag

Data werd in het verleden veelal in de onderliggende infrastructuur-laag centraal opgeslagen. Een moeder-bestand voor de data die daardoor“schoon blijft” was vaak het daarvoor geldende argument. Met als resultaat vaak complexe koppelingen en logheid van de data. In de gedachte van microservices wordt deze data echter dicht opgeslagen bij de desbetreffende microservice. Lichtvoetigheid en een directe interfacing zijn dan ook de beoogde gevolgen van deze keuze voor microservices vanuit een infrastructuur perspectief.

Monoliet

Het solitaire karakter van de microservice geeft vele mogelijkheden waarbij er vanuit het schrijven van de code de mogelijkheid ontstaat om agnostisch te blijven. Dit wil niets anders zeggen dan dat de ontwikkelaars de vrijheid hebben om in de beste taal voor de toepassing in kwestie te schrijven. Binnen een monolitisch systeem zal er daarentegen een taalkeuze voor het geheel gemaakt worden.

Nu dan toch de term monolitisch al is gevallen, brengt dit ook de mogelijkheid om een ander groot verschil tussen het monolitische systeem en de agnostische microservices te bespreken.

Lichtvoetigheid

In de situatie van een monoliet ben je vastgeketend aan de ontwikkelsnelheid en de ontwikkelrichting van de leverancier. Wanneer jouw wens niet in de roadmap zit van de monoliet dan is dat het gevolg van die keuze. Bij microservices is het juist de kracht dat alle toekomstige keuzes mogelijk zijn en dat is buiten de technische redenen die je van een digitaal bureau zou verwachten, wellicht de meest zwaarwegende reden voor onze klanten vanuit de business-optiek. Immers toekomstige lichtvoetigheid betekent versnelling, tractie en conversie. Dan zijn er niet alleen honderd technische redenen te verzinnen voor microservices, maar ook een tiental spreekwoorden die als uitgangspunt hebben dat het vermogen om je te kunnen aanpassen, het succes in de toekomst versterkt.

Auteur

Adrian Ariese