Arquitetura de SaaS multi-tenant na Vercel
Como estruturamos produtos como crdp.io e imov.ee para servir milhares de contas com subdomínios, isolamento de dados e deploy contínuo.
rmbrg
Estúdio rmbrg
Construir um SaaS multi-tenant é menos sobre uma tecnologia mágica e mais sobre decisões consistentes: como você separa dados, como roteia domínios e como mantém o custo por cliente sob controle. Neste artigo compartilhamos o padrão que usamos em produtos como crdp.io e imov.ee.
Roteamento por subdomínio
Cada cliente ganha um subdomínio (ou domínio próprio) que resolve para a mesma aplicação Next.js. Um middleware lê o host, identifica o tenant e injeta esse contexto nas requisições, mantendo o código de aplicação agnóstico ao inquilino.
Isolamento de dados
- Row-level security no Supabase para garantir que cada consulta respeite o tenant.
- Chaves de tenant em todas as tabelas sensíveis, validadas na borda.
- Prisma como camada de acesso com escopo por organização.
Multi-tenancy bem feito é invisível para o cliente e óbvio para o time de engenharia.
Deploy contínuo
Com a Vercel, cada pull request gera um preview isolado. Isso encurta o ciclo de feedback e permite validar mudanças de infraestrutura antes de chegarem à produção.