en / nl / sk / be

Nederlandse bedrijven storten zich op de nieuwste techtrend ‘microservices’, maar wat is het en wat kun je ermee?

15 FEBRUARI 2019 - Veel bedrijven kampen met grote en ingewikkelde IT-systemen. Steeds vaker remt die omvang de innovatie omdat elke kleine verandering grote gevolgen kan hebben voor het hele systeem. Microservices zijn een oplossing.

PayPal, de bekende specialist voor online betalingsverkeer, was slachtoffer geworden van zijn eigen succes. Ze hadden in de loop der jaren zoveel diensten en features voor klanten ontwikkeld, dat het systeem was veranderd in een moloch. Het functioneerde prima, maar iedere verandering kostte steeds meer tijd en mankracht. Iedere kleine aanpassing kon gevolgen hebben voor het hele systeem, waardoor er altijd uitgebreid getest moest worden, zodat er bij de echte deployment maar niets mis zou gaan.

PayPal loste bovenstaand probleem op met zogenaamde microservices. De functionaliteiten werden ondergebracht in losse units die verantwoordelijk werden voor één taak, soms zelfs niet meer dan de PayPal-aankoopknop voor webwinkels met de bijbehorende koppelingen. Al de microservices communiceerden vervolgens onderling via Application Programming Interface (API’s), in feite een set regels waardoor onderlinge applicaties elkaar verstaan.
Als PayPal nu een feature wil toevoegen, hoeft het alleen de microservices aan te passen die direct met de nieuwe feature van doen hebben. De rest van het systeem draait gewoon door. “Het voordeel is dat we nu sneller innoveren dan ooit tevoren”, zei CTO James Barrese in 2015 daarover tegenover Business Insider.

Een maand doorlooptijd
Het softwarebedrijf Davinci is als bedrijf van een andere schaal dan PayPal, maar ook zij liepen steeds vaker tegen dezelfde problemen, vertelt Michal Šimún, software architect bij de Slowaakse vestiging van dit Nederlandse bedrijf, gespecialiseerd in Software as a Service-oplossingen (SaaS) voor hypotheek- en andere kredietverstrekkers. Dank daarbij aan klanten als Nationale Nederlanden, Credit Agricole, Rijnlandse Hypotheekbank en Aegon.
Šimún kwam negen jaar geleden als programmeur in dienst. “We zaten hier in Bratislava met 7 man applicaties te maken.” Maar Davinci groeide snel, tot er in 2017 al 50 man op de afdeling rondliepen. Šimún, inmiddels gepromoveerd tot software-architect, moest constateren dat de situatie steeds minder werkbaar was. “We hadden een monoliet gebouwd uit heel veel bakstenen. Het werkte, maar elke keer als we voor een klant een functie moesten toevoegen, moesten we kijken of we aan die ene baksteen konden trekken zonder dat het hele systeem beïnvloed zou worden”, zegt Šimún. Dat betekende dat er elke keer uitgebreid moest worden getest – met de financiële data van de klanten mocht immers niets fout gaan – waardoor de doorlooptijd van een op zichzelf simpele wijziging opliep tot meer dan een maand.

Snel innoveren
Nog meer mensen aannemen om het proces te versnellen, was niet echt een optie. “Teammeetings met 50 man waren al niet echt meer te doen”, zegt Šimún. Alleen door het systeem op te breken, kon de organisatie de snelheid van innoveren uit de beginjaren weer terugkrijgen was de conclusie van Šimún en zijn teamInmiddels is meer dan helft van de functionaliteiten al losgeweekt van het grote geheel en in een microservice ondergebracht.
De voordelen van microservices zijn groot vindt Šimún. “De sprints (een vastgestelde periode waarin een project door een team moet zijn afgerond, red.) zijn veel effectiever met kleine teams. We kunnen dankzij die microservices meerdere deployments per dag doen. Een ander groot voordeel is dat je veel gemakkelijker kunt overstappen op nieuwe technologie. Vroeger bij een monoliet zat je vaak vast aan de techniek die je in het begin had gekozen”, aldus Šimún.

Microservices kunnen een uitkomst zijn voor bedrijven die merken dat innovatie steeds lastiger gaat omdat de systemen door de jaren heen zijn uitgedijd door het toevoegen van alsmaar meer functionaliteiten. Klanten zijn blij omdat ze sneller geholpen worden en het bedrijf kan als geheel sneller innoveren. Maar, zo waarschuwt Šimún, het vergt ook wel iets van de organisatie en de programmeurs. “Een van de grote uitdagingen is dat data consistent blijft over alle microservices heen.”

Elk systeem moet met precies dezelfde data werken – zeker niet onbelangrijk bij een softwarebedrijf waar in de cloud gegevens over hypotheken worden verwerkt. Dat vergt dat de programmeurs zich nauwgezet aan de regels moeten houden. “Ik vergelijk het wel met een symfonieorkest. Iedereen heeft zijn eigen instrument, maar je moet wel zorgen dat ze precies dat bijdragen aan het stuk wat nodig is.”

 

Dit artikel is geschreven door Business Insider in samenwerking met Davinci.