Fly Postgres, Gerido pela Supabase

A Fly.io está fazendo parceria com a Supabase para oferecer um serviço de PostgreSQL totalmente gerenciado na infraestrutura da Fly, preenchendo uma lacuna antiga para equipes que queriam a plataforma distribuída da Fly, mas dependiam de bancos gerenciados por confiabilidade. Os comentaristas analisam os trade-offs entre o Postgres da Fly, “automatizado, mas não gerenciado”, e a abordagem gerenciada estilo Heroku da Supabase, com confiabilidade, HA, monitoramento e escala como preocupações centrais. O tópico também explora filosofias de preço, alternativas como SQLite distribuído e outros provedores de Postgres, além de questões arquiteturais como durabilidade do armazenamento, controles de saída de rede e quanto de lógica de negócio empurrar para o Postgres via ferramentas como PostgREST e row-level security.

Parceria e Oferta

  • A Supabase vai operar um serviço de Postgres gerenciado na infraestrutura da Fly.io, de forma semelhante à parceria existente da Fly com Redis.
  • O Postgres existente da Fly é “automatizado, mas não gerenciado”; a nova opção é explicitamente gerenciada, com a Supabase cuidando de monitoramento, saúde e operações.
  • Recursos de alta disponibilidade estão em teste; o timing e o conjunto exato de funcionalidades não estão totalmente especificados.

Postgres Gerenciado vs. Não Gerenciado

  • Gerenciado: mais próximo da experiência estilo Heroku. Você recebe uma string de conexão; o provedor cuida de escala, verificações de saúde, failover e resposta de plantão.
  • O Fly Postgres de hoje: fornece ferramentas de orquestração e clusterização, mas espera-se que os usuários monitorem, dimensionem e corrijam falhas por conta própria.
  • Vários comentaristas dizem: para dados centrais de produção, escolheriam a nova oferta gerenciada; o próprio Postgres da Fly é mais adequado para projetos paralelos, experimentos ou serviços de menor risco.

Confiabilidade, SLA e Modelo de Armazenamento

  • Surgem preocupações sobre o histórico de uptime da Fly e a postura de suporte “faça você mesmo”; outros dizem que a confiabilidade melhorou, especialmente após a migração para Machines.
  • Um pedido por um SLA formal fica sem პასუხ resposta no tópico.
  • Os volumes da Fly são NVMe local ao host, não SAN/armazenamento em rede; durabilidade e replicação precisam ser tratadas na camada da aplicação/banco de dados.
  • A Fly faz backups periódicos dos volumes e pode migrá-los internamente entre hosts, mas os volumes ainda são tratados como não equivalentes a S3 e não inerentemente “seguros”.

Tratamento de Conexões e Rede

  • A configuração da Supabase na Fly usará o próprio pooler de conexão Postgres da Supabase e o PostgREST, em vez do HAProxy da Fly.
  • Problemas anteriores com timeouts do HAProxy no Fly Postgres motivaram o interesse nisso.
  • Ter a Supabase dentro da rede da Fly evita problemas com IPs de saída instáveis e com allowlisting de IP entre apps da Fly e bancos externos.

Preço e Escopo

  • A indicação inicial é que o preço seguirá os planos atuais da Supabase, possivelmente com ajustes mais amigáveis para desenvolvedores após os testes.
  • Permanecem dúvidas sobre especificações exatas de recursos (CPU/RAM), preço de banco gerenciado independente e cobrança de banda interna; as respostas são incompletas ou pouco claras.

Plataforma Supabase e Escala

  • A Supabase é “apenas Postgres” (atualmente na AWS) com características de escala semelhantes às do RDS e alguns grandes usuários em produção citados.
  • Replicação lógica é suportada e destacada como diferencial em relação a alguns outros provedores de Postgres gerenciado.
  • Alguns consideram frustrantes os preços em camadas e as restrições de rede da Supabase; outros valorizam seu ecossistema Postgres, DX e add-ons.

APIs, Lógica de Negócio e RLS

  • A Supabase expõe:
    • Acesso direto ao Postgres.
    • REST gerado automaticamente (PostgREST).
    • Funções edge/serverless.
  • Vários comentaristas alertam que o uso complexo com PostgREST tende a empurrar a lógica de negócio para procedimentos armazenados (PL/pgSQL ou extensões JS), o que pode ser desajeitado e difícil de depurar.
  • O Row-Level Security é elogiado por sua expressividade, mas criticado por:
    • Problemas de desempenho em consultas complexas/agregadas.
    • Depuração e testes difíceis, especialmente quando as políticas envolvem joins.
  • Orientação: serve para casos simples; ACLs complexas exigem bastante experiência em SQL/PL/pgSQL e ajuste cuidadoso de desempenho.

Alternativas e Contexto Mais Amplo

  • Alguns argumentam que novos projetos poderiam considerar SQLite distribuído (por exemplo, Turso) ou stacks estilo Cloudflare de “edge + banco distribuído” em vez de Postgres.
  • Contra-argumentos:
    • Postgres tem recursos mais ricos (por exemplo, extensões como ltree, replicação lógica, ferramentas de busca).
    • O Cloudflare Workers não tem um equivalente nativo ao Postgres; D1 e opções semelhantes têm seus próprios trade-offs e questões de maturidade.
  • Outros ecossistemas mencionados: Crunchy Bridge, Neon, k3s + cloudnativepg, Tembo, ParadeDB; o tópico observa que a maioria das ofertas concorrentes de Postgres gerenciado historicamente não expunha WAL/replicação lógica, embora a Neon tenha adicionado CDC recentemente.