Gellért Sós

Sós Gellért

  · 7 min read

Infrastruktúra mint prompt (IaP) és az AWS Prompt Library

A természetes nyelv vajon helyettesítheti az infrastruktúra kódot?

A természetes nyelv vajon helyettesítheti az infrastruktúra kódot?

Bevezető

Teszteltem az AWS Prompt Library két beta promptját Amazon Q CLI segítségével, és összehasonlítottam az IaC és IaP megközelítéseket.

A technológiában időnként olyan változások történnek, amelyek teljesen átírják, hogyan építünk és működtetünk rendszereket. Az Infrastructure as Code (IaC) ilyen fordulópont volt: a kézi konfigurációt felváltotta a verziókezelt, automatizált telepítés. Most egy újabb ugrás előtt állunk: az Infrastructure as Prompt (IaP).

Bár egy beta verzióról van szó, de ettől függetlenül már részfeladatokat el tud látni amivel segiteni tudja a szakértők munkájának hatékonyságát.

Mi az az Infrastructure as Prompt (IaP)?

Gondoljunk rá úgy, mint a felhő-automatizálás következő lépcsőfokára. Ahelyett, hogy Terraform, CloudFormation vagy Pulumi kódot írnánk, egyszerűen természetes nyelven mondjuk el, mire van szükségünk – az AI ügynökök pedig működő infrastruktúrává alakítják. Például ahelyett, hogy kódban ezt írjuk:

resource "aws_instance" "web" {
  ami = "ami-0c55b159cbfafe1"
  instance_type = "t3.micro"
  tags = {
    Name = "example-instance"
  }
}

Elég ha természtes nyelven azt írjuk:

“Hozz létre egy AWS EC2 példányt a legújabb Amazon Linux 2 AMI használatával, t3.micro példánytípussal. Jelöld meg a példányt a ‘example-instance’ névvel”.

Az AI ügynök értelmezi a kérést, ellenőrzi a biztonsági szabályok szerint, majd létrehozza az infrastruktúrát – akár kódgenerálással, akár közvetlen API hívásokon keresztül. Ez nem csupán kényelmi funkció. Az IaP használatával már nem csak szakemberek hozhatnak létre felhő-erőforrásokat: fejlesztők, adatelemzők, sőt üzleti vezetők is egyszerűen megfogalmazhatják az igényeiket, anélkül hogy ismernék az IaC eszközöket. A háttérben a szabályzatok, költségkeretek és biztonsági korlátok automatikusan érvényesülnek.

Mivel eltűnnek a szintaxisbeli nehézségek, a prompt alapú megközelítés látványosan felgyorsítja az infrastruktúra létrehozását. Nincs szükség dokumentáció böngészésére vagy hibakeresésre egy-egy kódrészlet miatt. Az AI önállóan optimalizál terhelésre, költségekre és előírásokra, olyan döntéseket hozva, amelyekhez korábban szakértői tudás kellett – miközben a beépített védelmi korlátok garantálják a vállalati szabályok betartását. Az AWS is felismerte ebben a potenciált, ezért létrehozták a Prompt Library-t.

Mi az az AWS Prompt Library?

Az AWS Prompt Library egy olyan gyűjtemény, amely előre elkészített promptokat kínál AI-modellekhez és infrastruktúra-tervezéshez. Ezeknek a promptoknak a teszteléséhez az Amazon Q-t használtam.

Mi az az Amazon Q?

Amazon Q CLI
Amazon Q CLI

Az Amazon Q az AWS generatív AI-asszisztense, amely természetes nyelvű utasítások alapján képes kódot, architektúrákat és parancsokat generálni. A hatékony használathoz szükségesek az MCP-k (Model Context Protocol), amelyek kulcsfontosságú szerepet játszanak abban, hogy az Amazon Q zökkenőmentesen kapcsolódjon külső rendszerekhez és szolgáltatásokhoz.

Mi az a Model Context Protocol (MCP)?

MCP szerver előtt és után
MCP szerver előtt és után

A Model Context Protocol (MCP) egy nyílt szabvány, amely egységes interfészt biztosít AI-modellek és külső rendszerek közötti kommunikációhoz. Lényegében egy szabványosított híd az AI és a külvilág - API-k, adatbázisok, felhőszolgáltatások - között, amely biztonságos és kontrollált hozzáférést tesz lehetővé. Az AWS-nek is vannak MCP szerverei, amelyek különböző szolgáltatásokhoz adnak hozzáférést.

