EIVUS

Escalabilidade em cloud: vertical vs horizontal

Escalar para cima (instâncias maiores) vs escalar para fora (mais instâncias).

Voltar ao blog

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.

Clientes que confiam na gente