Redactie - 09 mei 2017

Open Source geschikt maken voor kritische omgevingen

Open Source geschikt maken voor kritische omgevingen image

Toen alle informatiediensten nog werden geleverd via stand alone hardware was de software die daarop was geïnstalleerd meestal ‘closed source’. De broncode is dan niet openbaar en met de bijgeleverde executable kan de software alleen worden gebruikt. De gebruiker kan de broncode niet zien en dus ook de software niet zelf aanpassen. Daarnaast moet meestal worden betaald om de licentiecode te krijgen waarmee de software op de hardware kan worden geïnitieerd. Nog steeds zijn veel applicaties ‘closed source’ zoals ook de Apple- en Microsoft-producten.

Cloud
Met de komst van de cloud, het op afstand gebruiken van hardware die door derden wordt onderhouden, kunnen informatiediensten nu als een service worden afgenomen. Daarmee is de software zelf niet meer van belang voor de gebruiker, hij betaalt immers voor de dienst waarin een deel van de softwarekosten zit. Cloud is dus een aanduiding voor het operations model hoe informatiediensten worden geleverd.

De cloud biedt ook platformen om zelf software te ontwikkelen en mede hierdoor heeft het gebruik van open source-software een vlucht genomen. Hoe makkelijk is het niet om bestaande bouwstenen van software te gebruiken om je eigen functionaliteit te bouwen. En als die bouwstenen vrij te gebruiken zijn, maakt dat alles een stuk makkelijker. De bouwstenen van open source software worden publiekelijk beheerd door de Linux Foundation. Iedereen die verbeteringen of aanvullingen maakt, heeft de morele plicht die verbeterde software weer voor de community open te stellen.

CloudFoundry
Echter de uitdaging om die open source-software in kritische omgevingen te gebruiken, is dat het lastig is om support op open source-software te geven. Je weet immers nooit precies met welke versies van bouwstenen de ontwikkelaar de applicatie heeft gemaakt. Daarom werd in 2009 CloudFoundry opgericht. Een goed gedefinieerd Platform als een Service (PaaS) waarop met afspraken gebruik kan worden gemaakt van de open source-bouwstenen. Het initiatief kwam oorspronkelijk van VMware; later is het open platform ondergebracht bij Pivotal, een in 2012 door EMC geacquireerd bedrijf en nu onderdeel van Dell Technologies.

Genoemde afspraken worden gemaakt door de deelnemende bedrijven in de CloudFoundry Foundation die afspreken welke versies van open source-talen en bouwstenen een geldigheid hebben. Op deze wijze kan een open source-applicatie worden beschreven als ontwikkeld met versie x van die bouwsteen en versie y van een andere bouwsteen. Hierdoor is de exacte broncode van de applicatie inzichtelijk geworden en kan die applicatie worden nagebouwd, opnieuw worden getest en – belangrijk – er kan bug fixing op worden uitgevoerd. Hierdoor kan het ook in kritische omgevingen waar continuïteit en dus support cruciaal zijn, worden toegepast.

Centrale diensten
De cloud zoals we die nu kennen, is een centraal werkende dienst, waarbij zowel de software als de data op die locatie aanwezig moeten zijn. Eigenlijk weer net als het mainframe waar ook software en data op een centrale processor aanwezig is en met simpele terminals met het mainframe wordt gecommuniceerd. We kunnen via een simpele browser inloggen op een centrale cloud-dienst en ter plekke wordt op basis van daar aanwezige of naar toegebrachte data een applicatie gedraaid. De cloud zoals we die nu kennen, is dus eigenlijk de internetversie van het mainframe.

Maar we kunnen natuurlijk nog steeds lokaal hardware hebben waarop we met dezelfde cloud-standaard een lokaal informatieplatform bouwen. Een Infrastructuur als een Service (IaaS). Voorwaarde is natuurlijk wel dat we dan afspraken hebben hoe die cloud-standaard is gedefinieerd en toegepast. Ook daarvoor heeft CloudFoundry oplossingen bedacht om IaaS en PaaS als open omgevingen voor iedereen en overal bruikbaar te maken.

