Felipe Moacir

Edge Computing: O Código que roda em Todo Lugar

EdgeVercelPerformance
Edge Computing: O Código que roda em Todo Lugar

A nuvem tradicional (AWS us-east-1) tem um problema físico: a velocidade da luz. Se seu usuário está no Japão e o servidor nos EUA, existe uma latência inevitável.

Edge Computing resolve isso distribuindo seu código para centenas de data centers ao redor do mundo. O código roda no servidor mais próximo do usuário.

Edge Functions vs Serverless Functions

  • Serverless (Lambda): Roda em uma região específica. Tem "Cold Start" (demora para acordar). Tem acesso total ao Node.js.
  • Edge: Roda globalmente. Sem Cold Start. Runtime limitado (V8 isolado), mais rápido, mas sem acesso a todo fs ou módulos nativos.

Quando usar Edge?

  1. Middleware: Autenticação, Redirecionamentos, A/B Testing.
  2. Personalização: Mostrar conteúdo baseado na geolocalização do usuário.
  3. APIs Leves: Consultas simples ao banco de dados (se o banco também for global/serverless).
// middleware.ts (Roda no Edge)
import { NextResponse } from 'next/server'

export function middleware(request) {
  const country = request.geo.country
  if (country === 'BR') {
    return NextResponse.rewrite(new URL('/br', request.url))
  }
}

O Futuro é Distribuído

Com bancos de dados como Turso, Neon e Upstash rodando no Edge, a necessidade de servidores centralizados está diminuindo drasticamente para aplicações web modernas.

Limitações do Runtime Edge

O ambiente Edge é restrito: sem acesso completo ao sistema de arquivos, sem módulos Node nativos pesados, tempo de execução limitado (segundos). É ideal para lógica leve: validação, transformação, roteamento. Processamento pesado ou jobs longos continuam em servidores tradicionais ou Lambdas.

Quando NÃO Usar Edge

  • Acesso a bibliotecas que dependem de APIs do Node não disponíveis no Edge.
  • Jobs assíncronos longos (envio de emails, processamento de imagens).
  • Conexões persistentes com banco que exigem driver específico.

Custos e Escalabilidade

Edge Functions costumam cobrar por requisição e por tempo de execução. Em tráfego alto, pode ser mais barato que manter servidores sempre ligados. A escalabilidade é automática — não há servidor para provisionar.