Serverless computing lader dig koere kode uden at administrere servere. Du skriver funktioner, deployer dem, og platformen haandterer skalering, tilgaengelighed og infrastruktur. I 2026 dominerer tre platforme serverless-landskabet: AWS Lambda, Vercel Serverless Functions og Cloudflare Workers. Hver har forskellige styrker og kompromiser.
I denne artikel sammenligner vi dem med virkelige eksempler, ydeevneovervejelser og prisanalyser.
Hvordan Serverless Virker
Du deployer en funktion. Naar en anmodning ankommer, goer platformen foelgende:
- Starter et eksekveringsmiljoe (eller genbruger et allerede opvarmet)
- Koerer din funktion
- Returnerer svaret
- Skalerer til nul ved inaktivitet (du betaler ikke for inaktiv tid)
Platformoversigt
AWS Lambda
Den originale serverless platform (lanceret 2014). Den mest modne og funktionsrige, med dyb integration i AWS-oekosystemet.
// AWS Lambda handler export const handler = async (event) => { const body = JSON.parse(event.body); const result = await processData(body); return { statusCode: 200, headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(result), }; };
Vercel Serverless Functions
Taet integreret med Next.js og frontend-deployment-workflowet. Funktioner deployes sammen med din frontend uden konfiguration.
// app/api/hello/route.ts (Next.js App Router) import { NextResponse } from 'next/server'; export async function GET(request: Request) { const { searchParams } = new URL(request.url); const name = searchParams.get('name') || 'World'; return NextResponse.json({ message: `Hello, ${name}!` }); }
Cloudflare Workers
Koerer paa Cloudflares edge-netvaerk i over 300 byer verden over. Bruger V8-motoren (samme som Chrome) i stedet for Node.js, hvilket betyder ekstremt hurtige cold starts.
// Cloudflare Worker export default { async fetch(request, env) { const url = new URL(request.url); const name = url.searchParams.get('name') || 'World'; return new Response( JSON.stringify({ message: `Hello, ${name}!` }), { headers: { 'Content-Type': 'application/json' } } ); }, };
Funktionssammenligning
| Funktion | AWS Lambda | Vercel Functions | Cloudflare Workers |
|---|---|---|---|
| Runtime | Node.js, Python, Go, Rust, Java, .NET | Node.js, Python, Go, Ruby | V8 Isolates (JS/TS, Rust via WASM) |
| Maks eksekveringstid | 15 minutter | 60s (Hobby), 300s (Pro) | 30s (gratis), 15min (betalt) |
| Hukommelse | 128MB - 10GB | 1024MB - 3008MB | 128MB |
| Cold start | 100-500ms | 100-300ms | < 5ms |
| Deploy-placering | Enkelt region (eller multi med indsats) | Flere regioner | 300+ edge-placeringer |
| Maks payload | 6MB (synkron), 256KB (asynkron) | 4.5MB | 100MB |
| Indbygget lagring | Nej (brug DynamoDB, S3) | Nej (brug ekstern DB) | KV, D1 (SQLite), R2 (S3-kompatibel) |
| Prismodel | Per anmodning + varighed | Inkluderet i plan | Per anmodning + varighed |
| Gratis niveau | 1M anmodninger/maaned | 100K/maaned (Hobby) | 100K anmodninger/dag |
Cold Starts
Cold start er den tid det tager at initialisere en ny funktionsinstans. Dette er den stoerste ydeevnebekymring med serverless.
| Platform | Typisk Cold Start | Hvorfor |
|---|---|---|
| Cloudflare Workers | < 5ms | V8-isolationer, intet fuldt runtime noedvendigt |
| Vercel Functions | 100-300ms | Node.js runtime paa edge eller regionalt |
| AWS Lambda | 100-500ms | Fuld container-initialisering |
| AWS Lambda (Java) | 1-5 sekunder | JVM-opstartsoverhead |
Cloudflare Workers vinder cold starts med en enorm margin, fordi de bruger V8-isolationer i stedet for containere.
Prissammenligning
Gratis Niveau
| Platform | Gratis Anmodninger | Gratis Beregning |
|---|---|---|
| AWS Lambda | 1M/maaned | 400.000 GB-sekunder |
| Vercel | 100K/maaned | Inkluderet i Hobby-planen |
| Cloudflare Workers | 100K/dag (~3M/maaned) | 10ms CPU per kald |
I Stor Skala (10M anmodninger/maaned, gennemsnitlig varighed 50ms)
| Platform | Estimeret Maanedlig Omkostning |
|---|---|
| AWS Lambda | ~$2,50 (anmodninger) + |
| Vercel | $20/maaned (Pro-plan, inkluderer funktioner) |
| Cloudflare Workers | $5/maaned (betalt plan, inkluderer 10M anmodninger) |
For de fleste anvendelsestilfaelde er Cloudflare Workers billigst. Vercels prissaetning er enkel, men inkluderer hele platformen (hosting, CDN, analytics). AWS Lambda har den mest detaljerede prissaetning.
Virkelige Anvendelsestilfaelde
AWS Lambda: Bedst til
- Komplekse backend-workflows - step functions, haendelsesdrevne arkitekturer
- Integration med AWS-tjenester - S3-triggers, DynamoDB-streams, SQS-koeer
- Langvarige opgaver - op til 15 minutters eksekveringstid
- Flersprogede teams - understoetter det bredeste udvalg af runtimes
Vercel Functions: Bedst til
- Next.js-applikationer - API-ruter uden konfiguration
- Frontend-fokuserede teams - deploy frontend og backend sammen
- Hurtig prototyping - git push for at deploye
- Jamstack-arkitekturer - statisk frontend + serverless API
// app/api/subscribe/route.ts import { NextResponse } from 'next/server'; export async function POST(request: Request) { const { email } = await request.json(); // Validate if (!email || !email.includes('@')) { return NextResponse.json( { error: 'Invalid email' }, { status: 400 } ); } // Save to database await db.subscribers.create({ email }); return NextResponse.json({ success: true }); }
Cloudflare Workers: Bedst til
- API'er med lav latenstid - kode koerer paa 300+ placeringer verden over
- Edge computing - transformer svar, A/B-test, personalisering
- API'er med hoejt volumen - billigst i stor skala med generoes gratis niveau
- Globale applikationer - data taet paa brugerne med KV og D1
// Edge-side A/B test export default { async fetch(request, env) { const url = new URL(request.url); // Assign user to variant const cookie = request.headers.get('Cookie') || ''; let variant = cookie.includes('ab=b') ? 'b' : 'a'; if (!cookie.includes('ab=')) { variant = Math.random() < 0.5 ? 'a' : 'b'; } // Fetch the appropriate version const response = await fetch(`${url.origin}/variants/${variant}`); const newResponse = new Response(response.body, response); // Set cookie for consistent experience newResponse.headers.set('Set-Cookie', `ab=${variant}; Path=/; Max-Age=86400`); return newResponse; }, };
Hvornaar man skal vaelge hvilken
Vaelg AWS Lambda hvis:
- Du allerede er investeret i AWS-oekosystemet
- Du har brug for langvarige funktioner (op til 15 minutter)
- Du har brug for komplekse haendelsesdrevne arkitekturer
- Du har brug for runtimes ud over JavaScript (Python, Go, Rust, Java)
Vaelg Vercel Functions hvis:
- Du bygger med Next.js eller et frontend-framework
- Du oensker den enkleste deploy-oplevelse (git push)
- Dit team er frontend-fokuseret
- Du oensker hosting + funktioner + CDN i en platform
Vaelg Cloudflare Workers hvis:
- Du har brug for den lavest mulige latenstid globalt
- Du oensker den billigste mulighed i stor skala
- Du har brug for edge computing-kapaciteter
- Cold start-tid er kritisk for dit anvendelsestilfaelde
Kan man kombinere dem?
Absolut. En almindelig arkitektur:
- Cloudflare Workers: edge-routing, caching, sikkerhed
- Vercel Functions: frontend API-ruter, SSR
- AWS Lambda: tung backend-behandling, planlagte opgaver, haendelses-pipelines
Konklusion
Serverless er modnet betydeligt. I 2026 afhaenger valget mellem AWS Lambda, Vercel Functions og Cloudflare Workers af din stack og dine prioriteter:
- Enkleste udvikleroplevelse: Vercel
- Mest kraftfuld og fleksibel: AWS Lambda
- Bedste ydeevne og priser: Cloudflare Workers
Alle tre er produktionsklare og kamptestede. Start med den der passer til din nuvaerende stack, og udvid efterhaanden som dine behov vokser.