Escalabilidade: horizontal, vertical e o que você realmente precisa
Duas direções
Vertical: uma máquina maior. Rápido de aplicar, limitado por teto e um ponto único de falha.
Horizontal: mais instâncias atrás de um load balancer. Exige que o app seja stateless — sessões em um store compartilhado, arquivos em armazenamento de objetos e sem dependência de memória local.
Onde você realmente trava
Conexões ao banco de dados, consultas sem índice, bloqueios e longos processos síncronos. Dobrar servidores quando o gargalo é o banco de dados só aumenta a pressão.
Então: faça profiling antes de escalar. Meia hora de medição poupa um mês de arquitetura desnecessária.
Leituras versus escritas
A maioria dos sistemas lê muito mais do que escreve. Réplicas de leitura, cache e views materializadas chegam longe antes de uma divisão real de dados ser necessária.
Indo mais fundo
Auto-scaling precisa de uma métrica antecedente, não de uma atrasada: comprimento da fila ou taxa de requisições respondem antes do uso de CPU. E defina um teto máximo — auto-scaling ilimitado transforma um bug de loop em uma fatura surpresa.