Advertorial

Door Tweakers Partners

Data-driven automation maakt ICT-diensten Rijksoverheid sneller en veiliger

17-05-2022 • 08:00

8

Het data-driven automationplatform van SSC-ICT is een project binnen een van de grootste ict-dienstverleners van de Rijksoverheid. Welke technieken en systemen zijn er gebruikt? En welke impact maak je hier als ict’er?

“Bij het opleveren van een server moeten we ons bij de overheid aan veel richtlijnen houden”, zegt Lars van der Voorden, automation engineer in het Automation Team bij SSC-ICT. “Er zijn veel security-eisen, maar ook technische requirements waar we aan moeten voldoen. We kwamen erachter dat we sommige delen van het platform zelf moesten ontwikkelen en voor sommige delen bestaande tools moesten instellen.” Milan Vente is als software-engineer in hetzelfde team een collega van Larsen. Hij legt verder uit: “Het platform vloeide voort uit eerdere projecten die we als netwerkbeheerders zijn gestart. We werkten daarin met datamodellen, om alle stappen vast te leggen die nodig waren bij het afnemen van een stukje netwerkinfrastructuur.”

SSC-ICT is een van de grootste ict-dienstverleners van en voor de Rijksoverheid. Het bedrijf ontwikkelt en beheert de ict-infrastructuur van verschillende ministeries en ambassades, in een eigen datacenter. Daarnaast beschermt het de vertrouwelijke data van de Rijksoverheid en ondervangt het cyberaanvallen, met een eigen Security Operations Center (SOC). Ict’ers als Lars en Milan zorgen ervoor dat ruim 40.000 rijkscollega’s van zeven ministeries hun werk in dienst van de samenleving altijd, overal en veilig kunnen doen. Er wordt voortdurend gezocht naar manieren om impact te maken met nieuwe tools en technieken, zoals met het data-driven automationplatform waar sinds 2019 aan wordt gewerkt. De bedoeling van dit platform is om snel en veilig infrastructuur op te leveren voor gebruikers.

Op zoek naar meer flexibiliteit

“Door het gebruik van datamodellen zagen we al dat de dienstverlening betrouwbaarder werd”, vervolgt Lars. Deze toegenomen betrouwbaarheid had alleen wel een prijs, in de vorm van onvoldoende flexibiliteit. “Richtlijnen, zoals security-eisen, kunnen snel veranderen, net zoals de richtlijnen vanuit de architectuur. We moesten echt veel sneller mee kunnen bewegen met een veranderend model of veranderende architectuur.” Milan geeft een voorbeeld: “Stel dat we vandaag een server aanleveren met de onderdelen X, Y en Z. Morgen is het echter nodig om hem met een extra security-feature te leveren. Vroeger was de samenstelling van de server in het design ingebakken en zouden we de hele source-code van het model moeten aanpassen om te kunnen voldoen aan de architectuurwijzigingen. We wilden niet afhankelijk zijn van steeds maar nieuwe versies van de applicatie voor een kleine wijziging in het model.”

Zo ontstond het idee voor het data-driven automationplatform: om vanuit data snel te kunnen opleveren wat nodig is. Het abstraheren van zaken tot data, zoals de configuratie van routers en switches, maakt het eenvoudiger om fouten te herstellen en omgevingen terug te brengen naar een eerdere staat.
Ook is het mogelijk om snel grote hoeveelheden configuraties door te voeren. Lars: “We hebben verschillende mogelijkheden en simulaties waarin we configuraties eerst testen. Vanuit die data kunnen we verschillende omgevingen opzetten. Je kunt bovendien altijd, met een druk op de knop, terug naar een werkende oplossing. In de data is gedefinieerd hoe het zou moeten werken, waardoor je ook veel beter garanties kunt geven voor dat wat je levert.” Milan: “Wanneer zich een hardwarefout voordoet en er een switch of ander apparaat vervangen moet worden, is het mogelijk om binnen een korte termijn de complete dienstverlening weer up-and-running te krijgen. Dat maakt ons een stuk weerbaarder tegen hardwarematige problemen.”

Opensource-technologie

