Escalabilidade
Escala vertical e horizontal, e o que precisa mudar no sistema para ele aceitar mais máquinas.
Escalabilidade é a capacidade de um sistema atender mais carga acrescentando recursos: uma máquina maior (escala vertical) ou mais máquinas (escala horizontal).
Um sistema que não escala trava justamente quando dá certo: numa promoção, numa campanha, no crescimento. E acrescentar máquinas só funciona se o código estiver preparado para isso.
- A escala vertical é simples e tem teto; a horizontal não tem teto, mas exige preparo.
- Para rodar em várias máquinas, a aplicação não pode guardar estado na memória do processo.
- Sessões, arquivos e tarefas agendadas precisam sair da instância.
- O gargalo costuma migrar para o banco de dados.
- Instâncias precisam sair de cena sem derrubar pedidos em andamento.