Raymond Binnendijk

Raymond Binnendijk

Director Consulting Expert Digital Transformation & Energy Transition

We zitten met zijn allen middenin in de vierde industriële revolutie , waar opkomende technologieën zoals cloud-computing, big-data, kunstmatige intelligentie en the-Internet-of-Things de digitale transformatie aanjagen. Dit merken we aan de drastisch toenemende hoeveelheid data die op bedrijven afkomt. En dat is goed nieuws, want data maken steeds slimmere oplossingen mogelijk. Maar dat betekent tegelijkertijd ook een bedreiging omdat er knelpunten ontstaan in ons IT-landschap. Datagedreven oplossingen helpen hierbij, zoals het benaderen van een IT-oplossing in de vorm van een stroom van events. Een dergelijke benadering maakt het mogelijk om op Enterprise schaal de IT-oplossingen te vormen, en in vorm te houden, die nodig zijn om de enorme hoeveelheden data aan te kunnen.

Data als de nieuwe olie, kans en bedreiging 

In de vierde industriële revolutie nemen data de rol over van land en olie in voorgaande revoluties. Data als input en (verrijkte) data als output, met in het midden (kunstmatige) intelligentie, bepalen de waarde van een oplossing.  Zeker ook in de Energie sector komen dergelijke oplossingen goed tot hun recht. Data maken het grid namelijk veel slimmer, en dat is hard nodig want de vervanging van fossiele brandstoffen door duurzame hernieuwbare bronnen zorgt voor veel lastiger voorspelbare energieproductie en consumptie. Opwek vindt decentraal en vaker op onconventionele plekken plaats (zoals windparken op zee). Dit maakt het transporteren van energie veel complexer en geeft meer druk op het laag houden van de operationele kosten. 

Data als grondstof bieden ons kansen maar de enorm toenemende volumes zijn ook een grote uitdaging voor een traditioneel opgezet IT-landschap.

Overgang naar Data Intensieve Enterprise-IT

De afgelopen decennia was er een onderscheid tussen IT-oplossingen voor bedrijven die opereren binnen internet markten versus de meer traditionele markten (oftewel Enterprise-IT). 

Internet markten gaan doorgaans over een relatief beperkt aantal eenvoudige diensten die (via het internet) worden afgenomen door enorme hoeveelheden gebruikers, denk hierbij aan LinkedIn, Yahoo! en Facebook. IT-oplossingen zijn hier primair ontworpen om de grote hoeveelheid transacties te verwerken en op te slaan. Ze bevatten daarom vaak technische optimalisaties voor bijvoorbeeld caching, zoeken, opslag en transport. De IT-organisatie en het voortbrengingsproces zijn vooral ingericht op wendbaarheid en minder op leveringszekerheid. "Move fast and break things" was niet voor niets tot 2014 het motto van Facebook.

Binnen traditionele markten (zoals Utilities) gaat het doorgaans over meer en veel complexere diensten bij veel kleinere hoeveelheden (minder gebruikers, transacties en lagere volumes). Leveringszekerheid is hier niet zelden letterlijk van lands- en/of levensbelang. IT-oplossingen en het bijbehorende voortbrengingsproces zijn ontworpen rondom stabiliteit, interoperabiliteit en beheerbaarheid.  Dit gaat echter niet zelden ten koste van de snelheid waarmee we veranderingen in het IT-landschap kunnen doorvoeren.

Maar de traditionele scheiding tussen Internet-IT en Enterprise-IT vervaagt. Internet-IT wordt volwassener, het aantal aangeboden diensten en hun belang voor de klant groeit, waardoor er een grotere behoefte is aan leveringszekerheid en beheerbaarheid (huidige motto van Facebook is  "Move fast with stable infra"). 

Binnen Enterprise-IT zien we dat het aantal transacties en (daarmee ook) het data volume aanzienlijk groeit. Enterprise-IT wordt dus steeds "data intensiever", en dat stelt andere/aanvullende eisen aan het ontwerp van Enterprise-IT oplossingen. We passen daarom Internet-IT patterns & practices steeds vaker toe binnen Enterprise-IT (en visa versa). 

Opschalen, met data als knelpunt

De onderstaande figuur is afkomstig uit een vorig blog en beschrijft hoe missie kritische IT-oplossingen zich door de jaren heen evolueerden van simpele lokale tools tot grote monolieten. Deze monolieten worden vervolgens opgedeeld in behapbare, beheerbare, zeer schaalbare en onderling geïntegreerde componenten (of microservices). De decompositie vindt vaak plaats in lijn met de Domain Driven Domain filosofie (opdelen en groeperen van logica en data op basis van business domeinen of bounded context). Een ontwikkelteam ontfermt zich over de doorontwikkeling (Dev) en het beheer (Ops) van iedere component en alle teams werken met elkaar samen in een geschaalde agile organisatiestructuur.

Evolutie strategische IT
Figuur 1: De evolutie van Strategic (of missiekritische) IT door de jaren heen.

 
Zoals eerder besproken nemen de omvang en complexiteit van organisaties en IT nog steeds verder toe en wordt e.e.a. steeds "data intensiever". We vangen dit op door de diverse componenten en teams zoveel mogelijk "loosely" met elkaar te koppelen, zowel in de manier van werken en organiseren (teams) als in het IT-landschap (IT-componenten). Hiermee lossen we een deel van het probleem op, maar we zien we dat de overgebleven afhankelijkheden zich nu vooral manifesteren op het gebied van data. IT-oplossingen binnen een component gebaseerd landschap bestaan namelijk uit ketens van componenten (met ieder vaak een eigen relationele database) die data met elkaar uitwisselen. Veranderende specificaties rondom data zorgen daarom vaak voor (grote) veranderingen op diverse plaatsen in de oplossingsketen. Maar ook voor de afhankelijkheden op het gebied van data is er een oplossing. Door anders met data opslag en uitwisseling om te gaan beperken we namelijk deze veranderingen aanzienlijk.

