IaaC

Infrastructure as a Code, IaaC, is een deployment methode dat 3 dingen doet:

  1. aanmaken van de onderdelen voor de omgevingen, incl. netwerken en VM’s
  2. uitvoeren van de taken om de VM’s aan te maken, incl. de in Windows/Linux benodigde features
  3. deployen van eigen software componenten

Om dit mogelijk te maken is een platform nodig waar de scripts op uitgevoerd kunnen worden, het feitelijke IaaC. Hierop worden de scripts centraal opgeslagen (en onderhouden) zodat de kans op fouten door handmatige acties sterk wordt vermindert en wordt ook voorkomen dat bepaalde acties uitsluitend door ‘skilled engineers’ kunnen worden uitgevoerd. Indien iemand een onderdeel van de server wijzigt zonder de centrale scripts aan te passen, zal dit automatisch ‘teruggedraaid’ worden op die server bij de eerstvolgende controle of deployment. Hiermee wordt de werkwijze van het scripten voor deployment afgedwongen.

Populaire tools hiervoor zijn o.a. Puppet en Chef die ook onder Windows werken samen met PowerShell Desired State Configuration en met Windows Server 2016 hebben we de mogelijkheid voor Docker erbij gekregen.

Ook onder Linux zijn deze tools al lange tijd beschikbaar en is Puppet in combinatie met Docker een populaire combinatie waar nu ook Windows en de hele Microsoft stack gretig gebruikt van maakt.

Dit maakt het werken in IT zo aantrekkelijk. De wijze waarop we beter, sneller en gestructureerd servers uitrollen en daar de software op plaatsen wordt met deze tools ondersteund en onder de noemer ‘Infrastucture As A Code‘ geplaatst.

Nu is de tijd om hiermee aan de slag te gaan en onszelf bekend te maken met de mogelijkheden en werkwijze van deze tools en hoe zij ons werk efficiënter kunnen maken en dan niet alleen voor system engineers, maar voor het hele DevOps team.