Antes de mergulhar em circuit breakers e load tests, precisamos alinhar duas palavras que todo mundo usa errado em reunião: escala e alta disponibilidade. Spoiler: não são sinônimos.
O que é escala?
Escala é a capacidade do seu sistema de atender mais carga sem quebrar e sem ficar lento.
Imagine uma pizzaria. Numa terça-feira chuvosa, você faz 20 pizzas e tudo flui. Numa sexta-feira de jogo do Brasil, chegam 500 pedidos. Se a sua cozinha consegue absorver isso, ela "escala". Se trava, derrete e a galera vai pro concorrente, ela não escala.
Na prática, existem dois tipos de escala:
- Escala Vertical (scale up): você compra um forno maior. Em servidor, é trocar a máquina por outra com mais CPU/RAM. Vantagem: simples, não muda código. Desvantagem: tem teto físico e fica caro rápido.
- Escala Horizontal (scale out): você abre mais filiais da pizzaria. Em servidor, é colocar várias instâncias do app rodando atrás de um load balancer. Vantagem: praticamente infinito. Desvantagem: seu código precisa ser pensado pra isso (sem estado local, idempotência, etc.).
O que é alta disponibilidade (HA)?
Alta disponibilidade é a capacidade do sistema de continuar funcionando mesmo quando algo dá errado. Servidor caiu? Disco encheu? Cabo de rede do data center foi mordido por um esquilo? O usuário não pode perceber.
A métrica clássica é o famoso "número de noves":
| Disponibilidade | Tempo fora por ano | Tempo fora por mês |
|---|---|---|
| 99% (dois noves) | ~3,65 dias | ~7,2 horas |
| 99,9% (três noves) | ~8,76 horas | ~43 minutos |
| 99,99% (quatro noves) | ~52 minutos | ~4,3 minutos |
| 99,999% (cinco noves) | ~5 minutos | ~26 segundos |
Cuidado: cada nove a mais multiplica o custo. Cinco noves não é "um pouquinho melhor que quatro" — é uma operação de outro nível, com replicação multi-região, automação, equipe de plantão. Pergunta sempre: meu produto realmente precisa disso?
Escala ≠ Alta disponibilidade
- Você pode ter um sistema escalável mas indisponível (atende muita gente quando funciona, mas cai com frequência).
- Você pode ter um sistema altamente disponível mas que não escala (sempre no ar, mas trava com 100 usuários simultâneos).
- O ideal, claro, é ter os dois — e é por isso que essa apostila existe.