Carregando
0x20Lição 3 de 13

Raciocine sobre latência e disponibilidade

Use números de latência, percentis e “noves” para definir e cumprir metas.

20 min Questionário com 6 perguntas
Ao final desta lição, você saberá
  • Comparar o custo aproximado de operações de memória, disco e rede.
  • Explicar por que percentis importam mais que médias.
  • Calcular a disponibilidade de componentes em série e em paralelo.

Requisitos não funcionais costumam ser expressos como metas de latência e disponibilidade. Para raciocinar sobre eles, você precisa ter noção de quanto tempo levam as operações comuns, de como descrever a latência com honestidade e de como combinar componentes muda a disponibilidade total.

Latência e disponibilidade em números

Latências aproximadas (ordens de grandeza): leitura da memória principal ~100 ns; leitura aleatória em SSD ~100 µs; ida e volta dentro de um data center ~0,5 ms; busca em disco rígido ~10 ms; ida e volta entre continentes ~100-150 ms. A memória é cerca de 1.000× mais rápida que o SSD, e é por isso que caches importam.

Percentis: p50 é a mediana; p99 é a latência que 99% das requisições não ultrapassam. Médias escondem a cauda lenta que os usuários reais sentem.

Os “noves” da disponibilidade: 99,9% permite ~8,8 horas fora do ar por ano; 99,99%, ~53 minutos; 99,999%, ~5 minutos.

Combinando componentes: se uma requisição precisa de A e B (em série), a disponibilidade é A × B, menor que a de cada um. Se qualquer uma de duas réplicas pode atender (em paralelo), a disponibilidade é 1 − (1 − a)².

O que cada nível permite por ano: 99% são cerca de 5.256 minutos fora do ar, 99,9% cerca de 526 minutos e 99,99% cerca de 53 minutos.

Cada nove a mais custa muito mais engenharia: redundância, failover automático, deploys cuidadosos. As equipes deixam as metas explícitas com um SLI (o que você mede, como a fração de requisições bem-sucedidas), um SLO (a meta interna, como 99,9% em 30 dias) e, às vezes, um SLA (um contrato com clientes que prevê penalidades).

Prática: ganhe noção de latência

Experimente

Até 15 XP

Quanto tempo isso leva?

Você não precisa de números exatos, só da ordem de grandeza de cada um.

0 de 4 classificadosPontuação 0/0
  • “Ler da memória principal.”

  • “Uma leitura aleatória de um SSD.”

  • “Uma ida e volta dentro de um data center.”

  • “Uma ida e volta entre continentes.”

Prática: chegue a quatro noves

Experimente

Até 15 XP

Monte um caminho que cumpra a meta

Toda requisição passa por cada uma destas camadas, então as disponibilidades se multiplicam. Chegue a 99,99% com o mínimo de servidores possível.

Adicione quantas réplicas quiser. Alguma coisa ainda vai segurar você. O que dá para fazer com uma camada que você não consegue replicar?

  1. Balanceador de cargaCada instância: 99,900%1 instância
  2. Servidor de aplicaçãoCada instância: 99,000%1 instância
  3. Banco de dadosCada instância: 99,900%1 instância
  4. Provedor de pagamentoCada instância: 99,950%Terceiro: sem réplicas
Disponibilidade do caminho
98,752%
Indisponibilidade por ano
6.556 minutos
Servidores que você opera
3
Este caminho não atinge a meta de 99,990%.

Experimente

Até 15 XP

Contas rápidas de confiabilidade

Essas contas aparecem o tempo todo. Estime cada uma.

Pergunta 1 de 2Pontuação 0/2
%
Você pode escrever 10000, 10k, 1e4 ou 10^4.

Principais conclusões

  • Memória ≪ SSD ≪ ida e volta no data center ≪ ida e volta entre continentes.

  • Descreva a latência com percentis como p99, não com médias.

  • Dependências em série multiplicam e reduzem a disponibilidade; a redundância multiplica e reduz a probabilidade de falha.

Quiz da aula

6 perguntas · aprovação com 5 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…