Infrastructure as code: sneller, goedkoper en beter

Maarten Draijer
2018-11-08

In de wereld van DevOps en continuous delivery is nog iets moois te vinden: Infrastructure as Code (IaC). De voordelen van deze programmeerbare infrastructuur zit ‘m vooral in de kosten, snelheid en betrouwbaarheid. In dit artikel vertellen we je er meer over.

IaC: programmeerbare infrastructuur?

Bij het ontwikkelen van software moet er regelmatig een infrastructuur aangemaakt worden. Bijvoorbeeld om te testen of de boel naar productie te brengen. Zonder IaC moeten teams alle infrastructuur steeds handmatig aanmaken. Dat kost veel tijd en zorgt voor veel unieke configuraties: de instellingen worden niet elke keer precies overgenomen, terwijl de functies misschien wel overeenkomen. Het onderhouden en in de gaten houden van al deze unieke omgevingen is mensenwerk, wat het foutgevoelig en tijdrovend maakt.

Voordat we verdergaan, is het handig om even te duiden wat we onder infrastructuur verstaan. In de IT gaat het bij infrastructuur onder andere om netwerken, virtuele machines en load balancers. Allemaal zaken die nodig zijn om een stuk code of software te kunnen testen of gebruiken.

Op het moment dat je deze infrastructuur in code voorprogrammeren, zorg je ervoor dat er geen tientallen of zelfs honderden unieke omgevingen ontstaan. Elke omgeving volgt de regels van zijn code, wordt automatisch neergezet en is steeds exact hetzelfde. Dit brengt een aantal voordelen met zich mee.

Voordelen van Infrastructure as Code

We zeiden het aan het begin van dit artikel al: de grootste voordelen van IaC zijn lagere kosten, meer snelheid in het proces en een hogere betrouwbaarheid.

Snelheid en gemak

Met IaC kun je een volledige infrastructuur uitrollen door een script te draaien. Denk bijvoorbeeld aan virtuele servers, voorgeprogrammeerde databases, load balancers en meer. Je kunt dit toepassen in de ontwikkelfase, staging en productie. Een ander voordeel is dat je dezelfde infrastructuur ook eenvoudig in een ander datacenter kunt toepassen. Zo maak je makkelijker backups van je werk.

Minder risico, meer consistentie

Niet iedere ontwikkelaar is even bedreven in het neerzetten van een goede infrastructuur. Misschien zijn er maar 1 of 2 ontwikkelaars die precies weten hoe het zit. Wat als zij ziek zijn of je bedrijf verlaten? Dan zit je met een probleem. Met IaC zorg je niet alleen voor een automatisch proces, maar ook voor de juiste documentatie van dat proces. Het uitrollen van een infrastructuur wordt hierdoor een eitje. Omdat je code gebruikt om je infrastructuur neer te zetten, kun je ook eenvoudig versiebeheer toepassen. Dit maakt het weer makkelijker om eventuele problemen op te sporen.

Lagere kosten

Je wilt jouw ontwikkelaars daar gebruiken waar ze de grootste meerwaarde bieden. Dat is niet in het handmatig aanmaken van een infrastructuur. Als je dit proces kunt automatiseren met Infrastructure as Code, houden je ontwikkelaars tijd over om aan je software te werken. Ze zijn productiever, dus bespaar je geld op personeelskosten. Je IaC-code kan ook automatisch infrastructuren deactiveren als ze niet gebruikt worden, wat ervoor zorgt dat je minder geld aan je cloudhosting kwijt bent.

Waar te beginnen?

IaC is niet los te zien van DevOps. Dus als je daar nog niet mee bezig bent, is dat een goede eerste stap. Loopt jouw DevOps-proces al op rolletjes? Dan kun je eens onderzoeken met welke tools je IaC kunt gaan gebruiken. Kijk bijvoorbeeld eens naar Docker, Juju of Terraform. Op Udemy kun je alvast beginnen met het volgen van een aantal courses!

Jouw nieuwe GitLab instance is binnen 5 minuten online
Registreer