IT services ontvlechten

Ontvlechten met microservice-architectuur

** Available in Dutch only **

Digitalisering en automatisering staan in deze tijden niet meer bovenaan de agenda van MKB+ bedrijven. De meeste processen worden al breed ondersteund door IT systemen. Door het goedkoper worden van geavanceerde IT oplossingen, is de markt overspoeld met apps, services en andere clouddiensten. Dit heeft ertoe geleid dat er meerdere systemen gebruikt worden, maar er geen duidelijk overzicht is van wat al deze losse applicaties doen en welke koppelingen en informatie nodig is om ze te laten werken. Deze ontwikkelingen hebben nieuwe uitdagingen gecreëerd op gebied van informatiemanagement. Namelijk, het ontvlechten van informatiestromen en informatietechnologie.

Als jonge IT ondernemer kom ik vergelijkbare situaties tegen in verschillende industrieën. Bedrijven hebben gelijksoortige problemen, maar ieder hanteert hun eigen “maatwerk” methode om deze problemen te tackelen. Dat deze oplossingen verschillend zijn is logisch, dat geeft een bedrijf immers een eigen gezicht. Echter als je IT gaat zien als bouwstenen voor een oplossing, kun je een hele hoop van deze bouwstenen hergebruiken en onafhankelijk van elkaar vervangen. In een klimaat waar business snel verandert is het belangrijk om snel te kunnen schakelen. Het enige wat je nodig hebt om dit te bereiken is de juiste mindset.

Een van DUODEKA’s startups, Mr. Winston, is een horeca kassasysteem. Toen wij in contact kwamen met de markt, leerden wij dat een kassasysteem meer is dan een registratiesysteem voor bestellingen en rekeningen. Gebruikers zien het kassasysteem als het centrale punt waar informatie wordt uitgewisseld op de werkvloer. Het gaat hier dus ook om onder andere klantenloyaliteit, productinformatie, tafelbezetting, workflow ondersteuning, personeelsplanning en voorraadbeheer. Kortom, een hoop informatie die essentieel is voor de voeding van CRM-systemen, boekhoudsystemen, inkoopsystemen, reserveringssystemen, business intelligence systemen en andere bedrijfskritische systemen.

Microservices

In deze situaties – waar de functionele scope van het IT landschap gigantisch is – is het verstandig om te kijken naar alternatieven voor een traditionele monolithische architectuur. De implementatie van een microservice architectuur zou in deze gevallen een voor de handliggende keuze kunnen zijn, die – wanneer goed geïmplementeerd – zelfs een strategische enabler kan zijn. Dat wil zeggen dat de organisatie gerichter naar haar strategische doelstellingen kan streven.

In agile management technieken wordt er al uitgegaan van korte ontwikkelfases en een veranderlijke business scope; de microservice-architectuur (MSA) is een IT architectuur die hier bij aansluit. Een microservice is een losstaande uitrolbare service die bijvoorbeeld 1 proces of 1 taak automatiseert. Ondanks de aansluiting met nieuwe begrippen zoals DevOps en Continuous Integration, past microservices perfect bij de Unix filosofie zoals deze in 1978 al is gedefinieerd door Douglas McIlroy; “Do one thing, and do it well”. Het lijkt wel alsof we dit de afgelopen jaren vergeten waren.

Door te denken in microservices en een systeem op te delen in componenten blijft de ontwikkeling, implementatie en het onderhoud van het systeem beheersbaar. Iedere component vervult een business functie en doet enkel wat het moet doen, niets meer, niets minder. Dit verhoogt de transparantie en voorkomt een wirwar van informatiestromen. Hoe wordt vastgesteld wat zo’n component doet staat hieronder beschreven.

Gebruik de business voor een duidelijke scope

Een kritieke stap in het ontwerpen van een microservice-architectuur is het definiëren van een duidelijke scope van de services, ofwel het bepalen van de granulariteit. Voor web-services en Service Oriented Architecture (SOA) in het algemeen zijn er al duidelijke richtlijnen geschreven om een scope te definiëren, denk aan service orchestration en service choreography (C. Peltz, 2003). Voor microservice-architectuur is deze afweging echter nog gevoeliger omdat de stap naar een te kleine service (een nanoservice) snel gezet is. Hierbij wegen de voordelen van de aparte service niet op tegen de extra complexiteit die een service ook met zich mee brengt.

Het bepalen van de granulariteit van services is dus een lastige taak voor de IT architect. Het uitgangspunt van DUODEKA is dat de business leidend is. De veroudering van systemen hangt niet zozeer samen met de veroudering van de technologie, maar met een misfit met de business door bijvoorbeeld de verandering van bedrijfsprocessen. Als deze bedrijfsprocessen onafhankelijk zijn vertaald naar IT kunnen deze ook onafhankelijk worden vervangen.

Communicatie

Niet iedere organisatie is ingericht voor het gebruik van microservice-architectuur, in plaats van grote ontwikkelteams die focussen op het gehele IT landschap, richt je al gauw meerdere kleinere teams in, die ieder verantwoordelijk zijn voor een bepaald gedeelte van de scope. Dit betekent wel dat communicatie een uitdaging wordt. Impact Mapping is een strategische planning techniek die wordt gebruikt om bedrijven te helpen met het definiëren van een roadmap voor microservice-architectuur. In veel projecten is het onduidelijk hoe wensen geprioriteerd moeten worden. Met impact mapping breng je in kaart welke impact een nieuwe IT-functie of -dienst heeft op de verschillende gebruikersgroepen, verspreid over verschillende IT systemen. Deze communicatie tool biedt de mogelijkheid om globale business-objectives tussen de verschillende teams af te stemmen.

Ik zal niet beweren dat microservice-architectuur de heilige graal is voor ieder bedrijf om IT ontwikkelingen te organiseren. Echter als je technologisch voorop wil blijven lopen, kapitaal investeringen wilt verplaatsen naar operationele kosten en meerdere IT functies wilt aanbieden, dan biedt een Micro Service Architecture een unieke kans om dit te realiseren. Een architectuur die gedreven wordt door de bedrijfsvoering, zo accelereer je business.

Over de auteur

Wouter van Ooijen, 25 jaar oud, is oprichter van IT-coöperatie DUODEKA en horecasysteem Mr. Winston. Hij startte met programmeren op zijn 12e jaar en is sindsdien niet meer gestopt. Zijn passie voor programmeren is later samen gekomen met een passie voor ondernemen. Binnen DUODEKA en Mr. Winston houdt Wouter zich bezig met de service architectuur van systemen. De achtergrond voor deze rol heeft hij te danken aan zijn studie aan de Universiteit van Tilburg (Bachelor Economie en Informatica en de master Information Management), waar hij zich met name heeft bezig gehouden met de vraag hoe business aansluit op IT en vise versa.

Referenties

McIlroy, M. D., Pinson, E. N., & Tague, B. A. (1978). UNIX Time‐Sharing System: Foreword. Bell System Technical Journal, 57(6), 1899-1904.

Peltz, C. (2003). Web services orchestration and choreography. Computer, 36(10), 46-52.