Serverless-Only
Workers / Lambda / Functions everywhere. No machines to babysit.
The "I refuse to operate any servers" path. Possible end-to-end in 2026 across multiple providers, with real tradeoffs.
The platforms
Cloudflare-flavored (the "all CF" stack)
- ★ Cloudflare Workers — V8 isolates; fast cold starts; truly global. The default for new edge-first apps.
- Cloudflare Pages + Workers — combined static + server.
- Cloudflare D1 — SQLite at the edge.
- Cloudflare R2 — S3-compatible, no egress fees.
- Cloudflare KV / Cache API — fast reads at the edge.
- Cloudflare Queues / Workflows — async work.
- Durable Objects — single-instance stateful actors; multiplayer / chat / counters.
- Vectorize / Workers AI — AI without leaving CF.
AWS-flavored (Lambda + DynamoDB)
- ★ AWS Lambda — the originator; 1M req/mo free tier.
- DynamoDB — serverless NoSQL with on-demand pricing.
- API Gateway / Lambda Function URLs — HTTP entry.
- EventBridge / SQS / SNS — async pipelines.
- S3 — object storage.
- AWS Step Functions — durable workflows.
- SST — TS-flavored IaC for serverless on AWS.
GCP-flavored
- Cloud Run — serverless containers (cold-start + autoscale).
- Cloud Functions — function-as-a-service.
- Firestore — serverless NoSQL.
- Cloud Tasks / Pub/Sub — async.
- Workflows — durable orchestration.
Vercel / Netlify-flavored (frontend-driven)
- Vercel Functions — Edge + Node serverless.
- Vercel KV / Postgres / Blob — bundled stores.
- Netlify Functions / Edge Functions — same shape.
- Pair with Neon / Supabase / Convex for the DB layer.
Other
- Deno Deploy — serverless Deno.
- Bun on Workers patterns — emerging.
- Modal / Replicate / Beam — serverless GPU compute for AI.
What you give up
- Long-running processes. Background jobs need workflow engines (Inngest, Trigger, CF Workflows).
- Disk. Tmpfs at best; persistent data lives in object stores or DBs.
- WebSockets at scale — Workers Durable Objects help; raw Lambda struggles.
- Cold starts. Workers are great here; Lambda VPC + Java is not.
- Egress / data costs — every byte leaving your serverless code can cost money.
What you gain
- No machines. No SSH, no patches, no
apt update. - Bursty cost model. Pay for actual usage; idle is free.
- Global distribution. Workers / Vercel Edge / Lambda@Edge.
- Compliance — most platforms come with SOC 2 / ISO / HIPAA.
Common stacks
- All-Cloudflare: Workers + Pages + D1 + R2 + Queues + Durable Objects.
- Vercel + Neon: Vercel Functions + Neon Postgres + R2 (or Vercel Blob) + Resend.
- AWS-native: Lambda + DynamoDB + S3 + EventBridge + Step Functions, deployed via SST or CDK.
- Convex stack: Convex (DB + functions) + Vercel for frontend + Resend.
When serverless is wrong
- Heavy CPU / sustained workloads (training models, big batch jobs).
- Apps with many long-lived WebSockets and real session state (Durable Objects help).
- Strict latency to a non-CDN-cached database.
- Predictable steady traffic where reserved instances dominate.
Pick this if…
- Bursty / unpredictable traffic.
- Side projects, indie SaaS, MVPs.
- Apps where you'd rather pay AWS than a sysadmin.
- You want global low-latency without thinking about regions.
Skip if your workloads are CPU-heavy / sustained, if you have predictable steady load, or if your data has compliance constraints that bite serverless data residency assumptions.