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:
- Vibe-koodaa sovellus: Lovable, Bolt, Cursor, Claude Code, mikä tahansa toimii
- Määrittele infrastruktuuri koodina: Pulumi (TypeScript) tai Terraform (HCL)
- CI/CD validoi kaiken: sovelluskoodi JA infrastruktuurimuutokset
- Julkaise automaattisesti: ei koskaan manuaalisesti
# .github/workflows/deploy.ymlname: Deployon:push:branches: [main]jobs:deploy:runs-on: ubuntu-lateststeps:- 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ökalu | Kieli | Sopii parhaiten |
|---|---|---|
| Pulumi | TypeScript, Python, Go | Tiimeille jotka kirjoittavat jo TypeScriptiä. Sama kieli sovellukselle ja infralle (Suositeltu) |
| Terraform | HCL | Suurille tiimeille joilla on dedikoitu DevOps, multi-cloud-ympäristöt |
| SST | TypeScript | Serverless-first AWS-projektit |
| CDK | TypeScript, Python | Pelkä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.