Een immutable infrastructure is een infrastructuur waarbij de servers achteraf niet meer gemodificeerd kunnen worden. De keuze tussen een immutable infrastructure en een mutable infrastructure is een lastige. Er komen veel dingen bij kijken. In welke omgeving gaat je applicatie komen, voor wie en wat zijn de consequenties. Dit zijn allemaal zware keuzes aangezien de rest van je applicatie en ook het functioneren ervan er zeer vanaf hangt. In deze blog worden alle voor- en nadelen voor je uiteengezet. Nieuwsgierig geworden? Lees gerust verder.

Een mutable infrastructure

Bij de traditionele mutable server infrastructure worden servers continu geŁpdatet en gemodificeerd op locatie. De engineers en administrators die met dit soort infrastructure werken kunnen via Secure Shells aan de servers werken. Ze kunnen de servers up- en downgraden, tweak configuration uitvoeren en nieuwe code direct op de bestaande servers inzetten. Oftewel, deze servers zijn mutable, veranderbaar. Je kunt ze veranderen nadat ze gemaakt en ingesteld zijn. Infrastructure die bestaat uit mutable servers kunnen zelf ook mutable genoemd worden.

Een immutable infrastructure

Een immutable infrastructure is een ander model voor infrastructuur waarbij servers nooit gemodificeerd worden nadat ze zijn gemaakt. Als iets geŁpdatet, gerepareerd of aangepast moet worden, moeten er nieuwe servers gebouwd worden en alles aangepast worden.

De voordelen van een immutable infrastructure zijn onder andere betere consistentie, hogere betrouwbaarheid en een simpelere en beter voorspelbaar deployment proces. Het kan de problemen met mutable infrastructures volledig voorkomen of grotendeels afzwakken, denk dan aan problemen als configuration drift en snowflake servers. Het gebruik van mutable infrastructure bevat echter een uitgebreide implementatie automatisering, snelle server voorziening in een cloud omgeving en oplossingen voor het behandelen van data.

Verschillen tussen mutable en immutable infrastructure

Het fundamentele verschil zit natuurlijk in het feit dat het ene niet veranderd kan worden na het lanceren ervan, wat ervoor zorgt dat je ze fysiek moet vervangen als je ze wil veranderen, en het andere kan wel veranderd worden. Er zijn zowel praktische en conceptuele verschillen tussen server-based mutable en immutable infrastructures.

Praktisch gezien is de mutable infrastructure een veel ouder infrastructure model dat nog stamt uit de tijd van voor de core technologieŽn, zoals virtualization en cloud computing. Deze core technologieŽn maken de immutable infrastructure mogelijk en praktisch in gebruik. Met deze korte geschiedenis in het achterhoofd kun je de context bij de conceptuele verschillen en de implicaties daarvan begrijpen.

Op conceptueel niveau zijn de twee typen infrastructuur zeer verschillend qua aanpak van de server zelf, dit is dus in het creŽren, onderhouden, updaten en vernietigen van en op de server.

Praktische verschillen
Voordat virtualization en cloud computing mogelijk werden, was server infrastructuur volledig afhankelijk van fysieke servers. Dit was natuurlijk heel erg duur dus het vervangen van deze servers werd weinig gedaan. Hiervandaan komen de mutable infrastructures. In plaats daarvan was er veel plaats voor het aanbrengen van veranderingen, updates en toevoegingen. De opkomst van virtualization en on-demand/cloud computing zorgde voor een verandering. De servers werden minder duur en konden simpel vervangen worden. Dit maakte dat deployment workflows en server management technieken mogelijk werden voor de eerste keer. Door de lage kosten en de vele mogelijkheden kwamen de immutable servers.

Conceptuele verschillen
Dankzij de fundamentele conceptuele verandering dat servers weggegooid konden worden werd cloud computing mogelijk. Het is niet handig om een fysieke server te vervangen maar een virtuele kan makkelijk, het is zelfs efficiŽnt. Een mooie analoog die wordt gebruikt is de pets vs cattle analoog. Het huisdier vs de kudde. Het huisdier, de mutable server, is niet te vervangen omdat het uniek is. De kudde, de immutable server, is vervangbaar en dus veel flexibeler voor bedrijven.

Voordelen van de immutable infrastructure

Geen van de deployments in een immutable infrastructure hangen af van de vorige staat van een server en kunnen om die reden niet falen, of gedeeltelijk voltooien. De nieuwe servers kunnen van te voren worden getest waardoor het uiteindelijke deployment proces gemakkelijker gaat. De deployment wordt dus volledig en succesvol, of er gebeurt helemaal niets. Dit maakt deployment vele malen betrouwbaarder en zorgt ervoor dat de toestand van iedere server in de infrastructuur altijd bekend is.

Alle configuratie veranderingen worden geÔmplementeerd door het toevoegen van een geŁpdatete versie, in een versie controleur, met documentatie. Dit gebeurt door gebruik te maken van een geautomatiseerd en geŁnificeerd deployment proces om servers met een bepaalde versie te vervangen. Dit voorkomt gecompliceerde en moeilijk reproduceerbare setups doordat het risico van snowflake servers en configuration drift wordt geŽlimineerd.

Door het gebruik van deze versie controleur kun je gemakkelijk de geschiedenis van de server bijhouden en dus ook makkelijk terug gaan naar een oudere versie, mocht je dingen willen veranderen.

Geef je trainingsplan (infra)structuur bij Master it Training

Zoals je kunt bedenken is het ontwerpen en bepalen van je infrastructuur van essentieel belang voor je organisatie en het functioneren ervan. Daarom is het belangrijk dat dit goed gebeurd. Met decertificering Microsoft Certified: Azure Solutions Architect Expert kun je een begin maken aan het hele proces van de infrastructure. Wil jouw bedrijf nog in een hybride omgeving werken dan is de Training Integrating On-Premises Core Infrastructure with Microsoft Azure (MS10992) gemaakt voor jou, je leert PaaS en IaaS integreren en je leert alles wat je nodig hebt om een adequate hybride oplossing neer te zetten. De Training Installation, Storage, and Compute with Windows Server 2016 leert jou alles vanaf het begin tot het eind voor het opzetten en ontwerpen van een Server Infrastructure.

Weten of een van deze trainingen echt iets voor jou is en op welk niveau je deze training dan moet volgen? Een goed advies is een goed begin en daarmee al het halve werk! Daarom helpen we je graag. Je kan rechtsonder op het Chat venster klikken of bellen naar 040 23 23 390 voor advies over je trainingstraject.