Cloud

O que é escalabilidade

Escalabilidade horizontal vs vertical: conceitos, casos de uso e como planejar o crescimento da infraestrutura.

Por WSUL Tecnologia — 28 de maio de 2025  ·  6 min de leitura

Definição e contexto

Escalabilidade é a capacidade de um sistema de aumentar sua capacidade de processamento para atender à crescente demanda. O conceito parece simples, mas na prática envolve decisões de arquitetura que têm implicações de custo, complexidade e disponibilidade.

Existem dois modelos fundamentais de escalabilidade — e escolher o certo para cada cenário faz toda a diferença.

Escalabilidade vertical (scale up)

Escalar verticalmente significa aumentar os recursos do servidor existente: mais CPU, mais RAM, disco mais rápido.

Exemplo de scale up:
  Antes: 4 vCPUs, 8GB RAM → Depois: 8 vCPUs, 16GB RAM

Vantagens

  • Simplicidade: sem mudança de arquitetura
  • Sem necessidade de reescrever a aplicação
  • Funciona para qualquer tipo de workload, incluindo banco de dados com estado

Limitações

  • Tem limite: existe um tamanho máximo de servidor, e o custo cresce exponencialmente
  • Ponto único de falha: um servidor maior ainda é um servidor único
  • Requer reinicialização em muitos casos (on-premise)

Escalabilidade horizontal (scale out)

Escalar horizontalmente significa adicionar mais servidores que dividem a carga entre si.

Exemplo de scale out:
  1 servidor com 16 vCPUs → 4 servidores com 4 vCPUs cada
  (mesma capacidade total, mas distribuída)

Vantagens

  • Sem limite prático de escalabilidade — adicione quantos nós precisar
  • Alta disponibilidade natural — falha de um nó não derruba o serviço
  • Custo pode ser menor em cloud (instâncias menores são mais baratas proporcionalmente)

Requisitos

  • A aplicação precisa ser stateless (sem estado local) ou gerenciar estado externamente (Redis, banco de dados centralizado)
  • Exige load balancer para distribuir tráfego
  • Mais complexidade operacional

Quando usar cada uma

Use escalabilidade vertical quando:

  • O workload tem estado difícil de distribuir (banco de dados primário)
  • A aplicação não foi projetada para rodar em múltiplas instâncias
  • O crescimento esperado é linear e tem teto conhecido
  • O custo de refatorar para horizontal não se justifica

Use escalabilidade horizontal quando:

  • A demanda tem picos imprevisíveis (escalabilidade automática — autoscaling)
  • Alta disponibilidade é requisito
  • A aplicação é stateless (APIs, workers de fila, servidores web)
  • O crescimento esperado é exponencial

Como planejar escalabilidade

O erro mais comum é planejar escalabilidade pensando em capacidade atual ao invés de crescimento projetado. Algumas boas práticas:

  • Monitore tendências, não apenas picos: o crescimento mensal de uso de CPU, memória e disco é o dado mais útil para planejar escalabilidade.
  • Planeje com 12 meses de antecedência: se o disco cresce 5GB/mês e tem 80GB livres, você tem ~16 meses antes do problema — planeje agora.
  • Identifique o gargalo antes de escalar: nem sempre mais CPU resolve. O gargalo pode ser disco, rede, banco de dados ou a aplicação.
  • Teste de carga: antes de um evento de pico, simule a carga esperada e observe onde o sistema satura.

Conclusão

Escalabilidade não é sobre ter a maior infraestrutura — é sobre ter a infraestrutura certa para o momento atual com um caminho claro para crescimento. Comece simples, monitore o comportamento real, e escale baseado em dados. A WSUL ajuda a identificar o ponto de saturação antes que ele se torne um problema.

Sua infraestrutura tem esses riscos?

Solicite um diagnóstico gratuito e descubra em quais pontos seu ambiente pode ser melhorado.