Ir para o conteúdo
Balkan Tecnologia

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.

Fio verde-menta passando por baixo de uma placa branca do tamanho de um celular.

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

  1. Diagnóstico

    Como o produto atende os clientes hoje e onde os dados se misturam ou se repetem.

  2. Decisão de modelo

    Compartilhado ou separado, pesando risco, custo e o que os clientes exigem em contrato.

  3. Desenvolvimento

    Isolamento, planos, medição e administração, com testes de vazamento entre clientes.

  4. Migração por etapas

    Os clientes existentes vêm para a base nova em grupos, com volta possível.

  5. 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