Skeiling automático e balanço do SLA
Skeiling automático e balanço do SLA
1) Objetivos e princípios
O objetivo é manter o SLO (latência/disponibilidade) a um custo mínimo.
SLA↔SLO↔SLA Costa: Não se persegue uma escala «infinita» - escrevendo dentro do orçamento de erros e limites monetários.
Modelo de carga aberto: As solicitações que chegam geram um fluxo de intensidade '£'; O sistema deve fornecer paralelismo médio 'N ≈ £ x W' (lei Little), onde 'W' é o tempo médio de serviço.
2) Quais métricas são boas em desencadeadores
Técnica:- CPU/RAM/IO (proxy para saturação).
- Competição (in-flight) e pool wait.
- p95/p99 aplicação latency (refletindo realmente o SLO).
- RPS/arrival rate (velocidade de solicitação).
- Filas: profundidade, idade das mensagens, velocidade de processamento.
- Taxa de transações bem sucedidas ≤ T segundos (depósitos, cheque-out).
- Hora de confirmação das operações.
A recomendação é combinar 2-3 sinais, como latency + pools para serviços e queue depth + age para worker.
3) Reativo vs preditivo scale
Reativo (feedback): HPA/ASG aumenta/reduz réplicas de fato. É simples, mas há uma liga.
Preditivo (feed-forward): calendário/telemetria passada/market-ivents. Inclui o pré-warm: elevar N de instâncias para o ponto mais alto.
Na prática, híbrido - baseline (mínimo), bust preditivo antes dos eventos, reativado.
4) Políticas de skale e parâmetros de estabilidade
Target tracking: mantenha a métrica perto do alvo (por exemplo, CPU 60%).
Step escaling: estágios de excesso (agressivamente em espaçonaves).
Stabilization window/cooldown: suavize o flapping (por exemplo, 60-180 segundos).
Min/Max: os limites inferior e superior; max - dentro dos limites de BD/provedor.
5) Coordenação de níveis (cascata arquitetônica)
1. O perímetro/API é elástico, mas com limites e backpressure.
2. Serviços - HPA latency/RPS/pool wait.
3. Filas/worker - KEDA/ASG por profundidade/idade das mensagens.
4. BD/kesh - escala com cuidado (réplicas/charding), com antecedência.
Regra: Não aumente a aplicação mais depressa do que aguente «dados».
6) Filas e Lei Little (como contar os workers)
Para a fila de entrada '£' (msg/s) e o tempo médio de processamento de 'W' (s):- O paralelismo desejado é 'N _ min ≈ £ x W'.
- Com uma reserva de picos/caudas: 'N ≈ £ x W x (1. 2–1. 5)`.