Anders omgaan met data binnen je IT-landschap

Het afgelopen decennium kenmerkt zich door een aantal trends rondom de manier waarop we omgaan met data binnen een IT-landschap. Deze trends, deels afkomstig vanuit de Internet-IT, borduren voort op een component gebaseerde of microservices benadering die we ondertussen in veel operationele omgevingen zien. Hieronder een korte opsomming van de voornaamste trends.

Ketens van heterogene componenten

Systemen worden steeds data intensiever en meer gedistribueerd. Oplossingen bestaan uit ketens van componenten die data met elkaar uitwisselen. 

De complexiteit van dataverwerking neemt toe. Er is niet één tool (stack) of aanpak die optimaal geschikt is voor alle situaties. Een zogenaamde "best of breeds" benadering maakt het mogelijk om per component en binnen iedere context de beste technologie in te zetten (binnen je gedistribueerde landschap). Hierdoor functioneren bijvoorbeeld OLTP, OLAP en Artificial Intelligence oplossingen efficiënt en naast elkaar in een gezamenlijk IT-landschap.

Loosely coupled via asynchrone messages

De overgang van een monolithische architectuur naar een component gebaseerd IT-landschap vergemakkelijkt het doorvoeren van de IT-uitbreidingen en –aanpassingen en geeft weer ruimte om te veranderen en groeien. De wet-van-behoud-van-complexiteit gaat hier echter op, decompositie in componenten maken de complexiteit van een IT-landschap beter behapbaar, maar de complexiteit komt terug in de integratie tussen deze componenten tot ketenoplossingen. Hoe meer componenten, hoe lastiger de integratie, zeker als er sprake is van veel onderlinge afhankelijkheid (tight coupling).

Door componenten onderling te integreren via asynchrone berichten in combinatie met een publish/subscribe mechanisme verkleinen we de onderlinge afhankelijkheden. Dit maakt het IT-landschap makkelijker aanpasbaar omdat veranderingen beter worden geïsoleerd en nieuwe componenten makkelijker inpasbaar (plugable) zijn. Een zeer belangrijk bijkomend voordeel is dat ook de (horizontale) schaalbaarheid toeneemt.

Immutable Flow of Events als brondata

Door oplossingen te benaderen als een onophoudelijke flow of events beperken we de data afhankelijkheden. Oftewel continue datatransformatie van één dataset naar een andere met specifieke gebeurtenissen als trigger. De status van (specifieke) data kun je afleiden wanneer je de (juiste) gebeurtenissen observeert en (op de juiste manier) interpreteert. De centrale stroom van gebeurtenissen vormt daarmee de brondata binnen je landschap. De diverse componenten in het landschap subscriben zich op de voor hen relevante events, verwerken deze data en publishen vervolgens nieuwe events waarop anderen zich dan weer subscriben etc. Specifieke componenten genereren eventueel lokale kopieën van (geoptimaliseerde) data maar de centrale set met (read-only, immutable) events bevat de brondata. Events als brondata maken tijdreizen en het opnieuw genereren van datasets mogelijk en biedt veel opties om schaalbaar en robuuste data intensieve oplossingen te realiseren.

Einde van de relationele database (als standaard one-size-fits-all keuze)

Het idee om IT-problemen te benaderen als een stroom van events is niet nieuw. Eventing en pub/sub bestaan al decennia maar blijken op dit moment belangrijke puzzelstukjes te zijn bij het ontwerpen van evolutionaire data intensieve oplossingen. In combinatie met andere courante puzzelstukjes (met bijbehorende specifieke tools) zoals bijvoorbeeld Microservices architecturen, Big Data, Data Analytics, Cloud, IoT en ook SAFe en DevOps stelt het ons in staat om de (keten)oplossingen te vormen en in vorm te houden op een schaal en in een tempo die de Energie Transitie van ons eist.

De traditionele one-size-fits-all relationele database (RDBMS) is daarmee niet verdwenen, maar veel vaker opgedeeld in meer specialistischere data oplossingen, speciaal gericht op bijvoorbeeld (data intensieve) search, caching, storage, stream- of batch processing. 

Eventing maakt evolutionair, schaalbaar en robuust

IT-oplossingen zijn ondertussen te complex en omvangrijk geworden om vatten in een beperkt aantal monolithische applicaties. Decompositie in componenten maakt een IT-landschap behapbaar en maakt het mogelijk dat diverse technologieën en teams naast elkaar kunnen bestaan. Deze componenten communiceren met elkaar via asynchrone berichten en vormen op deze manier ketenoplossingen. Door de onderliggende brondata vervolgens vast te leggen als een stroom van events maken we evolutionaire, schaalbare en robuuste oplossingen mogelijk. Deze volgende stap in de evolutie van de Microservices architectuurstijl stelt bedrijven in staat de explosief stijgende hoeveelheid data op te vangen en te exploiteren. Dit maakt de weg vrij voor de verdere groei, zowel in omvang als complexiteit,  van hun IT-landschap. Hierdoor is IT niet langer het knelpunt, maar de enabler van de Digitale Transitie.

Check de voetnoot  voor meer uitleg over het ontwerpen van data intensieve en event driven oplossingen. 

 


Voetnoot

Over de auteur

Raymond Binnendijk

Raymond Binnendijk

Director Consulting Expert Digital Transformation & Energy Transition

Raymond is a Solution Architect with over 20 years of experience in complex (international) IT projects, working with(in) (scaled) Agile teams. An expert in conceptualization, shaping and designing solutions that meet the needs of all stakeholders. Making IT services future-proof by adding structure, managing complexity ...