Escalabilidade em cloud é vertical (instâncias maiores) ou horizontal (mais instâncias). Cada uma tem trade-offs; muitos sistemas usam as duas. Entender isso ajuda a desenhar para crescimento e custo.
Escala vertical (scale up)
- O que é: Aumentar CPU, RAM ou disco de um único servidor ou instância.
- Prós: Mais simples; sem mudança na app se ela puder usar mais recursos.
- Contras: Existe um teto (maior tamanho de instância); ponto único de falha; muitas vezes mais caro por unidade no topo.
- Quando: Bom primeiro passo; use até atingir limites ou custo.
Escala horizontal (scale out)
- O que é: Adicionar mais nós (servidores ou instâncias) e distribuir carga (ex.: load balancer).
- Prós: Pode crescer quase sem limite; pode reduzir pontos únicos de falha.
- Contras: A app precisa ser desenhada para isso (stateless, estado compartilhado em DB/cache); mais peças.
- Quando: Quando o vertical estiver no máximo ou quando precisar de alta disponibilidade e redundância.
Abordagem combinada
Muitos sistemas escalam para cima primeiro (instância maior) e depois escalam para fora (mais instâncias) quando necessário. Use balanceamento de carga, servidores de app stateless e DB/cache compartilhado para a escala horizontal funcionar.
Resumo
Vertical = instância maior; horizontal = mais instâncias. Use vertical até limites ou custo; depois escale para fora com desenho stateless e balanceamento.




