Edge functions run your code close to users worldwide. Cloudflare Workers, AWS Lambda, and Deno Deploy take three different approaches to serverless at the edge. Here's how they compare on cold starts, pricing, and the developer experience that actually matters.
Quick Comparison
| Cloudflare Workers | AWS Lambda | Deno Deploy | |
|---|---|---|---|
| Runtime | V8 isolates (custom) | Node.js, Python, Java, Go, etc. | Deno (V8) |
| Cold start | Near-zero (isolates) | 50-500ms (container-based) | Near-zero (isolates) |
| Global locations | 330+ (largest edge network) | 30+ regions (not edge by default) | 30+ (edge) |
| Free tier | 100K req/day | 1M req/month (1 year) | 100K req/day |
| Max execution time | 30s (paid: 15 min with tail workers) | 15 min | 10s (request), 30s (queue) |
| Node.js compat | Limited (not Node — V8 isolates) | Full Node.js | Web-standard APIs |
| npm support | Limited (subset works) | Full (entire ecosystem) | Good (npm: specifier in Deno 2+) |
Cloudflare Workers — Largest Edge, Lowest Latency
Cloudflare Workers run on 330+ locations worldwide. The V8 isolate model means near-zero cold starts — your code starts in microseconds, not milliseconds. The free tier (100K req/day) is extremely generous. For globally-distributed APIs, nothing beats the latency profile.
Best for: Globally-distributed APIs, simple request handlers, projects that benefit from 330+ PoPs, generous free tier users.
Weak spot: Not real Node.js (V8 isolates). Many npm packages don't work. 30s timeout (shorter than Lambda). Debugging is harder than Lambda.
AWS Lambda — Full Node.js, Powerful Ecosystem
AWS Lambda is the original serverless platform. It runs actual Node.js (full npm ecosystem), supports 10+ languages, and integrates with the entire AWS ecosystem (API Gateway, DynamoDB, SQS, S3, etc.). For complex serverless applications, Lambda's maturity is unmatched.
Best for: Complex applications with full npm dependencies, projects needing 15-minute execution time, teams already in the AWS ecosystem, multi-language serverless.
Weak spot: Cold starts (50-500ms vs near-zero for Workers/Deno). Not truly edge (30+ regions). More complex configuration (IAM, API Gateway).
Deno Deploy — Web Standards at the Edge
Deno Deploy runs Deno (with web-standard APIs) at the edge. It's the simplest deployment model: push code, get a URL. Zero configuration. Web-standard APIs (fetch, Request, Response, URL) make your code portable — the same code runs in browsers, Deno CLI, and Deno Deploy.
Best for: Deno developers, web-standard API enthusiasts, quick global deployments, projects that value simplicity and portability.
Weak spot: Smaller ecosystem than Workers or Lambda. 10s request timeout (short). Deno-specific (not Node.js). Smaller community.
Decision Matrix
| Scenario | Best Platform |
|---|---|
| Global API, lowest latency | Cloudflare Workers |
| Complex app, full Node.js ecosystem | AWS Lambda |
| Simple web-standard service, fastest deploy | Deno Deploy |
| Most generous free tier | Cloudflare Workers |
| Multi-language (Python, Go, Java) | AWS Lambda |
Bottom line: Cloudflare Workers for global APIs and generous free tier. AWS Lambda for complex, full-ecosystem serverless. Deno Deploy for web-standard simplicity. Each has a generous free tier — try all three for your next side project. See also: Backend Frameworks and Modern PaaS Comparison.