A teszthez három AWS MCP szervert használtam:

  1. AWS API MCP Server - Közvetlen hozzáférést ad AWS SDK műveletekhez (pl. S3, EC2, DynamoDB, Lambda, stb.). Lehetővé teszi az AI számára, hogy API hívásokat indítson AWS szolgáltatásokra.
  2. AWS Knowledge MCP Server - Az AWS dokumentációhoz és tudásbázishoz nyújt hozzáférést. Az AI így naprakész információkat kaphat az AWS szolgáltatásokról, best practice-ekről és konfigurációs részletekről közvetlenül a hivatalos forrásokból.
  3. AWS Cloud Control MCP Server - Az AWS Cloud Control API-n keresztül egységes interfészt biztosít számos AWS erőforrás kezeléséhez. Általános CRUD (Create, Read, Update, Delete) műveleteket tesz lehetővé különböző AWS szolgáltatásokon keresztül, egységes módon kezelve a különböző erőforrás típusokat.

Első prompt teszt: Startup Landing Page Deployment

Ennek a promptnak célja, hogy egy modern, reszponzív kezdőoldalt építsen fel, amely tartalmaz árképzési szekciót, kapcsolatfelvételi űrlapot és Stripe-alapú előfizetéses fizetési megoldást. A háttérben serverless AWS infrastruktúrát használ (S3, CloudFront, API Gateway, Lambda, DynamoDB), mindezt Infrastructure-as-Code formában, Terraformmal megvalósítva.

Gondoskodik a biztonsági beállításokról (privát S3 bucket, HTTPS, IAM szerepkörök), a böngésző-kompatibilitásról (CORS konfiguráció), valamint a hibakezelésről és tesztelési dokumentációról. Így a startupok egy kész, éles környezetre kész alapot kapnak, amely skálázható, biztonságos és gyorsan bevezethető.

Ime, a promptból készült landing oldal az árképzési szekcióval és a kapcsolatfelvételi űrlappal:

Prompt Library - Landing Oldal
Prompt Library - Landing Oldal

Így néz ki a Stripe-alapú előfizetéses oldal:

Prompt Library - Stripe Checkout
Prompt Library - Stripe Checkout

Ez a kép fogadna a sikeres fizetést követően:

Prompt Library - Fizetés Sikeres
Prompt Library - Fizetés Sikeres

Ez pedig ha nem sikerült a fizetés:

Prompt Library - Megszakított fizetést jelző oldal
Prompt Library - Megszakított fizetést jelző oldal

A prompt kipróbálása során pozitív tapasztalataim voltak: mind az Infrastructure-as-Code (IaC) alapú, mind a természtes nyelv (IaP) telepítési mód hasonlóan stabil eredményt adott.

A rendszer konzisztensen működött, az oldalak megjelentek, az adatbázisba való mentés és a Stripe integráció is hibamentesen zajlott. A többszöri futtatás során csak minimális eltéréseket tapasztaltam, ami megerősíti, hogy a prompt jól skálázható és megbízható alapot nyújt a további fejlesztésekhez.

Második prompt teszt: Container Orchestration

Az általam válaszott prompt egy konténerizált alkalmazás AWS-alapú bevezetését támogatja, Kubernetesre (EKS) optimalizálva. A cél egy olyan felhős architektúra kialakítása, ahol egy Node.js alkalmazás PostgreSQL adatbázissal biztonságosan, hatékonyan és rugalmasan működik.

Főbb architekturális elemek:

  1. Kubernetes (Amazon EKS): Az alkalmazás konténerekben fut, a klaszter működését pedig automatizált komponensek támogatják:
    • Horizontal Pod Autoscaler – alkalmazásszintű skálázás
    • Cluster Autoscaler – klaszterszintű erőforrás-igazítás
    • Application Load Balancer – forgalomelosztás és routing
  2. Adatbázisréteg (Amazon RDS – PostgreSQL): A perzisztens adatkezelést egy menedzselt, magas rendelkezésre állásra optimalizált RDS-adatbázis biztosítja.
  3. Konténer image-ek kezelése (Amazon ECR): A Node.js alkalmazás konténer image-ei biztonságosan az AWS privát registryjében tárolódnak.
  4. Infrastructure-as-Code: A teljes infrastruktúra deklaratív módon épül fel:
    • Terraform a felhőerőforrásokhoz
    • Helm chartok az alkalmazás telepítéséhez és frissítéséhez
  5. Biztonsági és költségoptimalizálási megoldások
    • RBAC és titkok biztonságos kezelése
    • Hálózati szabályok (Security Groupok, hálózati policy-k)
    • Költséghatékony futtatás Spot instance-ekkel
  6. Monitorozás és naplózás: A rendszer állapotát és teljesítményét több réteg figyeli:
    • AWS CloudWatch
    • Prometheus és Grafana