Een belangrijke technologie voor het data-driven automation platform is Ansible. “Vooral bij'We vangen de vraag op, plaatsen hem in een datamodel, zetten hem om naar input die een gewone gebruiker zou kunnen opgeven en vertalen dat naar de juiste technische data.’ configuratiemanagement is het een veelgebruikte tool”, zegt Lars. “De tool zetten wij in om de configuratiedata conform onze architectuurdesigns op de switches en routers te krijgen. Daarnaast maken we veel gebruik van standaard development-tooling zoals Jenkins en Gitlab. Door de datagedreven aanpak wordt gebruikgemaakt van niet-relationele databases. Vervolgens wordt de opensource programmeertool Node-RED ingezet om de datamapping te definiëren en te visualiseren. We maken onze definities in Node-RED en daarvoor hebben we ook een frontend gemaakt die automatisch, aan de hand van data, portalen genereert waar wij geen functioneel beheer voor nodig hebben. De gebruiker krijgt een interface te zien met invoervelden om specifieke data aan te leveren en waarin validaties en checks plaatsvinden.”

Delen die het Automation Team zelf moest bouwen, waren onder meer de verschillende api’s van het platform. “Dit hebben we met Python gedaan”, zegt Milan. “De api’s zorgen ervoor dat input wordt voorzien van de juiste informatie. Je krijgt zo verschillende data-objecten, van functionele aanvraag naar de uiteindelijk opgeleverde technische objecten. Dat systeem hebben we helemaal ontwikkeld met de programmeertaal Python en het regelt de vertaling op basis van de definities in Node-RED. Het platform is geïnspireerd op het concept achter Kubernetes. Al onze microservices draaien in Docker-containers. We hebben voornamelijk gekeken hoe Kubernetes omgaat met het verwerken van infra-achtige data-objecten. Op basis van data die de aanvrager wel of niet opgeeft, worden onderdelen gezocht en objecten verrijkt met de benodigde informatie, bijvoorbeeld voor deployment. Alle api’s zijn microservices en draaien in Docker-containers. Hierdoor zijn we ook in staat om sneller updates van het platform door te voeren of speciale onderdelen van het platform apart te updaten.”

Stabiliseren en uitbreiden

Het bouwen van het platform duurde ongeveer een jaar, met een team dat op wisselende momenten bestond uit vier tot vijf specialisten. “Daarna gingen we in productie en merkten we al vrij snel dat het een succes was. We zijn nu allebei onderdeel geworden van het team Leverstraten, waarin we de dienstverlening vastleggen in definities voor het platform”, zegt Lars. “In sprints van steeds twee weken kijken we nu naar de behoeftes van gebruikers van het platform, breiden we het verder uit en werken we eraan om het steeds stabieler te maken en meer dienstverlening aan te bieden via het platform. Het is een cloud-achtige omgeving, volledig compliant met alle aan de overheid gestelde richtlijnen en eisen.”

“Het platform wordt steeds krachtiger”, ziet Lars. “Zeker wanneer je meer definities gaat programmeren van hoe onze dienstverlening eruitziet. Dat doen we nu in een groter team, waarbij ook architecten en specialisten aansluiten. De uitdaging is om alles tot een standaard te laten komen die we kunnen samenbrengen tot een voor de gebruiker zeer eenvoudig stuk dienstverlening.” Milan voegt toe: “Die gebruiker hoeft dan alleen maar aan te geven hoeveel servers hij nodig heeft. Het platform regelt alle randvoorwaarden die daarvoor nodig zijn, inclusief alle aanvragen waarvoor je normaal naar diverse teams zou moeten, zoals de inzet van load balancers of firewalls. Normaal zijn dit op zichzelf staande ‘eilandjes’ die allemaal hun eigen vragen stellen die de eindklant niet zomaar kan beantwoorden. Dat nemen we weg met het platform. We vangen de vraag op, plaatsen hem in een datamodel, zetten hem om naar input die een gewone gebruiker zou kunnen opgeven en vertalen dat naar de juiste technische data.”

Nog veel meer mogelijk

