DEV Community

Alex Spinov
Alex Spinov

Posted on

Deno Deploy Has a Free Tier — Deploy Edge Functions Globally in 10 Seconds (No Docker, No AWS, No Config)

You want to deploy a function. AWS Lambda needs IAM roles, API Gateway, CloudFormation. Vercel needs a framework. Cloudflare needs a wrangler config.

Deno Deploy lets you deploy a function to 35+ edge locations with a single command. Free tier: 1M requests/month, 100K KV operations, custom domains.

What Makes Deno Deploy Different

  • Zero config. No serverless.yml, no wrangler.toml, no build step.
  • Global edge. Your code runs in 35+ regions automatically.
  • Web standards. Uses fetch, Request, Response — the same APIs you use in the browser.
  • Built-in KV database. Key-value storage included, no external database needed.
  • TypeScript native. No tsconfig, no compilation step.

Quick Start: Hello World in 10 Seconds

1. Install Deno

curl -fsSL https://deno.land/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

2. Write Your Function

// main.ts
Deno.serve((req: Request) => {
  const url = new URL(req.url);

  if (url.pathname === "/api/hello") {
    return Response.json({ message: "Hello from the edge!", timestamp: Date.now() });
  }

  if (url.pathname === "/api/ip") {
    return Response.json({ ip: req.headers.get("x-forwarded-for") || "unknown" });
  }

  return new Response("Not found", { status: 404 });
});
Enter fullscreen mode Exit fullscreen mode

3. Deploy

deployctl deploy --project=my-api main.ts
Enter fullscreen mode Exit fullscreen mode

That's it. Your API is live at https://my-api.deno.dev — globally distributed.

Built-in KV Database (No External DB Needed)

const kv = await Deno.openKv();

Deno.serve(async (req: Request) => {
  const url = new URL(req.url);

  if (req.method === "POST" && url.pathname === "/api/visits") {
    const current = await kv.get<number>(["visits"]);
    const count = (current.value || 0) + 1;
    await kv.set(["visits"], count);
    return Response.json({ visits: count });
  }

  if (url.pathname === "/api/visits") {
    const result = await kv.get<number>(["visits"]);
    return Response.json({ visits: result.value || 0 });
  }

  return new Response("404", { status: 404 });
});
Enter fullscreen mode Exit fullscreen mode

A database and a server in one file. No Postgres setup. No Redis config. No connection strings.

Cron Jobs (Built-in)

Deno.cron("daily-cleanup", "0 0 * * *", async () => {
  const kv = await Deno.openKv();
  // Clean up expired entries every day at midnight
  const entries = kv.list({ prefix: ["temp"] });
  for await (const entry of entries) {
    await kv.delete(entry.key);
  }
});
Enter fullscreen mode Exit fullscreen mode

Scheduled tasks without external cron services.

Deno Deploy vs Alternatives

Feature Deno Deploy AWS Lambda Vercel Functions Cloudflare Workers
Deploy time 10 sec 5-10 min 1-2 min 30 sec
Config files 0 3+ 1-2 1
Built-in DB KV included No (need DynamoDB) No (need external) KV ($5/mo)
Cron jobs Built-in EventBridge Vercel Cron Workers Cron
Free tier requests 1M/mo 1M/mo 100K/mo 100K/day
Cold starts Near zero 100-500ms 50-200ms Near zero
TypeScript Native Via build step Via build step Native

5 Things to Build This Weekend

1. URL Shortener

KV for storage + edge function for redirects. 20 lines of code.

2. Webhook Relay

Receive webhooks from Stripe/GitHub, transform data, forward to Slack/Discord.

3. API Proxy with Caching

Cache external API responses in KV. Serve stale data while revalidating.

4. Status Page

Cron job pings your services every minute, stores results in KV, serves a status dashboard.

5. Feature Flag Service

Store flags in KV, serve them via API. No LaunchDarkly subscription needed.

The Bottom Line

Deno Deploy removes every layer of friction between "I wrote a function" and "it's running globally":

  • No Docker. No containers.
  • No AWS console. No IAM.
  • No config files. No build step.
  • Free database. Built-in KV.
  • Free cron. Built-in scheduling.

1M requests/month free. Global edge. One command deploy.


Need custom serverless APIs, automation, or data pipelines? I build tools for dev teams. Email spinov001@gmail.com — or check out my developer resources.


More from me: Resend Free API | Replicate Free API | Supabase Free Tier

Top comments (0)