01 / 00
↑ ↓ · scroll · swipe
Arquitetura de Sistemas · pitch 5 min

Escalabilidade

Como um sistema aguenta 10, 100 ou 1 milhão de usuários sem cair.

O problema

O tráfego cresce.
O servidor, sozinho, não.

Mais usuários = mais requisições por segundo. Uma máquina só chega ao limite: fica lenta, engasga e, no pior caso, cai.

requisições ▲   capacidade ▬   → gargalo

100% CPU
O conceito

Escalabilidade é a capacidade de crescer com a demanda

Adicionar recursos e continuar atendendo bem, de forma previsível, conforme mais gente usa o sistema.

usuários
recursos
=
mesma experiência
Duas formas de escalar
Vertical · scale up/down
1 máquina, mais forte

Deixar a mesma máquina mais potente: mais CPU, RAM, disco.

Horizontal · scale out/in
várias máquinas em paralelo

Somar mais máquinas trabalhando juntas, lado a lado.

Vertical vs. Horizontal

Cada uma tem seu preço

Vertical

  • Simples: nada muda no código
  • Tem um teto físico de hardware
  • 1 máquina = 1 ponto de falha

Horizontal

  • Cresce quase sem limite
  • Uma cai, as outras seguram
  • Precisa distribuir o tráfego
A peça que falta

Load Balancer

O "porteiro" na frente das máquinas. Recebe todas as requisições e reparte de forma equilibrada, para que ninguém sobrecarregue.

1 entrada → N servidores

LOAD BALANCER
MÍNIMO DESEJADO MÁXIMO
Automático

Auto Scaling

Você define os limites e o sistema liga e desliga máquinas sozinho, seguindo a demanda em tempo real.

  • mino piso que sempre fica de pé
  • desiredquanto rodar agora
  • maxo teto pra não gastar demais
Tudo junto, em ação

O sistema se defende sozinho

requisições LOAD BALANCER AUTO SCALING 1 2 3 LOTADO! 4 + nova distribuindo entre as máquinas todas no limite auto scaling cria a máquina 4 carga estável de novo
Quanto custa? 💲 · Load Balancer

A conta do Load Balancer tem duas partes

1 Taxa fixa por hora

Você paga por cada hora que ele fica ligado, mesmo sem nenhum acesso. É o custo de manter o "porteiro" de plantão.

≈ US$ 0,0225 / hora  (~US$ 16 / mês)

2 Taxa variável por uso (LCU)

A LCU mede 4 dimensões do tráfego (novas conexões, conexões ativas, dados trafegados e regras avaliadas) e cobra pela maior delas a cada hora.

≈ US$ 0,008 / LCU-hora

Ou seja: uma base fixa por estar de pé + um extra que sobe e desce com o movimento real. Já o Auto Scaling em si é grátis: você só paga as máquinas extras que ele liga.

Cuidados

Onde escalar dá errado

Gargalo escondido

Somar máquinas não resolve se o banco de dados é o que trava. Você escala a parte errada e a fila continua.

Servidor físico não faz sozinho

Comprar e instalar uma máquina leva dias. Impossível acompanhar um pico em minutos, e ela fica ociosa depois. É aqui que a nuvem brilha: liga e desliga capacidade em segundos.

Otimização prematura

Escalar antes de precisar: complexidade e custo pra um problema que ainda não existe. O erro mais clássico.

Conta sem teto

Auto Scaling sem limite máximo bem definido: um pico (ou um bug em loop) liga máquinas sem parar e a fatura explode.

regra de ouro: primeiro meça o gargalo, depois escale só ele.

Design & Arquitetura

Escalabilidade é uma decisão de arquitetura: pensada no desenho, não improvisada no pico

Sistemas nascem prontos pra crescer quando são pensados sem estado, desacoplados e distribuídos desde o desenho.

verticalhorizontal load balancer auto scaling

Escale o que a demanda pedir. Nem mais, nem menos.