Onderzoeksvraag en methodologie
De centrale onderzoeksvraag luidt: “Hoe kan een IaC-automatiseringsframework voor dynamische cloud deployment worden ontworpen dat waarborgt dat gegenereerde IaC-code voldoet aan de SLO-constraints van een applicatie?”
Deze vraag is bijzonder relevant omdat het ontwerpen van cloud infrastructuur diepgaande expertise vereist, moet voldoen aan door SLO’s gedefinieerde deployment constraints en ondanks de opkomst van IaC-tools een blijvende bottleneck vormt voor cloud adoptie. Het onderzoek hanteert een mixed-methods aanpak, waarin literatuurstudie, theoretisch framework-ontwerp en empirische evaluatie worden gecombineerd. De evaluatie is uitgevoerd via gecontroleerde experimenten met load testing en metric-collectie in Kubernetes-gebaseerde deployments.
Onderzoeksopzet en technieken
De studie introduceert een tweesporenframework dat zowel Large Language Models als statistische voorspelmethoden inzet. De aanpak maakt gebruik van GPT-4o om Terraform-code te genereren en iteratief aan te passen op basis van gespecificeerde SLO-constraints. Daarnaast worden statistische modellen — voornamelijk polynomiale regressie — toegepast om te voorspellen of infrastructuur SLO’s zal schenden vóór daadwerkelijke deployment. Het framework ondersteunt twee modi:
- Handmatige SLO-definitie, waarbij developers CPU- en memory-constraints specificeren.
- Metric-gebaseerde SLO-creatie, waarbij het systeem SLO’s afleidt uit baseline performance-data met behulp van polynomiale regressiemodellen.
De evaluatie maakt gebruik van de Google Microservices Demo-applicatie, load generation via Locust-benchmarks en monitoring met Prometheus en Grafana. De tests zijn uitgevoerd over langere perioden met variërende gebruikersbelasting.
Resultaten: belofte van automatisering versus constraint-afwegingen
De bevindingen schetsen een genuanceerd beeld van LLM-gedreven IaC-automatisering met duidelijke praktische beperkingen. In de metric-gebaseerde aanpak — waarbij SLO’s worden voorspeld op basis van geobserveerde baseline metrics — behaalde het framework tot 79% van de doel throughput (476 RPS ten opzichte van een target van 600 RPS) zonder SLO-schendingen na drie LLM-gestuurde code-aanpassingen. Dit presteerde aanzienlijk beter dan de handmatige SLO-aanpak, die slechts 22% van de doel throughput behaalde (131 RPS bij een target van 600 RPS). Deze verbeterde throughput ging echter gepaard met meetbare nadelen, zoals hogere gemiddelde responstijden en een verhoogd faalpercentage vergeleken met de baseline infrastructuur.
Een cruciale bevinding betreft het gedrag van LLMs: de kwaliteit van de gegenereerde IaC-code is sterk afhankelijk van prompt design en informatiestructurering. Wanneer specifieke service-level SLO’s werden meegegeven, had het model de neiging om deze services te overaccentueren en andere te verwaarlozen. Daarnaast bleek het systeem moeite te hebben met multi-service reasoning wanneer infrastructuurcomponenten faalden. Bovendien waren de native resource-voorspellingen van de LLM te simplistisch: resource limits werden opgeteld zonder rekening te houden met daadwerkelijk gebruik, wat leidde tot ondergeprovisioneerde of inconsistent afgestemde infrastructuur.
Kritische implicaties en beperkingen
Het onderzoek toont aan dat effectieve SLO-aware IaC-automatisering meer vereist dan alleen LLM-gegenereerde code. Metric-gebaseerde SLO-afleiding bleek superieur aan handmatige definities, omdat deze is gebaseerd op daadwerkelijk applicatiegedrag in plaats van expertinschattingen, waardoor zowel schendingen als gehallucineerde infrastructuuraannames worden verminderd. Tegelijkertijd werden fundamentele beperkingen blootgelegd: LLMs zijn niet-deterministisch, waardoor identieke inputs tot verschillende outputs kunnen leiden, en beperkingen in het context window maken het onpraktisch om grote IaC-bestanden direct in prompts op te nemen zonder zorgvuldige abstractie.
De belangrijkste conclusie betreft de wisselwerking tussen constraint satisfaction en performance-optimalisatie. Strakkere SLO-constraints voorkomen overbelasting, maar degraderen inherent performance-metrics zoals throughput en latency ten opzichte van onbegrensde baseline systemen. Het onderzoek concludeert dat succesvolle IaC-automatisering een balans moet vinden tussen drie concurrerende doelstellingen: het minimaliseren van hallucinations via zorgvuldig prompt engineering, het baseren van SLO’s op empirische data in plaats van aannames, en het iteratief verifiëren van compliance via load testing in plaats van uitsluitend voorspellende modellen.