Thijs werkt aan state-of-the-art automation
Verhalen uit de praktijk
Thijs is DevOps-engineer bij de Justitiële ICT Organisatie. Hij werkt binnen het team Platformen Ontwikkeling en houdt zich momenteel bezig met de ontwikkeling van het platform Ansible Automation Platform (AAP). Een state-of-the-art automatiseringsplatform, dat het werk van rijkscollega’s nog veiliger en gebruiksvriendelijker moet maken.
Hoe is het idee voor een nieuw automatiseringsplatform tot stand gekomen?
“Voor het automatiseren van serverconfiguratie maakten we voornamelijk gebruik van Puppet. Hoewel Puppet hier een goede tool voor is, is het schrijven van Puppet-code vrij moeilijk. Steeds meer organisaties stapten om die reden over op Ansible. De Puppet community is hierdoor aan het krimpen en onze engineers kunnen steeds minder leunen op externe code bij het automatiseren. Maar ook het vinden van kundige collega’s is een steeds grotere opgave. Daarnaast kan Ansible voor veel meer dingen ingezet worden.”
En dus besloten jullie een nieuw platform te ontwikkelen om in jullie eigen behoefte te voorzien?
“Hoewel er de afgelopen tijd binnen verschillende teams al gebruik werd gemaakt van Ansible, ontbrak het in deze tooling aan standaarden, GitOps workflows, CI/CD pipelines, en meer. Ansible Automation Platform is simpelweg een nieuwe versie van Ansible Tower met heel veel verbeteringen. Zo zijn door RedHat verschillende componenten van het platform los van elkaar getrokken en hosten we het op OpenShift, waardoor de schaalbaarheid enorm toeneemt.
Maar we kunnen nu ook gebruik maken van Automation Hub. Dit nieuwe onderdeel van AAP maakt het mogelijk om de externe code die je gaat gebruiken op één interne plek te hosten en gecontroleerd beschikbaar te maken.”
Wat maakt het nieuwe platform verder zo bijzonder?
“Voor het inrichten van AAP gebruiken we een volledig geautomatiseerd proces op basis van een CI/CD pipeline in Gitlab, waarmee zowel de deployment als de inrichting volledig op de GitOps werkwijze plaatsvindt. Zo kunnen we zelfs zonder een back-up van de applicatie te hebben een disaster recovery uitvoeren en ook hier het ‘vier ogen principe’ afdwingen.
Daarnaast worden de CI/CD pipelines ingezet bij het automatisch checken van de Ansible code, die door onze collega’s geschreven wordt. Bij een onjuiste code kan deze in principe niet door naar productie en worden verdere risicovolle en potentieel tijdrovende fouten voorkomen."
Levert het platform nog andere voordelen op?
"Uiteindelijk zijn we Ansible ook anders gaan toepassen. Omdat je er mee kunt ‘scripten’ raak je binnen een complexe organisatie met veel collega’s, snel het overzicht kwijt. We streven nu ‘state management’ na. Dat betekent dat de code waar mogelijk ‘idempotent’ is (je kunt de code meermaals draaien zonder ongewenste resultaten) en dat de Ansible code periodiek opnieuw uitgevoerd zal worden. Zo weten we precies hoe onze omgeving er op enig moment uitziet. En bij handmatige of zelfs kwaadaardige aanpassingen worden deze automatisch gecorrigeerd.”