Wat is Infrastructure As Code?
Simpel gezegd houdt Infrastructure As Code [infraastrjuktuur es koot] in dat de infrastructuur wordt gedefinieerd in code. Zo creëer je een infrastructuur die je kan beheren en aanpassen door middel van configuratiebestanden. Voorheen was het creëren van een infrastructuur een taak waarbij er fysiek servers en andere hardware werden geplaatst en geconfigureerd. Om bijvoorbeeld een bepaalde applicatie te draaien. Wanneer nu de applicatie meer geheugen, CPU of afhankelijkheden kreeg van andere software, werd de configuratie van de hardware daarop aangepast. Indien er zich een probleem voordeed en de gehele configuratie opnieuw moest worden gebouwd, kun je je voorstellen dat dit enige tijd in beslag nam. Hoe groter en complexer de infrastructuur werd, hoe moeilijker het werd om dit goed bij te houden.
Vooral nu bedrijven meer en meer Cloud-omgevingen zoals AWS en Azure gebruiken, is er de behoefte ontstaan om snel omgevingen te kunnen toevoegen. Zoals een test-, of ontwikkelomgeving. Maar ook om de schaalbaarheid en repeteerbaarheid te vergroten. Om aan deze behoefte te voldoen, is Infrastructure as Code ontwikkeld. IaC zorgt ervoor dat een omgeving relatief snel kan worden opgetuigd of gewijzigd. Een ander voordeel is dat versiebeheer op de code kan worden toegepast. En dat daarmee ook de configuratie van je infrastructuur geborgd en in de basis gedocumenteerd is.
Infrastructure as Code brengt een organisatie vele voordelen, waaronder:
- Snelheid
- Reproduceerbaarheid
- Minder risico
- Reductie van kosten
- Hogere kwaliteit
Kortom, met IaC maak je gebruik van code om de door jouw gewenste staat van je omgeving te beschrijven. De diverse IaC-tools zoals Terraform, CloudFormation, ARM of Ansible gebruiken de door jou gemaakte code om de gewenste omgeving te creëren.