en
· 3 min de leitura

O que "escalar" quer dizer de verdade quando um fundador fala isso

"A gente precisa escalar" pode significar seis problemas diferentes. Peça números antes de propor o design e mantenha as opções abertas.

system-designcareer

"A gente precisa escalar." Já ouvi essa frase de fundadores mais vezes do que consigo contar, e aprendi a parar de assentir e começar a perguntar. Porque a frase não descreve um problema de engenharia. Descreve uma sensação, e meu trabalho é descobrir para qual de seis problemas diferentes a sensação está apontando.

Seis coisas que "escalar" pode significar

Usuários: mais contas, mais logins, mais tickets de suporte. Dados: mais linhas, tabelas maiores, relatórios mais lentos. Requisições: mais tráfego por segundo, picos mais agudos. Time: mais engenheiros mexendo no mesmo código. Geografia: clientes em regiões novas com latência nova e leis novas. Receita: mais dinheiro, o que geralmente significa clientes maiores com exigências maiores.

Cada um tem um gargalo diferente. Mais usuários pressiona autenticação e onboarding. Mais dados pressiona índices e arquivamento. Mais requisições pressiona a camada de aplicação e os pools de conexão. Mais time pressiona as fronteiras entre módulos e o pipeline de deploy. Mais geografia pressiona residência de dados e rede. Mais receita pressiona tudo que um tenant baleia toca.

Resolver o problema errado sai caro. Já vi time fazer sharding de banco porque esperava um pico de tráfego que, no fim, era um problema de relatório em uma tabela.

Peça números

A conversa fica útil no momento em que entram números. Quantos usuários por dia hoje, e qual a taxa de crescimento? Qual o pico de concorrentes, e quando acontece? Quantos registros na maior tabela, e quão rápido ela cresce? Qual o maior cliente, e quanto maior ele é que a mediana?

A maioria dos fundadores não tem esses números na mão, e tudo bem. Conseguir os números é a primeira tarefa de engenharia. Um único dashboard com cinco contadores geralmente revela que "a gente precisa escalar" quer dizer "a página de faturas leva oito segundos para o nosso maior cliente". Isso é uma query e um índice, não uma re-arquitetura.

A maioria dos produtos cabe em um banco só

Essa é a parte que surpreende. Uma única instância de Postgres bem configurada em hardware decente aguenta dezenas de milhares de requisições por segundo e centenas de milhões de linhas se o schema e os índices forem sãos. A imensa maioria dos produtos nunca chega nesse limite. Chega antes no limite das queries ruins, dos índices faltando e dos loops N+1, e esses são baratos de corrigir.

Então a resposta honesta para "precisamos escalar?" costuma ser "ainda não, e aqui está o número que vai nos dizer quando".

Mantenha opções abertas, não as gaste

A alternativa ao trabalho prematuro de escala não é ignorar o futuro. É tomar o pequeno número de decisões que mantêm portas abertas sem pagar pelos cômodos atrás delas.

Mantenha a camada de aplicação stateless para poder adicionar instâncias com um slider. Coloque tenant_id em todo lugar para poder separar depois. Tome uma decisão de modelo de dados por vez e escreva o porquê. Evite qualquer coisa que te acople a uma única máquina: armazenamento de arquivo local, caches em processo que precisam ser consistentes, cron jobs que assumem que rodam sozinhos.

Isso é uma semana de disciplina, não um trimestre de infraestrutura. Compra a capacidade de escalar o eixo que realmente aparecer.

O ângulo de carreira

A habilidade aqui não é técnica. É tradução. Um fundador fala em resultados e ansiedades: crescimento, churn, um contrato grande na mesa. Um engenheiro fala em restrições: latência, throughput, consistência, custo. As pessoas que viram arquitetos de confiança são as que conseguem ouvir "a gente precisa escalar" e transformar isso, no quadro branco, em "nosso pico é 300 requisições por segundo e nossa maior tabela tem 40 milhões de linhas, então o próximo gargalo é X".

Aprenda a pedir o número antes de propor o design. Isso te faz parecer mais lento na reunião e muito mais rápido ao longo do ano.