Seu aplicativo é escalável?

Software escalável é um software que incrementa sua capacidade de desempenho conforme cresce a demanda de usuários. Todo software que usa a internet precisa ser escalável e essa escalabilidade se refere a infraestrutura que o back-end desse aplicativo ou site está rodando.

Exemplificando, um aplicativo de smartphone que trabalha com vendas precisa ser escalável. Todos os produtos que aparecem na loja do app estão cadastrados em um banco de dados hospedado em um servidor na nuvem, que pode ser a Amazon/AWS, o Google/GCP, Microsoft/Azure, ou em uma hospedagem brasileira como o UOL Host ou Locaweb, ou algum outro serviço.

Um servidor é um computador qualquer. Cada servidor tem uma capacidade limitada de respostas que varia de acordo com o tipo de processador e memória. Caso o aplicativo o aplicativo do exemplo tenha uma alta demanda de vendas em um determinado horário ou dia da semana e a infraestrutura contratada não consiga escalar, em algum momento os usuários não conseguirão mais fazer as compras, consequentemente, a loja terá muitos prejuízos com uma infraestrutura assim.

Existem duas formas de escalar uma infraestrutura

Escalar verticalmente é quando a quantidade de servidores continua a mesma, somente a capacidade dos hardwares são aumentadas. Exemplo: o servidor possui 2 GB de memória e é adicionado mais 2 GB de memória. Usando essa forma de escalar, o servidor passa a ter mais capacidade do que ele precisa na maior parte do tempo, ou seja, há desperdício de recurso e de dinheiro.

Escalar Horizontalmente é quando a quantidade de recurso continua a mesma, porém a quantidade de servidores é ampliada. Exemplificando: com dois servidores apenas, determinada loja virtual ficava extremamente lenta todo dia 30 de cada mês, fazendo com que muitas vendas fossem perdidas. Para solucionar este problema o administrador da infraestrutura decidiu triplicar o número de servidores. Agora são seis servidores rodando o mês inteiro. Nesse novo cenário, novamente há um grande desperdício de recursos e dinheiro, já que o aumento de acessos acontece em apenas um dia do mês.

A terceira forma de escalar uma infraestrutura é tornar a infraestrutura horizontal elástica. Na maior parte do tempo determinada aplicacação demanda apenas dois servidores mas em seus picos de acessos é necessário um número maior de servidores, sendo assim, essa infraestrutura estica automaticamente para 4, 6, 10, ou quantos mais servidores seja necessário. Depois desse pico ela retorna a quantidade mínima.

Uma infraestrutura elástica escala automaticamente fazendo com que a aplicação tenha mais estabilidade e empresa proprietária economize financeiramente e tenha mais vendas.