Met veel plezier werkt Milan aan het inzichtelijk maken van complexe zaken en het versnellen van processen: “Het aanmaken van een applicatie-landschap duurt technisch gezien misschien tien minuten, maar het hele aanvraagproces kon eerst wel weken duren. Alle bottlenecks in het proces wil ik zoveel‘Het proces om de klant te bedienen met een complete aanvraag kon soms wel weken duren’ mogelijk weghalen en automatiseren. Een bijkomend voordeel is dat je door het automatiseren ook een hoop menselijke fouten voorkomt, zoals een typefoutje in de firewall-rules of een kopieerfoutje in een IP-adres.” Lars is benieuwd wat de verdere inzet van het platform nog meer kan opleveren. “Geautomatiseerde databases bijvoorbeeld, daar kijken we nu naar. In ieder geval denk ik dat we ontzettend veel kunnen doen. Er is binnen SSC-ICT veel kennis en de kunst is om al deze kennis om te zetten in waarde voor de eindgebruiker, de klant. Soms zie je collega’s denken dat iets niet zomaar te automatiseren valt op basis van data, maar als je echt samen gaat zoeken, blijkt het negen van de tien keer toch gewoon mogelijk. Het is heel mooi om dat te zien.”

Meer weten over SSC-ICT en/of benieuwd welke vacatures voor IT’ers ze hebben die bij jouw profiel passen? Check het hier.

Dit artikel is geen redactioneel artikel, maar een advertorial en tot stand gekomen dankzij SSC-ICT en Tweakers Partners. Dit is de afdeling binnen Tweakers die verantwoordelijk is voor commerciële samenwerkingen, winacties en Tweakers-events zoals Meet-ups, Developers Summit, Testfest en meer. Kijk hier voor een overzicht van alle acties en events. Mocht je ideeën met ons willen delen over deze vorm van adverteren, dan horen wij dat graag. Hierover kun je met ons in gesprek via [Discussie] Reclame algemeen].

Reacties (8)

8
7
1
1
0
1
Wijzig sortering
De reacties hierboven (of hieronder, afhankelijk van moderatie :P) getuigen niet echt van veel ICT kennis. ICT heeft vele moving parts en "data-driven" automation kun je overal inzetten, in deze advertorial gaat het over het deployen van microservices (je toeslagen vallen hier niet onder).

Leuk aspect dat ze node-red gebruiken, een echt IT-glue pakket die vaak op de achtergrond word gebruikt, maar enorm krachtig is voor dit soort zaken en voor vele, vele anderen. Repeatable workflows die je visueel in elkaar kunt zetten, het vergemakkelijkt zoveel zaken en je kunt verschillende systemen heel makkelijk aan elkaar knopen. Hele fabrieken draaien er op.
Is in dit geval "data-driven" niet een "Configuration as Code" en "Infrastructure as Code" ?
Plus dat je nu als gebruiker je benodigde configuratie bij de aanvraag kunt indienen.
(iets wat je b.v. ook in AWS, Azure doet bij het aanmaken van je resources ;))

Vooral dat "1x indienen en voor alle betrokken partijen direct inzichtelijk" zal veel schelen. Vaak zitten er behoorlijke communicatie hindernissen op netwerk en systeem gebieden.
Software engineer, is dat in deze context dus iemand die gewoon software installeert en configureert?
Dit stinkt inderdaad een beetje naar een dun UI schilletje voor een LOB (web-based?) invoer applicatie voor aanvragen bovenop een serie automatisch uitrolbare systeemconfiguraties zoals je in, tja... zo ongeveer elk degelijke (semi-)geautomatiseerde remote management opzet hebt? (De afdeling systeembeheer binnen de organisatie van mijn werkgever gebruikt dat soort tooling ook gewoon. Niets bijzonders aan.)

Maar wat dat 'data-driven model' nou exact inhoudt wordt eigenlijk ook niets over geschreven.
Doet een beetje aan als buzzword bullshit bingo, dit.
Data driven automation bij de overheid......

Was er niet iets bij de Belastingdienst wat hier gebruik van maakte? Iets met toeslagen of zo?

😜
Data-driven, "snel" en "veilig" en dat allemaal van de overheid. Ja, dat kan absoluut alleen maar fout aflopen.
Mooi marketingverhaal om onwetende it'ers de geldverdlindende bureaucratische stoffige procesgedreven organisaties in te zuigen.

Doe jezelf en je cv een lol en solliciteer bij organisaties die daadwerkelijk innoveren en waar techniek voorop staat.

Op dit item kan niet meer gereageerd worden.