Infra as Code: wat het is en waarom je niet zonder kunt (1/3

Infra as Code: wat het is en waarom je niet zonder kunt (1/3

Ook de bedrijven waar Blis Digital voor werkt, stappen steeds vaker over naar Infrastructure as Code (IaC). En terecht. Als je serieus bezig bent met de cloud, kun je eigenlijk niet zonder. Maar wat is IaC precies en waarom zou het een prioriteit moeten zijn in je development-organisatie? Deel 1 van een driedelige serie over het hoe en waarom van Infrastructure as Code bij Blis Digital.

Puur technisch gesproken, is Infrastructure as Code (IaC) het geautomatiseerd inrichten van cloud-infrastructuur op basis van scripts, in plaats van het handmatig ‘bij elkaar klikken’ van een nieuwe omgeving, telkens als dat nodig is. Maar de betekenis van IaC voor hoe we cloud-oplossingen ontwikkelen en uitrollen, gaat veel verder dan ‘automatisch een omgeving aanmaken’.

Alles wat je nodig hebt, zo vaak als je maar wilt

Want IaC is, juist omdat het al het handwerk automatiseert, een manier om alles wat je nodig hebt voor een cloudoplossing – of het nou een simpele website is, of een complexe integratie – via code te beheren en uit te rollen. Dit zorgt dat iedere omgeving – of het nu een test-, acceptatie- of productieomgeving is – op exact dezelfde manier wordt uitgerold. Zo heb je altijd dezelfde, consistente infrastructuur.

Hoe geweldig dat is, ervaar je pas als je het eenmaal hebt. Want je wilt grip op je cloudomgevingen. Je wilt ze snel kunnen uitrollen en je wilt zeker weten dat ze het doen. En als de cloudomgeving jouw directe verantwoordelijkheid is, wil je rustig kunnen slapen. Maar zonder IaC loop je altijd het risico dat je uit je bed gebeld wordt en de 4 minst favoriete woorden van iedere beheerder hoort: “Hij doet het niet.”

Gemoedsrust en minder werk

In eerste instantie lijkt IaC vaak overkill. Zo heb je slechts een webserver en een database nodig voor een applicatie en dat heb je natuurlijk handmatig zo ingericht. Maar voor je het weet roept iemand dat er een testomgeving nodig is. En dan moet je alles opnieuw bij elkaar klikken. Met de kans dat je dat net even anders doet dan de eerste keer. Zo ontstaan verschillen tussen de omgevingen en daar komen de risico’s vandaan. Want dan kan het dus zijn, dat een applicatie op de ene omgeving wel werkt en op de andere niet. Of dat de productie-omgeving veiligheidsrisico’s bevat die je op de testomgeving niet kunt zien. Door met IaC te werken, elimineer je die risico’s en kun je erop vertrouwen dat alles op dezelfde manier is ingericht en werkt. Dit geeft je niet alleen gemoedsrust, maar voorkomt ook veel onnodige fouten en extra werk.

Binnen een uur een demo-omgeving

Een ander belangrijk voordeel van IaC is snelheid. Stel, je hebt een consultant die een demo-omgeving nodig heeft voor een belangrijke presentatie. Vroeger kon het zomaar dagen duren om dat op te zetten. Maar met IaC kan dat binnen een uur. Dat betekent dat je veel sneller kunt inspelen op de vraag van klanten of je eigen organisatie, zonder te hoeven rommelen met handmatige configuraties. En het mooiste is: als die demo klaar is, kun je de hele omgeving weer in no-time opruimen. Je wordt dus efficiënter, omdat je alleen betaalt voor resources die je ook echt gebruikt.

Wat dit betekent voor je bedrijf en product

Als je CEO bent of aan de businesskant werkt denk je nu misschien: “Ok, interessant. Maar wat heb ik eraan?”
Terechte vraag, want in eerste instantie lijkt IaC inderdaad vooral iets wat voor developers en architecten prettig is. Maar de implicaties op product- en bedrijfsniveau zijn groot. Als CEO of businessverantwoordelijke ben je vooral gericht op de functionaliteiten van je software. Vanuit jouw perspectief is infra een randvoorwaarde. Het zijn de features waarmee je klanten aantrekt en de concurrentie voorblijft.

Maar cloudomgevingen kosten serieus geld. Als je die infrastructuur niet goed inricht, kan dat de ROI van je project zelfs in gevaar brengen. Het inzetten van IaC betekent dat je altijd een precies beeld hebt van wat er draait en bij welk project het hoort. Met IaC kun je omgevingen niet alleen heel snel lanceren, maar ook snel weer uit de lucht halen. Daardoor geef je minder uit aan cloud-capaciteit die je niet gebruikt en bescherm je je bottom line.

Consistent ingerichte omgevingen bewijzen ook hun waarde als je ineens flink moet opschalen. Je bedrijf groeit, er komen veel nieuwe klanten binnen, je wilt meerdere landen of markten gaan bedienen of er komt een investeerder aan boord met hoge verwachtingen en ambities. Met een infrastructuur die handmatig is opgebouwd, wordt het heel moeilijk om snel aanpassingen door te voeren zonder fouten te maken of dingen over het hoofd te zien.

Daar komt nog bij dat je met IaC niet meer afhankelijk bent van wie op welk moment een server of resource heeft aangemaakt. Alles is gedocumenteerd en reproduceerbaar, dus je bent niet meer afhankelijk van de kennis in de hoofden van specifieke personen. Dit maakt het beheer en de groei van je cloudomgeving veel makkelijker en overzichtelijker, ook bij personeelswisselingen.

IaC is dus geen technische kwestie. Het is een integraal deel van je product- en organisatievisie. Door vanaf het begin IaC in te zetten, zorg je dat je niet achteraf hoeft te repareren, maar dat alles altijd op de juiste manier staat.

Wil je kennismaken of heb je een vraag?

Stuur een bericht