Volver al blog

Edge Computing Para Desarrolladores: Como Funciona y Por Que Deberias Aprenderlo

Hola HaWkers, si sigues las tendencias de desarrollo web, ya debes haber notado que "edge" aparece en todos lados: Edge Functions, Edge Runtime, Edge-first. Pero que exactamente es edge computing y por que importa para nosotros los desarrolladores?

Vamos a desmitificar este concepto y ver como puede transformar la performance de tus aplicaciones.

Que Es Edge Computing

En terminos simples, edge computing es ejecutar codigo mas cerca del usuario final, en vez de en un servidor centralizado en una unica region.

Modelo tradicional (servidor centralizado):

  • Tu servidor esta en us-east-1 (Virginia, EUA)
  • Usuario en Mexico hace una solicitud
  • Solicitud viaja ~3,000km hasta el servidor
  • Respuesta viaja ~3,000km de vuelta
  • Latencia total: ~100-200ms

Modelo edge (distribuido):

  • Tu codigo corre en 300+ ubicaciones globales
  • Usuario en Mexico accede al nodo mas cercano
  • Solicitud viaja pocos kilometros
  • Respuesta vuelve casi instantaneamente
  • Latencia total: ~10-30ms

🔥 Impacto real: Una reduccion de 200ms a 20ms en latencia puede significar un aumento de 15-20% en conversiones para e-commerces.

Como Funciona en la Practica

Principales Plataformas

  • Cloudflare Workers: 300+ ubicaciones, runtime V8
  • Vercel Edge Functions: Integrado con Next.js y Nuxt
  • Deno Deploy: Runtime Deno nativo, 35+ regiones
  • AWS CloudFront Functions: Integrado al ecosistema AWS

El Runtime Edge

El runtime edge no es Node.js completo. Es un ambiente mas ligero basado en Web APIs:

// Edge function - ambiente mas ligero que Node.js
export default {
  async fetch(request) {
    const url = new URL(request.url);
    const country = request.headers.get('cf-ipcountry');
    const city = request.headers.get('cf-ipcity');

    return new Response(
      JSON.stringify({
        message: `Hola! Estas accediendo desde ${city}, ${country}`,
        timestamp: Date.now(),
        edge: true,
      }),
      {
        headers: { 'Content-Type': 'application/json' },
      }
    );
  },
};

Casos de Uso Practicos

1. API con Personalizacion por Region

export default async function handler(request) {
  const country = request.geo?.country || 'US';

  const promotions = {
    MX: { currency: 'MXN', discount: '20%', message: 'Envio gratis' },
    US: { currency: 'USD', discount: '15%', message: 'Free shipping' },
    ES: { currency: 'EUR', discount: '10%', message: 'Envio gratuito' },
  };

  const content = promotions[country] || promotions['US'];

  return new Response(JSON.stringify(content), {
    headers: {
      'Content-Type': 'application/json',
      'Cache-Control': 'public, s-maxage=300',
    },
  });
}

2. Middleware de Autenticacion en la Edge

import { jwtVerify } from 'jose';

export default async function middleware(request) {
  const token = request.headers.get('authorization')?.replace('Bearer ', '');

  if (!token) {
    return new Response('Unauthorized', { status: 401 });
  }

  try {
    const secret = new TextEncoder().encode(process.env.JWT_SECRET);
    const { payload } = await jwtVerify(token, secret);

    const headers = new Headers(request.headers);
    headers.set('x-user-id', payload.sub);

    return fetch(request.url, {
      method: request.method,
      headers,
      body: request.body,
    });
  } catch {
    return new Response('Invalid token', { status: 403 });
  }
}

Edge con Frameworks Modernos

Next.js Edge Runtime

export const runtime = 'edge';

export async function GET(request) {
  return new Response(
    JSON.stringify({
      message: 'Hello from the edge!',
      region: process.env.VERCEL_REGION,
    })
  );
}

Nuxt 3 con Nitro

// server/api/hello.ts
export default defineEventHandler((event) => {
  return {
    message: 'Hello from Nuxt edge!',
    timestamp: Date.now(),
  };
});

Limitaciones y Cuidados

Lo Que Funciona Bien en la Edge

  • Enrutamiento y redirecciones
  • Autenticacion y autorizacion
  • Personalizacion por region
  • Cache inteligente
  • A/B testing

Lo Que NO Funciona Bien en la Edge

  • Queries complejas a base de datos
  • Procesamiento pesado (CPU limitada)
  • Operaciones que requieren filesystem
  • Conexiones WebSocket persistentes

Bases de Datos para Edge

Solucion Tipo Latencia Uso Ideal
Cloudflare KV Key-Value ~10ms Cache, configs
Cloudflare D1 SQLite ~20ms CRUD simple
Turso (libSQL) SQLite distribuido ~15ms Apps completas
Upstash Redis Redis ~10ms Cache, sesiones

Como Empezar

# Instalar Wrangler CLI
npm install -g wrangler

# Crear proyecto
wrangler init mi-edge-app

# Desarrollar localmente
wrangler dev

# Deploy a 300+ ubicaciones
wrangler deploy

Conclusion

Edge computing no es solo una buzzword — es una evolucion real en como construimos aplicaciones web. La diferencia de latencia es perceptible para usuarios y medible en metricas de negocio.

Si quieres profundizar en desarrollo web moderno, te recomiendo que le eches un vistazo a otro articulo: Bun vs Node.js en 2026: Vale la Pena Migrar? donde descubriras como los runtimes JavaScript estan evolucionando.

Vamos con todo! 🦅

Comentarios (0)

Este artículo aún no tiene comentarios 😢. ¡Sé el primero! 🚀🦅

Añadir comentarios