Monolitische systemen of microservice architectuur?

Remi Buijvoets

RemiLead Developer

remi-blog-cube-microservices.jpg

De impact van een goede software architectuur.

Software neemt een steeds prominentere rol in bij het beheersen van bedrijfsprocessen. Zowel interne bedrijfsprocessen als bijvoorbeeld marketingtools. Het belang van goed functioneren van software is daarom erg belangrijk. Het ICT landschap verandert in een tempo dat door organisaties zelf amper bij te houden valt. En deze versnelling verloopt veelal exponentieel. Het is te verwachten dat ontwikkelingen de komende tien jaar nog veel heftiger zullen zijn dan die van het afgelopen decennium. Hoe onvoorstelbaar dat ook lijkt. Niemand weet wat bijvoorbeeld blockchain technologie de komende jaren mogelijk zal maken. En met de uitrol van 5G, gecombineerd met het breed toepassen van Internet of Things gaan ontwikkelingen sneller dan ooit tevoren. AI (kunstmatige intelligentie) gaat ook voet aan de grond krijgen.

Ontwikkelingen

Tegelijk met het versnellen van webtechniek zien we ook een versnelling van de maatschappij. Waar de gemiddelde levensduur van grote bedrijven in de jaren ‘50 nog ongeveer 65 jaar was, is dit al teruggelopen naar 15 jaar. Dit betekent ook dat bedrijven zelf ook veel sneller veranderen. Ontwikkelingen in bedrijfsvoering en cultuur zijn een continue proces, en staan nooit stil. Omdat software altijd ondersteunend moet zijn aan de bedrijfsvoering, worden er dus ook steeds meer eisen gesteld aan de flexibiliteit van deze software. En terecht.

remi-blog-2-microservices-cube.jpg

Wedden op één paard

Sommige organisaties kiezen er voor om een groot integraal systeem te laten ontwikkelen of in huis te halen. Een monolithisch systeem. Vaak gaat dit gepaard met een grote implementatie, begeleid door een team van consultants. Door de gigantische omvang van de software zijn dit erg kostbare trajecten. Om de investering te kunnen verantwoorden worden er licenties afgesloten voor langere periode.

Ondertussen ontwikkelen webtechnieken zich en verandert de organisatie. De monolithische ICT infrastructuur van de organisatie kan dit niet bijhouden. Logisch, gezien de complexiteit en omvang. Doorontwikkelingen en uitbreidingen zijn kostbare en langdurige trajecten. En omdat er reeds flink is geïnvesteerd, is er ook geen weg terug. Wedden op één paard dus. Een erg kostbaar en traag paard.

Koppelen

In plaats van een allesomvattende enterprise applicatie adviseren wij in het creëren van een landschap van kleinere applicaties die elkaar ondersteunen. Een microservice architectuur. Door het slim inrichten van koppelingen kunnen deze kleinere applicaties samenwerken om als geheel een naadloze ICT landschap te vormen. Met een Single Sign On oplossing hoeven gebruikers niet eens te merken dat ze in een heel scala aan applicaties werken.

En mocht er door veranderende inzichten, of vooruitgesnelde techniek een applicatie vervangen moeten worden, dan zijn de kosten veel overzichtelijker.

Sneller anticiperen

Veel van deze applicaties voeren een kleine set met taken uit. Dit maakt de kans ook groter, dat er gekozen kan worden voor een standaard oplossing. Aangevuld met gerichte op-maat ontwikkelde applicaties vormen deze een perfecte suite aan tools.

Je organisatie kan zich veroorloven af en toe de nek uit te steken. Nieuwe ontwikkelingen in gang zetten, terwijl er nog een onzekere factor is. Een keuze die met een monolithische architectuur een onverantwoord groot risico met zich meebrengt.

"Wij geloven in een landschap van elkaar ondersteunende applicaties. Applicaties die na verloop van tijd relatief eenvoudig kunnen worden vervangen. Applicaties die een beperkte set met taken kunnen afhandelen, maar daar ijzersterk in zijn. Maar vooral applicaties die elkaar versterken. In een optimale mix van standaard software in combinatie met goed maatwerk."

Ervaring

Cube heeft ruime ervaring met het inzetten van applicaties die de bestaande ICT landschap kunnen ondersteunen. Zo hebben we een aantal organisaties geholpen met slimme inplugbare applicaties binnen bestaande webomgevingen. Hierdoor kon snel worden geanticipeerd op een veranderende markt.

We richten met regelmaat een landschap in, waarbij wij meerdere applicaties ontwikkelen. Aan de voorkant een scala een zichtbare applicaties, website of apps. Op de achtergrond ondersteund door applicaties waarin data goed zit opgeborgen; en dat alles gekoppeld met slimme API’s. Bijkomend voordeel is dat data veel breder inzetbaar wordt, en persoonsgegevens beter zijn afgeschermd.

Meedenken

Cube denkt graag mee over de inrichting van een dergelijk landschap. We kunnen snel inschatten waar winst valt te behalen, en waar we een applicatie van toegevoegde waarde kunnen inzetten. Het begint vaak klein. Je hoeft niet direct afscheid te nemen van je bestaande systemen. Een migratie naar een microservice architectuur kan in stappen. Behapbare kleine stappen.