Pular para o conteúdo

Arquitetura de software · Escala e desempenho · 7 min de leitura

Serverless e computação na borda

Funções que rodam sob demanda e cobram por execução, e código que roda em centenas de cidades perto do usuário — o que ganham e onde tropeçam.

Usuário → Função na borda: ~10 ms~10 msFunção na borda → Função na região: se precisarse precisarFunção na região → BancoFila / evento → Função na região: disparaUsuário — RecifeUsuárioRecifeFunção na borda — auth, redirect, A/BFunção na bordaauth, redirect, A/BFunção na região — São PauloFunção na regiãoSão PauloBancoBancoFila / evento — upload, cronFila / eventoupload, cron

Arraste para o lado para ver o diagrama inteiro.

Rodar perto do usuário só ajuda se o dado também estiver perto; código na borda que consulta um banco distante fica mais lento, não mais rápido.

Serverless (funções)

Em AWS Lambda, Google Cloud Functions ou Azure Functions você entrega uma função; a nuvem a executa quando chega um evento (requisição HTTP, arquivo enviado, mensagem na fila, horário) e escala de zero a milhares de instâncias sozinha. Paga-se por invocação e tempo de execução — ótimo para tráfego irregular, tarefas em segundo plano e protótipos.

Os tropeços

  • Partida a frio: a primeira chamada depois de um período parado precisa subir o ambiente (de dezenas de ms a alguns segundos, conforme linguagem e tamanho).
  • Limites: tempo máximo por execução (15 minutos na Lambda), memória, tamanho do pacote.
  • Sem estado: nada fica na memória entre chamadas com garantia; estado vai para banco, cache ou fila.
  • Conexões: milhares de instâncias abrindo conexões esgotam o banco — use um proxy de conexões.
  • Custo em alto volume constante: pode sair mais caro que servidores sempre ligados.

Edge (borda)

Cloudflare Workers, Vercel/Netlify Edge e Lambda@Edge rodam código nos pontos de presença da CDN. Muitos usam isolates do V8 em vez de contêineres, com partida quase instantânea, mas com limites de CPU e APIs reduzidas. Bons usos: autenticação e redirecionamentos, testes A/B, personalização leve, reescrever cabeçalhos, servir respostas em cache com lógica.

Como decidir

  • Tráfego irregular ou orientado a eventos → funções.
  • Latência baixa sem depender do banco → borda.
  • Processos longos, WebSockets persistentes, carga alta e constante → contêineres ou servidores.
  • Comece pelo mais simples de operar e meça custo e latência reais.

Em resumo

Vantagens e custos

Vantagens
  • Nada de servidor para manter e escala automática.
  • Custo zero quando parado.
  • Latência mínima na borda.
Custos e riscos
  • Partida a frio e limites de execução.
  • Aprisionamento ao provedor.
  • Depurar e testar localmente é mais difícil.

Perguntar à IA

Monte um prompt pronto sobre Serverless e computação na borda na sua linguagem e no seu caso, e abra num chat gratuito.

ChatGPT Claude Perplexity

O prompt vai para o site que você escolher. Não cole senhas, tokens nem dados reais de clientes. Para Gemini e outros, copie e cole.

Referências

Continue aprendendo

Todos os temas de arquitetura de software →