Infraestrutura, nuvem e DevOps · Avançado

Escalabilidade: horizontal, vertical e o que você realmente precisa

Em uma linha: Antes de escalar, meça onde está o gargalo — na maioria dos sistemas é o banco de dados ou uma consulta, não o número de servidores.

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.