← Voltar ao portfólio

Plataforma Multi-tenant

Arquitetura multi-tenant guiada por config, com row-level security e backends orientados a eventos, atendendo 100+ organizações em saúde, finanças e provedores de internet.

Engenheiro Full-Stack Líder · Arquitetura2020 — Presente
  • PostgreSQL
  • Supabase (RLS)
  • Prisma
  • Turborepo
  • Node.js
  • TypeScript
  • Docker
Capa do estudo de caso da Plataforma Multi-tenant

Desafio

Atender 100+ organizações em verticais muito diferentes (saúde, finanças, provedores de internet) a partir de um único código significa que toda feature precisa ser tenant-aware, os dados nunca podem vazar entre tenants, e cada vertical precisa de comportamento distinto — sem forkar o produto por cliente.

Solução

Construí uma base multi-tenant guiada por config: row-level security garante o isolamento no banco, um backend orientado a eventos mantém os efeitos colaterais desacoplados, e um monorepo modular (Turborepo) compartilha pacotes de domínio entre apps. A configuração por tenant guia o comportamento, então uma nova vertical é uma superfície de config, não um fork.

Visão geral

Essa é a camada de plataforma sobre a qual os outros produtos rodam: identidade, tenancy, configuração e as garantias de isolamento de dados que tornam seguro rodar um SaaS compartilhado para muitas organizações ao mesmo tempo.

Arquitetura

  • Isolamento por padrão — o row-level security do PostgreSQL (via Supabase) torna o acesso entre tenants estruturalmente impossível, não apenas filtrado no código da aplicação.
  • Orientado a eventos — eventos de domínio desacoplam os caminhos de escrita dos efeitos colaterais (notificações, billing, sync), então features compõem sem se enrolar.
  • Config em vez de forks — o comportamento de tenant e vertical é dado. Integrar uma nova vertical é descrevê-la, não ramificar o código.
  • Monorepo modular — o Turborepo compartilha pacotes de domínio tipados entre apps com builds rápidos e cacheados.

Impacto

O ganho é alavancagem: um time mantém uma plataforma, e todo novo produto ou vertical herda isolamento, eventos e configuração de graça.

Impacto

  • 100+ organizações em um único código compartilhado
  • Row-level security garantindo isolamento forte entre tenants
  • Backend orientado a eventos desacoplando efeitos colaterais
  • Monorepo modular compartilhando lógica de domínio entre apps
  • Novas verticais integradas via configuração, não forks