Infrastructure as Code (IaC), wat inhoudt dat je infrastructuur beheert en voorziet via code in plaats van handmatige processen, is de laatste tijd steeds populairder geworden. Het maakt het beheer van IT-infrastructuur een stuk eenvoudiger door veel van het gedoe dat met handmatig beheer komt, weg te nemen.
Maar er is een nieuwe innovatie in het IT-infrastructuurbeheer. Infrastructure from Code (IfC) is een snel opkomend concept en heeft de potentie om de toekomst van serverless computing nog meer te veranderen. Maar wat is Infrastructure from Code? En hoe verhoudt deze technologie zich tot Infrastructure as Code? Dat leggen we in dit artikel uit.
Wat is Infrastructure from Code?
Infrastructure from Code is een manier om cloudbronnen te creëren, configureren en beheren door de broncode van een softwareapplicatie te begrijpen. Het unieke van deze technologie is dat het geen expliciete beschrijving nodig heeft om dit te doen. In plaats van op hoog detail niveau (technische configuratie) en control-plane (beheer en configuratie) specifieke instructies te schrijven, leidt Infrastructure from Code de vereisten af uit de applicatielogica en voorziet het de ideale cloudinfrastructuur. Daarom is IfC op veel manieren een nieuwe en radicaal andere benadering voor het snel en foutloos bouwen van schaalbare apps.
Het verschil tussen IaC en IfC
Maar wat zijn de belangrijkste verschillen tussen IaC en IfC? Als je IaC gebruikt, worden geconfigureerde bestanden aangemaakt. Deze bevatten je infrastructuurspecificaties, wat het veel makkelijker maakt om configuraties te bewerken en te distribueren in vergelijking met een handmatige workflow. IaC zorgt er ook voor dat je elke keer dezelfde omgeving voorziet. Door je configuratiespecificaties te codificeren en te documenteren, helpt IaC bij configuratiemanagement en vermijdt je ongeplande, ad-hoc configuratiewijzigingen.
Wanneer je met Infrastructure as Code werkt, moet de cloudprovider je infrastructuurbronnen expliciet definiëren in een aantal aparte bestanden. De meest voorkomende formaten zijn YAML of CDK-stacks. Als je kiest voor Infrastructure from Code, hoeft de cloudprovider alleen maar je applicatiecode te inspecteren. De technologie zorgt dan voor het voorzien van alle onderliggende infrastructuur die je applicatiecode nodig heeft. IfC-tools doen dit door te zoeken naar conventies en aanwijzingen binnen je applicatiecodebestanden.
De voordelen van Infrastructure from Code
Infrastructure from Code heeft verschillende belangrijke voordelen vergeleken met de meeste gerelateerde technologieën. Laten we eens kijken naar de belangrijkste.
Minder code
Een van de duidelijke voordelen van IfC is dat je minder code hoeft te schrijven wanneer je een applicatie ontwikkelt of wijzigt. IfC haalt ook de noodzaak weg om IaC-talen zoals CloudFormation te leren, wat een behoorlijke leercurve heeft voor ontwikkelaars die nieuw zijn met serverless technologie.
makkelijker te porten
Moderne applicaties moeten “porteerbaar” zijn. Dit betekent dat je ze flexibel kunt verplaatsen tussen verschillende providers en technologieën zonder in te leveren op prestaties en functionaliteit. IfC maakt dit veel makkelijker omdat de technologie je toestaat om je applicatiecodebehoeften te behouden, ongeacht de onderliggende infrastructuur.
Zelfvoorzienende infrastructuur
IfC maakt infrastructuren zelfvoorzienend. Dit betekent dat ontwikkelaars niet te maken hebben met het schrijven van zowel applicatielogica als infrastructuur-specifieke instructies.
Ontlasten van ontwikkelaars
IfC ontlast ontwikkelaars. Het geeft hen de mogelijkheid om hun bestaande programmeervaardigheden volledig te benutten, waardoor ze zich kunnen concentreren op het schrijven van bedrijfslogica in plaats van voortdurend veranderende clouddiensten te moeten leren. IfC biedt effectief een vertaallaag die automatisch de beste cloudpraktijken mogelijk maakt, terwijl ontwikkelaars tegelijkertijd hyperproductief worden.
De toekomst van applicatieontwikkeling?
“Als het Platonische ideaal van ontwikkelaarservaring een wereld is waar je alleen ‘bedrijfslogica schrijft’, is de logische einddoelstelling een combinatie van taal en infrastructuur die alles uitvogelt.”
Zo beschrijven voorstanders van IfC de technologie.
Het lijkt erop dat IfC de potentie heeft om de toekomst van moderne applicatieontwikkeling te worden, omdat het wegen opent naar voorheen onontdekte gebieden op het gebied van flexibiliteit, schaalbaarheid en draagbaarheid.
Maar het kan nog wel een paar jaar duren voordat we het beloofde land bereiken waar een volledig volwassen Infrastructure from Code de norm is. Het gebruik van de technologie op clouddiensten die nog niet IfC-ondersteund zijn of het aanbrengen van wijzigingen aan een onderliggende primitieve die nog niet blootgelegd is, kan nog steeds problematisch zijn. Maar we kunnen verwachten dat deze zorgen geleidelijk zullen afnemen naarmate IfC vordert en uitbreidt, waardoor het mogelijk wordt voor de technologie om haar volledige potentieel te bereiken.