Como o Supabase montou um back-end com ferramentas open source
O Supabase entrega ao desenvolvedor um banco Postgres com login, APIs, arquivos, tempo real e funções na borda ao redor. Em vez de escrever tudo do zero, ele junta ferramentas open source que já existem, em várias linguagens, e só constrói o que falta, tudo hospedado na AWS.
A regra do Supabase é simples: se uma ferramenta e sua comunidade já existem com licença MIT, Apache 2 ou parecida, eles usam e apoiam; se não existe, eles constroem e abrem o código.
Por isso a stack mistura linguagens: o PostgREST é em Haskell, o Auth (GoTrue) em Go, o Realtime e o Supavisor em Elixir, e o Storage e o postgres-meta em TypeScript.
O Postgres é o núcleo de cada projeto e nunca fica escondido, então o usuário tem acesso total. Cada peça deve funcionar sozinha só com um banco Postgres, e o Supabase prefere levar melhorias para o próprio Postgres a manter uma versão modificada.
A ideia é não prender ninguém: ferramentas padrão como o pg_dump deixam o usuário livre para sair, e a nuvem continua compatível com a versão que roda no seu servidor.
O Supabase oferecia o PgBouncer para gerenciar conexões, mas ele roda em uma só thread e é difícil de escalar. Em 2023 o time criou o Supavisor em Elixir, pensado para atender vários clientes num mesmo cluster, e testou com um milhão de conexões.
Depois disso, o PgBouncer foi descontinuado e os projetos passaram para o Supavisor.
A arquitetura agora coloca o Envoy na frente dos serviços como gateway de API. Em agosto de 2026, o Supabase para rodar no próprio servidor trocou o gateway padrão de Kong para Envoy, deixando o Kong como opção; os projetos na nuvem não mudaram.