Arquitetura e escalabilidade
A plataforma aguenta o cliente de ontem, não o de amanhã
O problema
Um SaaS multi-tenant cresce e começa a degradar em horário de pico. O reflexo é anunciar uma quebra em microsserviços; o trabalho é medir antes e quase sempre descobrir dois gargalos concretos respondendo pela maior parte dos incidentes.
Onde esse problema aparece
Aparece em SaaS B2B com uso concentrado — fechamento, faturamento, folha — quando praticamente toda a base faz a mesma coisa ao mesmo tempo, no mesmo dia do mês.
Por que ele custa caro
Incidentes recorrentes no pico, sempre com a mesma causa estrutural por trás de sintomas diferentes. Um cliente grande consegue degradar a experiência de todos os outros. O time de plataforma apaga incêndio em vez de evoluir produto, e o plantão começa a custar gente.
As restrições que moldam a decisão
Contratos com SLA acordado. Migração de dados de clientes ativos, sem janela longa disponível. E o time de plataforma costuma ser pequeno, já sobrecarregado com o próprio plantão.
Como abordamos
Medir antes de mexer. A instrumentação normalmente aponta poucas rotas que varrem dados de todos os tenants sem limite. Isso não é caso de quebrar em microsserviços — é isolamento de carga e limite por tenant, uma intervenção muito menor, muito mais barata e reversível.
O que costuma ser construído
Carga de leitura pesada movida para réplica dedicada, particionamento por tenant nas rotas críticas, limite de consumo por tenant e desacoplamento dos módulos que sobem juntos sem necessidade. Runbooks escritos junto ao time que atende o plantão.
Como trabalhamos junto
Cada decisão sai documentada com o trade-off explícito, incluindo o que decidimos deliberadamente não fazer e por quê. O plantão passa a ser conduzido por runbook revisado pelo time interno, não pela memória de quem está de sobreaviso.
O que muda quando funciona
Os incidentes de pico deixam de se repetir pela mesma causa raiz. Um tenant pesado deixa de afetar os demais. O time de plataforma volta ao roadmap e passa a ter dados do próprio sistema para defender a próxima decisão de arquitetura.
Reconhece esse problema no seu contexto? Vamos conversar.
Agendar uma conversa