Decentrale diensten
We kunnen dus cloud steeds meer als standaard toepassen voor zowel centrale als decentrale dienstverlening. Dit is handig als bepaalde data op een bepaalde plaats moet zijn, of moet blijven of te groot is (geworden) om te verplaatsen. De bandbreedte van onze netwerken is immers bepalend voor de dynamiek van de informatiedienst. Hoe groter de datasets of hoe kleiner de bandbreedte, hoe groter de vertraging en dat is in bepaalde gevallen lastig of zelfs onacceptabel.

Kritische bedrijfsomgevingen waar een snelle dienstverlening nodig is, kunnen niet op grote wereldwijde cloud-omgevingen draaien. Daar is de latency gewoon te groot voor als we in milliseconden of zelfs nog sneller op gebeurtenissen moeten reageren. De zelfrijdende auto kan niet wachten op een oordeel van een centrale cloud-applicatie als de radar een tegemoetkomende auto herkent en zich afvraagt wat te doen. We zien dan ook steeds meer decentrale platformen ontstaan om ter plekke data te kunnen processen. De term hiervoor is ook wel fog-computing in tegenstelling tot cloud-computing. Mist is immers dichtbij en wolken zijn ver weg.

EdgeX Foundry
De ontwikkeling van het Internet of Things is een belangrijke drijver voor fog-computing, ook wel netwerk-computing genoemd. Nu willen we natuurlijk ook voor deze decentrale informatieplatformen graag eenduidige standaarden gebruiken, zodat er weer goede support mogelijk is. Op 24 april j.l. heeft de Linux foundation hiervoor een nieuwe standaard gelanceerd: EdgeX Foundry. Ruim vijftig bedrijven nemen al deel in deze nieuwe standaard.

Wederom komt een belangrijke bijdrage aan dit open source-initiatief van Dell Technologies. De basis van EdgeX Foundry is afkomstig van de door Dell ontwikkelde Fuse source-code die onder Apache 2.0 was ontwikkeld en meer dan een dozijn ontwikkelde microservices heeft en meer dan 125.000 regels code bevat. Deze code was eerder al door honderden bedrijven gebruikt en verbeterd en daardoor direct voor iedereen bruikbaar.

Decentrale standaard
Deze nieuwe standaard is heel belangrijk om als Platform as a Service te dienen voor decentrale cloud-toepassingen zoals edge-analytics, security, system management en lokale services. Op nodes kan deze lichtvoetige open source-code worden geïnstalleerd, waardoor lokaal intelligentie en analysecapaciteit beschikbaar is voor messaging en realtime dataverwerking.

Via gateways worden die nodes met elkaar gekoppeld tot een groot, fijnmazig netwerk dat toegang heeft tot centrale cloud-platformen. Op die lokale plaatsen vindt dan op basis van ‘fast data’ machine learning plaats, terwijl met datalakes in centrale clouds op basis van ‘big data’ deep learning kan plaatsvinden.

Cirkel rond
Hiermee is de cirkel rond die ooit begon bij het centrale mainframe en zich toen langzaam naar het decentrale client-server verplaatste. Vervolgens kwam het op services gebaseerde centrale cloud-model in de mode. En nu is ook het vierde kwadrant van decentrale, op microservices gebaseerde fog-computing aan de beurt. En gelukkig hebben we daar nu ook de open source-standaarden voor, opdat we niet straks voor iedere node een decentrale microservice licentie hoeven te kopen.

Noot
Op dit moment vindt Dell EMC World in Las Vegas plaats. De conferentie duurt van 8 t/m 11 mei. Lees hier alle ins en outs. Aankomende week doet Hans via blogs verslag van het event.

Door: Hans Timmerman, CTO Dell EMC Nederland

Wil jij dagelijkse updates?

Schrijf je dan in voor onze nieuwsbrief!