Infrastructure as Code | DevOps

DevOps best practices met Infrastructure as Code

Sarah Dols

Het beheren van je infrastructuur is geen eenvoudige taak. Vaak bestond dit beheer uit een grote set aan handmatige taken. Echter, met de innovaties die de moderne tijd biedt, kunnen verschillende taken steeds meer geautomatiseerd en vergemakkelijkt worden. Zo ook het beheer van IT-landschappen. Met behulp van Infrastructure as Code (IaC) benader je jouw infrastructuur op een DevOps manier wat het beheer efficiënter maakt. Maar wat houdt IaC in?

Wat is Infrastructure as Code en waarom is het belangrijk?

Het beheren van je infrastructuur kan op verschillende manieren. Een van deze methodes is Infrastructure as Code. Hierbij benader je de operationele omgeving als een lap code. Met deze benadering beheer je de infrastructuur niet meer door het handmatig uitvoeren van configuratiewijzigingen of eenmalige scripts. In plaats daarvan beheer je de omgeving middels dezelfde regels en restricties die gelden voor de ontwikkeling van een code.

Wanneer je de infrastructuur als een code benadert, betekent dit ook dat je DevOps best practices gaat gebruiken. Denk bijvoorbeeld aan versiebeheer, continue bewaking en gevirtualiseerde tests.

Bij Infrastructure as Code beschrijf je de gewenste staat van je infrastructuur in code. Deze code werkt declaratief, hij omschrijft namelijk wat je wil. Vervolgens heb je tools (bijvoorbeeld Terraform of Ansible) die deze wensen omzet in commando’s en de infrastructuur bouwen. Dit zorgt ervoor dat jij als operationeel ICT-professional wel zo’n 100 machines kan configureren met maar 1 druk op de knop!  Hiermee zet je een grote stap in de richting van automatisering binnen je omgeving.

Maar IaC is meer dan alleen automatisering

Hoewel er veel wordt gesproken over de automatiseringsmogelijkheden die Infrastructure as Code biedt, is dit lang niet het enige wat het zo interessant maakt. Naast dat je met IaC aan de slag gaat met het automatiseren van (beheer)taken, is het namelijk ook een goede manier om verschillende DevOps praktijken toe te passen binnen je dagelijkse werkzaamheden.

Door het toepassen van deze DevOps praktijken, zorg je ervoor dat je automatiseringsscripts vrij zijn van enige fouten en altijd opnieuw geïmplementeerd kunnen worden. Verder kun je, in het geval van problemen, eerdere versies terughalen en door verschillende teams worden ingeschakeld. Hierdoor ontstaan de volgende voordelen:

  • Een gedetailleerde controle voor gemaakte wijzigingen door beheer van de infrastructuur middels broncode;
  • De infrastructuur is makkelijker te testen door middel van unit testing, functionele testen en integratietesten;
  • Er is geen behoefte meer aan schriftelijke documentatie, omdat de code zelf al de staat van de machine documenteert. Hierdoor is de documentatie over de infrastructuur ook altijd up-to-date;
  • Je werkt gemakkelijker samen met verschillende teams die betrokken zijn bij de infrastructuur.

Hoe kun je het beste aan Infrastructure as Code beginnen?

Loop niet te hard van stapel

Hoewel je geen hele diepgaande kennis over infrastructuren nodig hebt om in snel tempo infrastructuren op te zetten, is het wel handig om rustig aan te beginnen. Je kunt namelijk niet alleen binnen enkele minuten een groot aantal instanties opstarten, maar je kan in deze korte tijd ook een heleboel schade aanrichten.

Werk dus op je gemak bij het implementeren van Infrastructure as Code en zorg altijd voor voldoende toezicht en begeleiding, vooral als je met iets compleets nieuws aan de slag gaat.

Wees streng

Misschien ben je niet graag streng en dat is natuurlijk ook helemaal niet zo gek. Toch is het voor je infrastructuur wel handig als je streng bent en de regels (en voorwaarden) goed afbakent. Zorg er  voor dat je niets aan het toeval overlaat en alle, ja echt álle, vereisten voor je infrastructuur zo specifiek mogelijk omschrijft. Betrek in dit proces ook ontwikkelaars voor de beste resultaten en maak gebruik van monitoring en feedback. Want hoe strenger, hoe beter!

DevOps met Infrastructure as Code

Met IaC maak je gebruik van coderingtechnieken om de gewenste staat van je IT-landschap te beschrijven, vervolgens gaan tools als Terraform en Ansible aan de slag met het bouwen van deze omgeving. Je maakt hierdoor ook gebruik van technieken die worden gebruikt binnen de DevOps- en ontwikkelingstak. Het voordeel? Een gedetailleerde controle over je omgeving, makkelijker testen van de omgeving, overzichtelijke documentatie en betere samenwerking tussen teams.

Wat is de volgende stap voor jouw infrastructuur?

Meer weten? Neem hier contact met ons voor de mogelijkheden voor jouw ICT-infrastructuur.

« Terug naar overzicht

Meer informatie?
Wij bellen je graag terug.