Wat houdt de trend 'Slimme datasystemen' in?
Slimme datasystemen spelen een grote rol in de digitale transformatie van organisaties. Ze zorgen voor efficiënter werken en automatiseren repetitieve taken. Hierbij is werken in de cloud de standaard voor veel organisaties. Machinelearning en deep learning zijn belangrijke drijvende krachten achter slimme datasystemen en zorgen voor deels zelflerende en vrijwel autonome systemen. Deze systemen moeten nog wel gevoed en beheerd worden door mensen.
“Ik denk dat machinelearning en deep learning veel belangrijker gaan worden. Bijvoorbeeld dat servers zichzelf kunnen herstellen, denk daarbij onder andere aan smart maintenance”.
Geert Timmermans (team leader softwareontwikkeling)
Slimme datasystemen vragen om een slim coderingsproces. Men werkt steeds vaker volgens structuren die het samenwerken van verschillende ontwikkelaars aan een applicatie bevorderen, doordat veel stappen in het proces geautomatiseerd zijn, zoals het testen van codes tijdens het programmeren.
Slimme datasystemen hebben randvoorwaarden nodig om goed te kunnen werken zoals opslag op servers in datacenters, beveiliging volgens keurmerken en ‘security by design’.
Wat is de impact van 'Slimme datasystemen' op dossierniveau?
Deze trend raakt vooral de dossiers softwareontwikkeling en IT systems and devices, waarbij veiligheid als thema door beide dossiers heen loopt.
-
Wat verandert er?
Een belangrijke ontwikkeling die gelinkt is aan slimme datasystemen is de verschuiving naar microservice-architectuur waarbij je grote softwarepakketten of applicaties opknipt in kleinere stukken die met elkaar interacteren. Dit noemt men ook wel van monoliet (een grote applicatie) naar microservices (allemaal stukjes). Hierdoor ontstaat een flexibelere structuur en kun je onderdelen in een pakket snel op- en afschalen. Geert Timmermans (team leader softwareontwikkeling) deelt een voorbeeld hiervan: “Een webwinkel heeft op Black Friday veel meer resources nodig om alle bestellingen af te handelen. Dan kun je via microservice even opschalen en de volgende dag alles weer in de reguliere stand terugzetten.”.
Het ontwikkelproces van software gebeurt steeds meer geautomatiseerd. Dit komt de consistentie, kwaliteit en productiviteit ten goede. Men werkt volgens -structuren en vanuit het CI/CD-principe: continuous integration, continuous deployment. Dat maakt het samenwerken van verschillende ontwikkelaars aan een applicatie makkelijker, doordat veel stappen in het proces geautomatiseerd zijn, zoals het testen van codes tijdens het coderen zelf.
“Waar we meer naartoe bewegen, is continuous delivery en deployment. Zodra ik mijn software incheck, moet de kwaliteit geautomatiseerd zo hoog zijn dat het binnen vijf minuten al in productie kan staan.”
Geert Timmermans (team leader softwareontwikkeling)Het doel hiervan is dat de efficiëntie en kwaliteit van de software verbetert of beter gewaarborgd is. Een goede herleidbaarheid in de code en een signaleringssysteem om bugs of fouten op te vangen en te kunnen troubleshooten wordt steeds belangrijker.
Het grote voordeel van werken volgens CI/CD is dat je als opdrachtgever altijd éérst kunt testen, zonder dat dat bij wijzigingen direct de liveweb-applicatie aantast. In dit proces zijn ‘testen’ en ‘ontwikkelen’ geen afgebakende taken meer. Je voert het hele project in teamverband uit en iedereen is verantwoordelijk voor het testen en ontwikkelen van de software. Dit proces kun je stroomlijnen met diensten zoals Azure DevOps van Microsoft of met Teamcity, om het overzicht te bewaren, individueel en als team.
Traditioneel is coderen een tijdrovend proces waarin menselijke fouten voorkomen. Daarom werkt men steeds meer met low-code of zelfs no-code. Dit is een vereenvoudigde manier van softwareontwikkeling waarmee je applicaties grotendeels visueel ontwikkelt via templates. Hiermee kun je met weinig programmeerwerk toch mooie apps bouwen. Het wordt ook wel de ‘democratisering’ van programmeren genoemd, omdat er minder kennis van programmeertalen nodig is om eenvoudige toepassingen te ontwikkelen. Voor organisaties is dit kostenefficiënt en het biedt kansen om werknemers in te zetten die geen specifieke kennis van coderen hebben.
Werkte men vroeger nog met back-uptapes, tegenwoordig staat alles in de cloud. Veel applicaties zijn ‘cloud native’ en die zet men direct vanaf de ontwikkeling in de cloud.
Database-administrators besteden bijna drie kwart van hun tijd aan het beheren van systemen, waardoor ze minder tijd hebben om zich te richten op andere belangrijke taken. Een cloud-database die zichzelf met minimale menselijke tussenkomst configureert, optimaliseert en patcht, kan de oplossing zijn (IT DAILY, 2018).
In sommige gevallen, zoals bij zeer vertrouwelijke softwareontwikkeling, zet men data op lokale servers. Ook zijn er organisaties die bewust ervoor kiezen niet in de cloud te werken, zoals Geert Timmermans (team leader softwareontwikkeling) kent uit de praktijk: “Bedrijven kiezen vaak nog voor lokale oplossingen of private clouds omwille van de vermeende controle over de eigen data.”
Beveiliging van software is van belang en organisaties kunnen zich certificeren met internationale keurmerken, zoals ISO, of nationale normen, zoals NEN. Tijdens het ontwikkelen van applicaties kun je veiligheid en beveiliging al meenemen. Dit heet ook wel ‘security by design’. Organisaties lijken nog wel te zoeken naar wat dit precies betekent, zoals ook Geert Timmermans (team leader softwareontwikkeling) weet: “Security by design is mooi gezegd. We weten alleen nog niet altijd precies wat dat moet inhouden en hoe dat in te vullen.”.
Wat is de invloed op de werkzaamheden?
Er zijn vele manieren om software te ontwikkelen. Voor beginnende beroepsbeoefenaars is het van belang dat ze, ongeacht de manier van ontwikkelen, de kwaliteit zo goed mogelijk bewaken. Analytisch vermogen om te kunnen traceren wat de oorzaken zijn van bugs is hierbij relevant. Maar ook vaardigheden zoals secuur en gestructureerd werken.
Realtime samen programmeren
Programmeren is een teamproces, met minder afgescheiden taken. Het scripten, automatiseren en centraal uitrollen van applicaties valt onder de taken van een developer.
Kennis van beveiligingsnormen
Het is relevant om op de hoogte te zijn van de meest recente privacyregels vanuit AVG en van ISO- en NEN-normeringen, zodat eventuele audits goed verlopen. Daarnaast is kennis van privacy by design gewenst en welke rol die kan spelen tijdens het softwareontwikkelingsproces.
-
Wat verandert er?
Voor slimme datasystemen zijn goed werkende netwerken en infrastructuren van belang. Nu er steeds meer cyberaanvallen zijn en ransomware-incidenten zich voordoen, zijn beveiligde verbindingen cruciaal. Soms zetten organisaties ethische hackers in, die de kwetsbaarheden in een netwerksysteem opsporen. Het doel is om de eigen netwerkomgeving veilig te maken en ook veilig te houden. Het beveiligen kan ook in dagelijkse dingen zitten, zoals het gebruik van wachtwoorden binnen een organisatie of het bewustmaken van risico’s die verbonden zijn aan het kwijtraken van een werktelefoon.
“Echte cybersecurity vind ik meer een nationale of overheidskwestie. Maar intern kun je als organisatie wel bewust gedrag bevorderen. Dat iedereen op de werkvloer, ook de mensen die bijvoorbeeld de administratie doen, moet begrijpen wat phishing is en wat de dagelijkse bedreigingen zijn.”
Jeroen Sipsma (Service Planet)Beveiliging van servers of de cloud tegen bijvoorbeeld virussen is van belang en organisaties kunnen zich certificeren met internationale keurmerken, zoals ISO, of nationale normen, zoals NEN. ISO 27001 bijvoorbeeld, is wereldwijd een norm voor informatiebeveiliging. De norm biedt een goede basis om de beveiliging procesmatig te structureren. Daarbij gaat het niet alleen om de techniek. Ook de fysieke omgeving en het gedrag van mensen kunnen een risico voor de veiligheid vormen. Wie hebben er bijvoorbeeld toegang tot welke ruimtes?
Wat is de invloed op de werkzaamheden?
Omdat men steeds meer vanuit de cloud werkt en met ‘cloud native’ applicaties, is het relevant voor beginnende beroepsbeoefenaars om de basis van het opzetten van een cloud te kennen. Geert Timmermans (team leader softwareontwikkeling) vertelt wat hij als de basis ziet: “De basiskennis van clouds gaat over wat er allemaal in kan draaien, van databases tot applicaties en logs, monitoring en notificaties. Wat zijn die componenten precies en hoe interacteren die met elkaar?”
Kennis van beveiligingsnormen
Om een netwerk goed te beveiligen, moeten beginnende beroepsbeoefenaars weten wat een netwerk is, hoe het werkt en wat erop draait. Het is gewenst om ervaring op te doen met systeemhacks, bijvoorbeeld via simulaties of casussen. Het is relevant om op de hoogte te zijn van de meest recente ISO- en NEN-normeringen, zodat systemen blijven draaien en eventuele audits goed verlopen.