Al lange tijd werkt de Belastingdienst met verschillende Linux- en Unix-omgevingen, waaronder Red Hat Linux. Het zogeheten Red Hat Linux++-platform is het resultaat van twee decennia werk en verandert nog steeds continu. Verschillende teams houden de interne (IT-)behoeften, maar ook de ontwikkelingen buiten de organisatiegrenzen, nauw in de gaten. Het resultaat daarvan is onder meer de lancering van een nieuw containerplatform op basis van OpenShift. Het up-to-date houden van deze systemen en meebewegen vanuit de veranderingen vanuit de Red Hat-community is een grote uitdaging, vertellen System Engineers Nigel Tummers en Dennis Hergaarden.
Het RedHat Linux++platform is al twee decennia een stabiel platform dat de Belastingdienst voor tal van doeleinden gebruikt, van (delen van) de website en kantoorapplicaties tot het ondersteunen van de verwerking van aangiftes en het maken van analyses. Nigel Tummers, System Engineer bij de Belastingdienst: “Waarom gebruiken we Linux? Ik denk dat het met bijna alle software in bedrijven wel zo gaat dat er een moment komt waarin iets aangeprezen wordt als ‘dit gaat de toekomst worden’. Zoiets begint vaak in de wandelgangen als idee van techneuten en later misschien met wat poc’s her en der. Zodra Gartner of een soortgelijk bedrijf dit bevestigt, krijgt het écht draagkracht en kan het groeien. Zo is het ook bij ons gegaan.”
Streven naar automatisch
Met slechts twee beheerders houdt de organisatie het eigen RHEL-platform met meer dan 5000 VM's veilig en onder controle. De '++' in de naam staat voor de verschillende zelfbouwconfiguraties en componenten die deel uitmaken van het platform, dat ontwikkeld wordt door de verschillende teams binnen de Belastingdienst. "Wij bouwen voornamelijk koppelingen met de rest van de omgeving. Denk aan het configureren van het gebruik van de active directory voor het inloggen van werkplekken, het automatisch afgeven van certificaten en het bijwerken van het platform, met zo min mogelijk beheerlast. Maar denk ook aan een cmdb waar we onder meer ons asset management mee inregelen. Ons streven is dat we in de toekomst alles automatisch kunnen uitrollen, bijwerken en beheren. Dit om de kans op menselijke fouten te verkleinen. Veel gebeurt al automatisch, maar dat moet wat ons betreft in de breedste zin van het woord gebeuren: van het operationele deel tot het ontwikkelen, testen en uitrollen van nieuwe features."
Van hobby beroep gemaakt
Nigel is inmiddels zes jaar werkzaam bij de Belastingdienst. Nadat hij aan de Fontys Hogeschool de opleiding Software Engineering had gevolgd, werkte hij aanvankelijk in de private sector. "Voor een logistieke dienstverlener bouwde en beheerde ik verschillende bedrijfsinformatiesystemen, zoals ERP." Inmiddels heeft hij van zijn hobby zijn beroep gemaakt, vertelt hij. "Ik ben al een jaar of twintig met Linux bezig, en met Red Hat sinds 2001. Het was gek genoeg mijn moeder die de vacature voor Linux Engineer bij de Belastingdienst tegenkwam. 'Dat vind je leuk toch?', vroeg ze mij. En inderdaad, ik heb ontzettend veel plezier in deze baan."
Sinds twee jaar is Nigel de collega van Dennis Hergaarden, die zich richt op het nieuwe containerplatform van de Belastingdienst, dat deels gebruikmaakt van RHEL-componenten. Dennis volgde de opleiding embedded systems & automation aan de Hogeschool Windesheim. "Daar heb ik van alles geleerd over onder meer microcontrollers, low power-communicatie en programmeren in C. Toen de Belastingdienst een Linux Engineer zocht, heb ik eerst enkele maanden in Nigels team gezeten. Ik heb hiervoor gekozen omdat ik door een hobby ervaring heb opgedaan met Linux. Er waren mogelijkheden om Red Hat-certificaten te behalen en meer ervaring op te doen. Dat sprak mij aan. Vervolgens ben ik na een tijdje overgestapt naar het OpenShift-team. Overigens heb ik, na een leuke en leerzame tijd, inmiddels een nieuwe uitdaging gevonden buiten de Belastingdienst."
Technische inrichting
Elk systeem dat op het RHEL-platform wordt uitgeleverd heeft behalve een werkende active directory-verbinding en een cmbd-koppeling onder andere nog een SSL-certificaat, audit logging naar Splunk, Zabbix-monitoring en automatische security-updates. Ook SELinux, extra audit-regels en de firewall staan onder beheer van het team van Nigel. "We willen het de gebruikers zo gemakkelijk mogelijk maken terwijl we het toch veilig houden. Daarbij houden we ook duidelijke verschillen aan tussen test-, productie- en ontwikkelomgevingen. Dat doen we met duidelijk afgeschermde groepen en rollen die in sudo-scripts binnen de active directory staan. Althans, beter gezegd: de sudo-snippets staan op het systeem zelf, maar zijn gekoppeld met de active directory-groepen van je account. Zo maken we het veilig en werkbaar. Als een ontwikkelsysteem wordt aangevraagd kan iemand daarop gemakkelijk inloggen en applicaties ontwikkelen in een Red Hat-omgeving. Daarop bieden we onder meer Ansible Tower aan, waarop developers hun playbooks kwijt kunnen. En Red Hat Satellite, dat we gebruiken voor onder meer de repository-functies en het beheren van licenties."
Snel veranderende wereld
Het meeste werk op dit moment is zorgen dat het platform up-to-date blijft, zegt Nigel. "Onze Gitlab-omgeving updaten we nu elke vier weken met een recente versie en bij Ansible Tower en Red Hat Satellite is dat eens in de twee tot drie maanden.” Dennis: “Aanpassingen voeren wij in git direct door via een ci/cd-pipeline. Wij hebben bijvoorbeeld een file met variabelen voor het OpenShift-cluster. Als daar gegevens in wijzigen, wordt er direct een pipeline gestart die een post-config Ansible-script draait, zodat de state in git ook de daadwerkelijke state is. Zo hebben we dit ook geregeld voor onze monitoring-host en registries.”
Introductie van OpenShift
Een van de grotere veranderingen in de afgelopen jaren was de lancering van een OpenShift-platform. Mensen uit het Linux-team zochten een nieuwe uitdaging en zijn verder gegaan met OpenShift. Voor onder meer webapplicaties is het gebruik van containertechnologie interessant. Het werken met containers is begonnen met ondersteuning vanuit de Linux-teams. Inmiddels is er sprake van een volwaardig OpenShift-team dat bestaat uit acht mensen. "Voor het automatiseren van OpenShift-installaties moet gigantisch veel gebeuren", zegt Dennis. "Gebruikers kunnen onder andere VM's aanvragen in een VMware-omgeving of een RHEL-machine van het team van Nigel. Wij vragen daar OpenShift-nodes aan en scripten dat met Terraform. Zaken als logging en monitoring configureren wij met Ansible. Wij gebruiken de monitoring-stack in OpenShift. Daarbij wordt Prometheus, Grafana en Alertmanager gebruikt voor monitoring." Het bouwen met OpenShift is begonnen met één cluster, maar inmiddels is er een productiecluster, learn-cluster en development-cluster. Verder leveren we cluster-as-a-service, zodat bepaalde diensten een eigen cluster aan kunnen vragen.”
Meer dan honderd teams
De verschillende IT-teams binnen de Belastingdienst werken veelvuldig samen. "Onze container-registries draaien op een RHEL-host, ze worden door Nigels team uitgeleverd. Verder hebben wij ook Gitlab draaien op RHEL, dat we zelf hebben neergezet met Ansible. Maar we werken ook samen met onder meer een team voor Splunk, een Platform Enablement Team voor het ondersteunen van ontwikkelaars en een team voor Windows. Verschillende van die teams zijn weer onderverdeeld in afzonderlijke services; bij elkaar heb je het misschien wel over meer dan honderd teams." Onderling zijn de lijnen zeer kort, merkt Dennis. "Ik ben mijn collega's van het OpenShift-team gewoon eens op de gang tegengekomen toen ik nog in het Linux-team zat. Ik vond het interessant waar zij mee bezig waren en het was geen enkel probleem om eens mee te kijken. Vervolgens heb ik de overstap gemaakt."
Uitdagingen in lifecycle-management
Een van de grootste uitdagingen voor het RHEL-platform naar de toekomst toe is het lifecycle-management van de verschillende applicaties die erop draaien. Nigel: "We zitten inmiddels op de derde iteratie van het platform. Daarop gaan we nu over naar Satellite 6 en RHEL 8. Er zijn nog zo'n 400 machines die nog op RHEL 6 zitten en op een oude versie van ons platform draaien. Deze moeten wij binnenkort migreren en daarover hebben we ook nauw contact met onze developers." Dennis vervolgt: "Op het gebied van OpenShift is inmiddels de transitie naar OpenShift 4 gemaakt, dat draait op Core OS. Inmiddels zitten we op versie 4.7. Er veranderen continu dingen in OpenShift waardoor we onze Ansible-roles moeten aanpassen. Daarnaast is onze installatie voor een groot deel geautomatiseerd en de installatie moet daarom voor elke nieuwe versie worden getest en mogelijk aangepast."
Use-cases uiteindelijk het belangrijkst
Nigel ziet een toekomst voor zowel RHEL als OpenShift binnen de Belastingdienst. "Het gaat uiteindelijk om de use-cases. Sommige applicaties draaien het beste in een VM, voor andere zijn containers meer geschikt. Ontwikkelen gaat in de meeste gevallen gewoon het beste op een RHEL-host, terwijl je in een container eerder webapplicaties gaat draaien. Maar er is ook veel kruisbestuiving; zo gaat Ansible Tower gedeeltelijk naar containers en ook voor Satellite bestaat de kans dat in de toekomst delen in containers gaan draaien. Het vult elkaar goed aan. Alle IT-collega's binnen de Belastingdienst zullen elkaar in ieder geval hard nodig blijven hebben."
Ruimte voor eigen ontwikkeling
Hoe is het eigenlijk om te werken voor de Belastingdienst? En wat gebeurt er als je een vakrelevante opleiding wil volgen; wordt dat toegejuicht en ook gefinancierd?" Dennis noemt de Red Hat learning-omgeving waarin het mogelijk is om zelf een cursus in te plannen. "Je kunt er ook examens doen voor Kubernetes in verschillende rollen zoals developer en beheerder. En we zijn bezig met interessante dingen zoals machinelearning. De mogelijkheden daarvan zijn we nu aan het testen in onze eigen lab-omgeving waarin onder meer een OpenShift-cluster is neergezet." Nigel: "Ik had weleens verhalen gehoord over raamambtenaren, maar dat klopt totaal niet. We zijn ontzettend druk met het onderhoud van de platformen en er gebeurt van alles. En een grijze mannenorganisatie kun je het ook zeker niet noemen; er zijn de laatste jaren juist ontzettend veel vrouwen en jongeren binnengekomen."
Meer weten over werken bij de Belastingdienst en ben je benieuwd of er vacatures uitstaan die passen bij jouw profiel? Kijk dan hier. De experts van de Belastingdienst (digitaal) ontmoeten in een online webinar? Schrijf je dan in voor het BD Kenniscafé ICT op 28 oktober.
Dit artikel is geen redactioneel artikel, maar een advertorial en tot stand gekomen dankzij de Belastingdienst 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].