loading...

Entendendo a tal da escalabilidade vertical e horizontal

thierrysantos profile image Thierry Santos ・2 min read

O que é escalabilidade ?

Escalabilidade é a habilidade de um sistema de lidar com mais usuários, dados, transações ou requisições sem afetar a experiência do usuário. Um sistema escalavel pode aumentar sua capacidade ou diminuir e deve ser relativamente barato e rápido fazer isso.

Fatores para escalar uma aplicação

Existem algum fatores que te levam a escalar uma aplicação:

Dados

Quando seu sistema cresce, você começa a lidar com um alto conjunto de dados e realizar esse processamento se torna muito custoso.

Concorrência

A concorrência está relacionada a quantidade de usuários que podem utilizar seu sistema ao mesmo tempo.

Taxa de interação

A taxa de interação está relacionado com a frequência que os usuários trocam informações com o sistema.

Escalabilidade vertical

Para escalar verticalmente é necessário adicionar mais recursos na máquina. É uma solução mais simples e que não requer mudanças arquiteturais da sua aplicação. Se estiver usando uma máquina de 16GB de memória, pode trocar para 32GB ou 64GB somente alterando o hardware.
Não tem a necessidade fazer uma alteração na sua aplicação.

Escalabilidade vertical

Esse tipo de escalabidade pode ser bom para aplicações pequenas, só que se a aplicação crescer começa a ter limitações de hardware e custo.

Escalabilidade horizontal

Para escalar horizontalmente adicionamos mais máquina. Esse tipo de arquitetura normalmente é pensado antes do desenvolvimento da aplicação e em alguns casos pode ser adicionado depois que a aplicação foi desenvolvida, sendo necessário realizar possíveis alterações na aplicação.

Escalabilidade horizontal

Referências:

Web Scalability for Startup Engineers: https://amzn.to/37VPQb6
Vertical vs Horizontal Scalability: https://www.youtube.com/watch?v=xpDnVSmNFX0
SCALABILITY: SCALE-UP OR SCALE-OUT, WHAT IT IS AND WHY YOU SHOULD CARE: http://www.brianjgraf.com/2013/05/17/scalability-scale-up-scale-out-care/

Posted on by:

thierrysantos profile

Thierry Santos

@thierrysantos

Software engineer based in Brazil, JavaScript and Node.js. Passionate about Technology and Games.

Discussion

markdown guide