L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Déploiement et opérations · SKILL.md

edge-computing

edge-computing

Edge computing with Cloudflare Workers, Deno Deploy, Bun, Vercel Edge Functions, AWS Lambda@Edge, and edge databases (Turso, D1, DynamoDB Global Tables). Use when building low-latency edge applications, edge-side rendering, or globally distributed compute.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: edge-computing description: Edge computing with Cloudflare Workers, Deno Deploy, Bun, Vercel Edge Functions, AWS Lambda@Edge, and edge databases (Turso, D1, DynamoDB Global Tables). Use when building low-latency edge applications, edge-side rendering, or globally distributed compute.

Edge Computing

Platforms

PlatformRuntimeCold StartLimits
Cloudflare WorkersV8 isolates~0ms128MB, 30s CPU
Deno DeployV8 isolates~0ms512MB, 50ms CPU
Vercel Edge FunctionsV8 isolates~0ms128MB, 25s
AWS Lambda@EdgeNode.js~100ms128MB, 5s (viewer)
BunJavaScriptCoreN/A (server)No hard limits

Cloudflare Workers

export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    const url = new URL(request.url);

    // KV storage
    const cached = await env.KV.get(url.pathname);
    if (cached) return new Response(cached, { headers: { 'Cache-Control': 'max-age=60' } });

    // D1 database
    const { results } = await env.DB.prepare('SELECT * FROM users WHERE id = ?')
      .bind(url.searchParams.get('id'))
      .all();

    // Durable Objects for state
    const id = env.COUNTER.idFromName('global');
    const obj = env.COUNTER.get(id);
    const count = await obj.fetch(request);

    return new Response(JSON.stringify(results));
  }
};

Edge Databases

DatabaseTypeBest For
Cloudflare D1SQLiteWorkers-native, SQL at edge
TursolibSQL (SQLite)Multi-region replicas, embedded
Cloudflare KVKey-valueSimple caching, config
Durable ObjectsStatefulReal-time, coordination, counters
Upstash RedisRedisRate limiting, sessions at edge

Deno Deploy

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

  if (req.method === "POST") {
    const body = await req.json();
    await kv.set(["items", crypto.randomUUID()], body);
    return new Response("Created", { status: 201 });
  }

  const entries = kv.list({ prefix: ["items"] });
  const items = [];
  for await (const entry of entries) items.push(entry.value);
  return Response.json(items);
});

Patterns

  • Edge-side rendering: SSR at the edge for <50ms TTFB globally
  • Smart routing: Geo-aware request routing based on request.cf.country
  • Edge caching: Cache API for fine-grained control, stale-while-revalidate
  • Rate limiting: Sliding window counters with Durable Objects or Upstash
  • A/B testing: Edge-side feature flags without origin round-trips
  • Image optimization: On-the-fly transforms at edge (Cloudflare Images, Imgproxy)

Constraints & Gotchas

  • No Node.js APIs (fs, net, etc.) in V8 isolate runtimes
  • No native modules or binaries (use WASM for compute-heavy work)
  • Limited CPU time per request — offload heavy work to queues
  • Cold starts are near-zero for isolates but real for Lambda@Edge
  • Database connections: use HTTP-based clients, not TCP connection pools
Skills enregistrées