Executando verificação de segurança...
2

Diminui a latência em cerca de 10x usando supabase 🚀

Express & Render → Supabase (Cold Start)

https://github.com/avellin0 - https://www.linkedin.com/in/avellin0/

Há algumas semanas voltei a um projeto pessoal e percebi algo que me incomodou bastante,
uma latência alta no login.

Investigando melhor, ficou claro que o problema não era o código, mas sim a infraestrutura.

Eu estava usando:

  • Express + TypeScript
  • PostgreSQL
  • Backend hospedado no Render

O problema?

➡️ Cold start.

A primeira requisição depois de um tempo parado chegava a +40 segundos.
A decisão

Buscando uma alternativa gratuita e mais adequada ao problema, encontrei o Supabase.

Migrei a lógica para:

  • Edge Functions
  • Integração direta com o banco (usando RLS)
  • Menos camadas entre request → resposta

O impacto na prática:

Minhas requisições ficaram cerca de 10x mais rápidas na prática.
esse foi o principal ganho da migração

Antes:
**await fetch('https://extude/verifyAccount', {...})** // ~46s

Depois:
**const { data } = await supabase.functions.invoke('login', {...})** // ~4s

Vantagens que senti
✅ Sem cold start perceptível
✅ Menor latência
✅ Deploy e manutenção mais simples
✅ Auth e banco já integrados

Pontos de atenção
❌ Limitações do runtime das Edge Functions
❌ Menos flexibilidade que um backend tradicional
❌ É preciso pensar bem onde colocar cada regra de negócio

Conclusão

Não existe stack perfeita.
Existe stack coerente com o problema.

Para o que eu precisava, Supabase + Edge Functions fez mais sentido do que manter um backend tradicional rodando no Render

O mais interessante foi perceber como decisões de infraestrutura impactam diretamente a experiência do usuário — mesmo quando o código está “correto”.

Ainda estou aprendendo e ajustando, mas decisões como essa têm me ensinado muito sobre arquitetura, custo e performance — não só sobre código.

Obrigado por vir até aqui!
Sinta-se livre há fazer um comentário
Me siga no GITHUB & Linkedin
:

Carregando publicação patrocinada...
1

projeto pessoal
Edge Functions
ficou claro que o problema não era o código, mas sim a infraestrutura.

Sinceramente o problema não é código nem infraestrutura, é a escolha das ferramentas.

Edge funcions em um projeto pessoal que mal tem acesso?

Pra que?

Todos os problemas aqui se resolveriam de uma forma muito mais fácil:

  • Máquina grátis da Oracle Cloud
  • Postgres rodando no docker
  • Backend rodando em Node

Sim, tudo na mesma máquina separada em containers

"Ai mas não escala"

Que escalabilidade o seu projeto precisa?

em uma única máquina gratis da Oracle tenho:

  • 2 Ecommerces: Cada um com containers para o Backend, Workers, DB, Cache
  • 1 Ferramenta de análise de dados
  • Workers especializados
  • Monitoramento (Prometheus, node exporter, cadvisor, loki, faro, tempo)

Sim! Quase 30 containers no mesmo servidor

No ultimo mês:

  • Média de uso de CPU - 6% pico: 80%
  • Média de uso de RAM - 9GB pico: 17GB (o servidor tem 24GB)
  • Nenhum problema com latência
  • 1 problema com DownTime (Cloudflare maldita)

Centenas de clientes acessando!

O problema:

Essa arquitetura não é bonitinha e não vende curso

1

Não conhecia a VM gratuita da Oracle Cloud — bem interessante mesmo, obrigado pela dica 👍

Concordo contigo que existem formas mais “simples” de resolver o problema, especialmente quando se tem controle total da infra como no seu caso. Uma VM única bem configurada resolve muita coisa.

No meu cenário, a escolha pelo Supabase + Edge Functions não foi pensando em escala imediata, mas em reduzir complexidade operacional, evitar cold start sem manter servidor sempre ligado e acelerar o ciclo de desenvolvimento.

Também pesou o fato de ser uma solução acessível pra projetos pequenos e estudos, sem exigir setup pesado de infra, Docker, observabilidade e tuning de VM — algo que nem todo projeto pessoal (ou dev iniciante) consegue sustentar.

Concordo 100% contigo: não existe bala de prata. A mesma stack que funciona muito bem pra você pode não ser a melhor escolha em outro contexto.

No fim, o aprendizado principal pra mim foi justamente esse: infra importa tanto quanto código, e entender esses trade-offs cedo faz muita diferença.

Valeu demais pelo comentário e por compartilhar sua experiência — seus números são bem impressionantes 👊

1

sem exigir setup pesado de infra, Docker, observabilidade e tuning de VM — algo que nem todo projeto pessoal (ou dev iniciante) consegue sustentar.

O meu setup é pesado porque tenho clientes ativos usando, se acontecer qualquer problema tenho que saber o quanto antes.

Para projetos pessoais não é necessário tudo isso!

é só subir com uma configuração mínima (que o GPT faz isso muito bem) e usar

1

Sim, concordo contigo — para projetos pessoais não faz sentido subir uma infra pesada.

No meu caso, o problema era bem específico: latência causada por cold start. A partir disso, busquei uma ferramenta que resolvesse exatamente esse ponto, e as Edge Functions atenderam bem.

Com certeza existem outras soluções possíveis (VM, container, always-on, etc.). A escolha não foi por “moda”, mas por impacto direto na experiência do usuário com o menor custo operacional possível.

E é exatamente isso que achei mais interessante nesse processo: perceber como decisões de infraestrutura moldam o comportamento do sistema, mesmo quando o código em si está correto.

No fim, acho que concordamos no essencial: Infraestrutura é importante e moldam a experiência do usuario e não existe stack certa ou errada, existe stack coerente com o problema, com o contexto e com quem vai manter aquilo depois.