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
fsou módulos nativos.
Quando usar Edge?
- Middleware: Autenticação, Redirecionamentos, A/B Testing.
- Personalização: Mostrar conteúdo baseado na geolocalização do usuário.
- 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.