Conceito de Escalabilidade

Escalabilidade é a capacidade que nossos sistemas ou aplicações tem para gerenciar o aumento de carga sem ter perda significantes de desempenho ou ter alguma funcionalidade que pare de responder.

Esse é um conceito importante que permite que o sistema cresça e se adapte durante as mudanças, como: aumento do volume de dados, quantidade de acessos simultâneo ou alto processamento de dados sem que o usuário final perceba. Um bom exemplo de cenário é a Blackfriday, imagine que uma loja virtual que costumar receber 100 acessos diários começa a receber 1000 acessos por minuto.

Como lidar com esse aumento repentino?

Existem dois tipos de principais de estratégias de escalabilidade: vertical e horizontal.

  • Vertical é quando adicionamos mais recursos em um único servidor como: CPU, memória RAM ou armazenamento.
  • Horizontal, é quando adicionamos mais servidores ou “nodes”, distribuindo o aumento de demanda.

A escolha da melhor estratégia depende de vários fatores como: arquitetura da aplicação, recursos de hardware ou custos.