Takaisin blogiin

Infrastruktuuri koodina ja vibe-koodaus

Olet vibe-koodannut sovelluksen. Se pyörii lokaalisti. Ehkä jopa julkaisit sen manuaalisesti Verceliin tai Railwayhin. Mutta sitten tulee kysymys: miten tämä tehdään luotettavasti?

Tässä kohtaa Infrastructure as Code (IaC) astuu kuvaan. Se on palanen joka useimmilta vibe-koodaajilta puuttuu kokonaan. Jos tulet nimenomaan Lovablesta, katso ensin siirtymäoppaamme.

Mitä vibe-koodauksesta puuttuu?

Useimmat vibe-koodaustyökalut jäävät sovellustasolle. Kukaan ei promptaa:

Pystytä VPC yksityisillä aliverkoilla, NAT-yhdyskäytävä, RDS-instanssi automatisoiduilla varmuuskopioilla ja Lambda-funktio asianmukaisilla IAM-rooleilla

Ja vaikka tekisitkin, haluaisit tuon infrastruktuurimäärittelyn olevan versioitu, katselmoitavissa ja toistettavissa. Eikä kertaluontoisen promptin tulos.

Miksi IaC on tärkeää AI-rakennetuille sovelluksille

1. Toistettavuus

Ilman IaC:tä tuotantoympäristösi on manuaalisesti konfiguroitu ja mahdoton luoda uudelleen. Kun jokin hajoaa, debuggaat sokeana.

IaC:n kanssa voit pystyttää identtisen ympäristön minuuteissa:

const vpc = new aws.ec2.Vpc("app-vpc", {
cidrBlock: "10.0.0.0/16",
enableDnsHostnames: true,
});
const db = new aws.rds.Instance("app-db", {
engine: "postgres",
instanceClass: "db.t4g.micro",
allocatedStorage: 20,
vpcSecurityGroupIds: [dbSecurityGroup.id],
backupRetentionPeriod: 7,
});

2. AI osaa kirjoittaa sitäkin

Kun sitoudut IaC:hen, AI-työkaluista tulee erinomaisia myös infrastruktuurikoodin kirjoittamisessa. Claude Code ja Cursor voivat generoida Pulumi- tai Terraform-konfiguraatioita, ja CI-putkesi validoi ne ennen kuin ne koskevat tuotantoa.

3. Koodikatselmointi infrastruktuurille

Kun infrastruktuurisi on koodia, se kulkee saman katselmointiprosessin läpi kuin sovelluskoodisi. Tiimikaveri voi huomata, että unohdit ottaa varmuuskopiot käyttöön tai jätit tietoturvaryhmän auki.

const lambda = new aws.lambda.Function("api", {
runtime: "nodejs20.x",
handler: "index.handler",
memorySize: 256,
timeout: 30,
vpcConfig: {
subnetIds: privateSubnets.map((s) => s.id),
securityGroupIds: [lambdaSg.id],
},
environment: {
variables: {
DATABASE_URL: db.endpoint,
NODE_ENV: "production",
},
},
});

4. Rollbackit hoituvat helposti

Julkaisitko huonon infrastruktuurimuutoksen? Peru commit, pushaa, ja edellinen infrastruktuurisi palautuu. Ei AWS-konsolin epätoivoista klikkailua.

Vibe-koodaus + IaC:n kehittäminen

Näin pystytämme tämän asiakkaillemme:

  1. Vibe-koodaa sovellus: Lovable, Bolt, Cursor, Claude Code, mikä tahansa toimii
  2. Määrittele infrastruktuuri koodina: Pulumi (TypeScript) tai Terraform (HCL)
  3. CI/CD validoi kaiken: sovelluskoodi JA infrastruktuurimuutokset
  4. Julkaise automaattisesti: ei koskaan manuaalisesti
# .github/workflows/deploy.yml
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: pnpm install --frozen-lockfile
- run: pnpm typecheck
- run: pnpm test
- run: pnpm build
- run: pulumi up --yes --stack production

IaC-työkalun valinta

TyökaluKieliSopii parhaiten
PulumiTypeScript, Python, GoTiimeille jotka kirjoittavat jo TypeScriptiä. Sama kieli sovellukselle ja infralle (Suositeltu)
TerraformHCLSuurille tiimeille joilla on dedikoitu DevOps, multi-cloud-ympäristöt
SSTTypeScriptServerless-first AWS-projektit
CDKTypeScript, PythonPelkästään AWS:ää käyttävät tiimit jotka tuntevat CloudFormationin

Suosittelemme tyypillisesti Pulumia tai SST:tä vibe-koodaustiimeille, koska käytätte jo TypeScriptiä. Ei uutta kieltä opeteltavaksi, ja AI-työkalut generoivat erinomaista Pulumi-koodia.

Sekä Pulumi että SST tukevat paljon muutakin kuin pelkkää AWS:ää. Niillä on ensiluokkainen tuki moderneille kehitysalustoille kuten Vercel, Neon, PlanetScale, Cloudflare, Supabase ja monille muille. Voit hallita kaikkia palveluntarjoajiasi yhdessä koodikannassa.


Haluatko apua IaC:n pystyttämiseen projektillesi? Ota yhteyttä. Teemme infrastruktuuristasi tuotantovalmiin.