Raciocine sobre latência e disponibilidade
Use números de latência, percentis e “noves” para definir e cumprir metas.
- 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 XPQuanto tempo isso leva?
Você não precisa de números exatos, só da ordem de grandeza de cada um.
“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 XPMonte 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?
- Balanceador de cargaCada instância: 99,900%1 instância
- Servidor de aplicaçãoCada instância: 99,000%1 instância
- Banco de dadosCada instância: 99,900%1 instância
- 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
Experimente
Até 15 XPContas rápidas de confiabilidade
Essas contas aparecem o tempo todo. Estime cada uma.
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…