Crescendo para suprir a Demanda
Se o seu app web viralizou, seu VPS de 2GB de RAM certamente começou a retornar erros. O que fazer? Você tem dois caminhos de escalabilidade na computação em nuvem.
Escalabilidade Vertical (Scale Up)
O conceito mais simples. Seu VPS tem 2 núcleos e 4GB de RAM. Você clica num botão e adiciona mais processadores e RAM para ele virar um monstro de 16 núcleos e 64GB de RAM.
- Vantagem: Nenhuma alteração no código do aplicativo é necessária.
- Desvantagem: Existe um limite físico máximo (teto) e há "downtime" (tempo fora do ar) ao reiniciar para reconhecer as novas peças.
Escalabilidade Horizontal (Scale Out)
Em vez de criar 1 supercomputador, você clona seu app em 10 computadores de tamanho médio lado a lado e usa um "Load Balancer" (balanceador de carga) na frente para distribuir os clientes entre eles.
- Vantagem: Custo-benefício gigantesco, redundância impecável (se uma máquina queima, as outras 9 assumem o tráfego) e escalabilidade técnica virtualmente "infinita".
- Desvantagem: Requer arquitetura de software sem estado (stateless) preparada para dividir cache e banco de dados isolado da aplicação web.
