Back-end de SaaS com clientes separados, planos e limites
Construímos o back-end de produtos SaaS que atendem várias empresas na mesma base: dados separados por cliente, planos, limites de uso e medição do consumo de cada um.

Para quem é
Para empresas de software cujo produto cresceu e cada cliente novo ainda exige uma instalação à parte.
O que resolve
- Cada cliente novo exige uma cópia do sistema e uma tarde de configuração.
- Um filtro esquecido numa consulta pode mostrar dados de um cliente para outro.
- Os planos existem na página de preços, mas o sistema não sabe aplicá-los.
- Um cliente grande deixa o sistema lento para todos os outros.
- Ninguém sabe quanto cada cliente usa até chegar a conta de nuvem.
O que fazemos
- Modelo de tenants
- Banco compartilhado, esquema por cliente ou banco por cliente, escolhidos conforme risco e custo.
- Isolamento de dados
- Toda consulta é filtrada pelo cliente no próprio banco, com segurança em nível de linha.
- Planos e limites
- Recursos, número de usuários e cotas de cada plano verificados pelo próprio sistema.
- Medição de uso
- O consumo de cada cliente é contado e fica pronto para cobrança e conferência.
- Cliente pesado sob controle
- Cotas de requisição e filas separadas, para um cliente pesado não atrasar os demais.
- API de administração
- Criar, suspender, mudar de plano ou exportar um cliente por API, sem mexer direto no banco.
O que você recebe
- Modelo de tenants documentado, com a decisão e os motivos registrados
- Testes automáticos que tentam ler dados de outro cliente e precisam falhar
- Medição de uso por cliente, pronta para exportar à cobrança
- API de administração de clientes, planos e limites
- Plano de migração, quando o produto já tem clientes em instalações separadas
Como fazemos
Diagnóstico
Como o produto atende os clientes hoje e onde os dados se misturam ou se repetem.
Decisão de modelo
Compartilhado ou separado, pesando risco, custo e o que os clientes exigem em contrato.
Desenvolvimento
Isolamento, planos, medição e administração, com testes de vazamento entre clientes.
Migração por etapas
Os clientes existentes vêm para a base nova em grupos, com volta possível.
Acompanhamento
Uso e desempenho por cliente, e ajuste dos limites.
Exemplos de tecnologia
- PostgreSQL
- Row-Level Security
- Redis
- OpenAPI
- Kubernetes
- OpenTelemetry
Serviços relacionados
Perguntas frequentes
Um banco por cliente ou um banco para todos?
Depende do risco, do custo e do que os seus clientes exigem em contrato. Também dá para combinar: base compartilhada para a maioria, separada para quem pede.
Dá para fazer isso sem reescrever o produto?
Depende de como o código separa os clientes hoje. Quando dá, a mudança vem por partes: primeiro o isolamento, depois planos e medição. O diagnóstico mostra o que se aproveita.
A cobrança da assinatura entra aqui?
Planos e medição ficam aqui. A cobrança em si, com ciclos e falhas de pagamento, é o serviço de cobrança recorrente.
E se um cliente grande exigir um banco só dele?
Um banco só para esse cliente, na região de nuvem exigida, é uma das opções do modelo. Isso se decide antes do desenvolvimento, não depois.
Escreva para a Balkan
Falar sobre o seu projeto