A gyakorlatban belefutottam néhány hibába. A prompt első futtatása után az EKS klasztert ugyan létrehozza, a Terraform kódban azonban akadtak hibák:

Működő AWS EKS klaszter
Működő AWS EKS klaszter
Prompt által kapott hibák
Prompt által kapott hibák

A hibák okai:

  1. PostgreSQL verzió hiba: A Terraform kódban a PostgreSQL verziója fixen 15.4-re van állítva. Az AWS RDS szolgáltatásban azonban ez a konkrét alverzió vagy már nem elérhető (deprecated), vagy az adott régióban még nem támogatott. Az adatbázis verziójának átírásával ez a hiba könnyedén javítható.

  2. IAM Policy hiánya: A Terraform kód megpróbál csatolni egy Policy-t egy Role-hoz, de a Policy nem létezik. Nem ismerte fel ezt a hibát, ezért manuálisan kellett létrehoznom AWSLoadBalancerControllerIAMPolicy-t.

Az AWS Prompt Library, támogató szerepet be fog tudni tőlteni ha majd kiforja magát a fejlesztés, de ettől függetlenül a szakértők jelenléte elengedhetelen.

A promptot kétféleképpen is kipróbáltam: futtattam Terraform-alapú (IaC) megközelítéssel, illetve természetes nyelvi (IaP) módon is.

Mindkét esetben hasonló eredményeket kaptam. Az EKS klaszter létrejött, a konténerizált alkalmazás elindult, és a komponensek nagy része működött. Ugyanakkor a hibák (pl. RDS verzióütközés, hiányzó IAM policy) azt mutatják, hogy a prompt nem minden esetben kezeli a régióspecifikus vagy időközben változó AWS konfigurációkat. Ennek ellenére a rendszer jól strukturált, és némi manuális beavatkozással stabil, éles környezetre alkalmas rendszert lehet kialakítani belőle.

Összegzés

A tesztek alapján egyértelmű: technológiai szintlépés előtt állunk, de még csak az út elején járunk. Az Infrastructure as Prompt (IaP) ígérete hatalmas, hiszen radikálisan gyorsíthatja a fejlesztést, ám a tapasztalt hibák – például a verzióütközések és hiányzó jogosultságok – azt mutatják, hogy a technológia jelenleg még nem teljesen kiforrott.

Az AI megoldásai lenyűgözőek, de még nem működnek „robotpilóta” üzemmódban: a szakértő emberi felügyelet és a manuális javítás, vizsgálat, közbeavatkozás elengedhetetlen.

A valódi áttörést a Model Context Protocol (MCP) fejlődése hozza majd el. Ahogy ezek a szerverek egyre mélyebb, élő kapcsolatot teremtenek a rendszerek, API-k és a dokumentációk között, úgy válnak majd az AI-ügynökök is megbízhatóbbá, kiküszöbölve az elavult információkból eredő hibákat, segítve ezzel a szakértők hatékonyságát.

A jövőkép tehát nem az, hogy a természetes nyelv teljesen leváltja a kódot. Sokkal inkább arról van szó, hogy olyan AI-asszisztenseket kapunk magunk mellé, amelyek átveszik a “favágó munkát” (boilerplate kódok, alapkonfigurációk), így mi a valódi, komplex mérnöki feladatokra fókuszálhatunk.

Az AI nem a helyettesünk, hanem a leghatékonyabb eszközünk lesz.

Források


Érdekel a téma? Kérdés merült fel a cikkel kapcsolatosan? Foglalj egy ingyenes konzultációt és nézzük meg, hogy a Code Factory csapata miben tud segíteni neked / nektek, vagy nézz körül a szolgáltatásaink között!

Vissza a cikkekhez