Distribuição de recursos
1) Tarefa e princípios
A distribuição de recursos é uma forma sistêmica de comparar a demanda (carga, projetos, incidentes) com a oferta (CPU/RAM/IO/rede, licenças, pessoas, orçamentos) sob metas SLO e restrições de FinOps.
Princípios básicos:- SLO-first: O recurso tem um propósito de qualidade; a seleção é uma ferramenta para suportá-la.
- Fairness + Priority: Proporção justa para todos, mas prioridade: garantias.
- Isolation: Limitamos as cargas blast-radius «vivas».
- Elasticity: expansão automática/compressão para demanda real.
- Costa-aware: cada recurso adicional deve ter um efeito compreensível em SLO/rendimento.
- Evidence-based: Soluções confirmadas por telemetria e experiências.
2) Taxonomia de recursos
Cálculos: CPU/Memory/GPU, pool de contêiner, quotas sem servidor.
Armazenamento: iOPS/banda larga, camadas quentes/quentes/frias, dinheiro.
Rede: egress/ingress, CDN, canal privado, pool IP.
Dados: slots/recursos de janela em DWH/streaming, janelas de backfill.
Pessoas: on-call slots, IC/Release, hora SRE/Dave (relógio/sprint).
Vendedores: limites de provedores (PSP/KYC/CDN), rate-limits e conectórios.
3) Modelo de priorização (carteira)
Tier-0: flow essencial (login, pagamentos). Recursos garantidos, balas individuais.
Tier-1: criterioso de negócios (córrego, relatórios D-1). Quotas preferenciais.
Tier-2/3: auxiliar/pesquisa. Burstable, limites orçamentários.
Projetos: Avaliação de Impacto x Urbency x Confidence x Costa →. negociação em CAV/carteira.
4) Políticas de distribuição (garantias, quotas, limites)
Guaranteed (dedicated): fixe/reserva; para Tier-0/1.
Burstable: quota básica + direito de emprestar livre até o limite.
Best-effort: Sem garantias, pode ser excluído.
Quota/Limit-as-Code: Todas as quotas e limites são declaradamente descritos (repositório de políticas).
Preempition/Pod Disrupition Budet: quem pode ser expulso e a que velocidade.
Quotas de rede: egress/tenant, limites de conexão para provedores.
5) Multiplicidade e isolamento
Namespace/Score per tenant: limites individuais, orçamento, auditoria.
Vizinhos ruidosos: cgroups/requests/limits/IO-throttling; nódulos individuais para tarefas «difíceis».
Isolamento P95: O SLO é calculado a partir de percentilos que não são médios; burst não deve quebrar p95 vizinhos.
Data tenance: camadas separadas de armazenamento e cachês para regiões VIP.
6) Escala automática e elasticidade
HPA/VPA/Cluster-autoscaler: Escala SLI/SLI proxy (latency p95, queue depth), não apenas CPU.
Scheduled escaling: antecipado sob janelas de pico/eventos.
Warm pools: nódulos/conexões aquecidos para skeilaps rápidos.
Rede/CDN: revalidação automática por RUM/Anycast/carga POP.
7) Filas, classes de serviços e SLA
Classes: 'gold/silver/bronze' com tempo de espera e orçamento de erro.
Filas/pneus: priorização, partituras individuais para Tier-0, DLQ.
Backpressure: disciplinas drop/shape/slow para proteger o núcleo.
Timeouts/retraí adaptativos: sob a sala de aula do serviço e o estado atual.
8) Recursos humanos
Trocas e revestimento: alinhamento com o tráfego (follow-the-sun), duplas P1 + P2 no auge.
Foco SRE/Dave: Porcentagem de tempo por agente/proativo (por exemplo, 50/50) com KPI.
Solicitação de recursos: modelos RFC para relógio/sprint, fila de prioridade transparente.
9) Modelo financeiro (FinOps)
Unit Economy: $/1k pedidos, $/pagamento bem-sucedido, $/GiB logs.
Orçamentos e alertas: quotas de contas/tenentes, avisos de sobrepreço.
Otimização: armazenamento quente/quente/frio, logs-sempling, pulas para não-critical.
Showback/Chargeback: Relatórios de custo por comando/tenente motivam a eficiência.
10) Gerenciamento de provedores
Limites e janelas: TPS contratados e filas em PSP/KYC/CDN; janelas programadas no calendário.
Perfis Failover: peso e rotação entre vários provedores.
Tempo de resposta, resistência a falhas, custo/sucesso da operação.
11) Métricas de maturidade de distribuição
SLO Adherence por classe:% de cumprimento em gold/silver/bronze.
Resource Efficiency: Reciclagem CPU/RAM/IO (mediana/p95), idle.
Costa per SLO point: alteração dos custos de retenção do alvo SLO.
Throttling/Preempition rate: Com que frequência e com quem removemos.
Hotspot MTTA: Tempo de resposta para superaquecimento de pool/tenante.
Fairness Index: descumprimento de atrasos/quotas entre tenentes (gini/variação).
12) Folhas de cheque
Antes de alterar distribuição
- Os objetivos do SLO e a classe do serviço foram definidos.
- Há telemetria por carga (p95/p99, altura, sazonalidade).
- As quotas/limites são descritos no Git e foram revoltados.
- Os efeitos sobre os vizinhos (testes de isolamento) foram testados.
- Plano de reversão e guindastes prontos.
Operação semanal
- Heatmap reciclagem de pool e relatório hotspot.
- Relatório FinOps: $/unidade, sobrepreços, anomalias.
- Os limites de provimento e SLA foram cumpridos.
- Filas: atraso dentro das salas de aula, sem fome.
- CAPA para os estreitos de trabalho identificados.
13) Modelos (ideias)
13. 1 Política de Quotas (YAML)
yaml tenant: vip-eu class: gold compute:
cpu:
request: "8000m"
limit: "12000m"
memory:
request: "16Gi"
limit: "24Gi"
storage:
tier: hot iops_min: 8000 network:
egress_mbps_cap: 500 slo:
latency_p95_ms: 250 preemption:
protected: true burst:
allowed: true max_factor: 1.5
13. 2 Perfil de zoom automático (fatia)
yaml autoscaling:
metric: "queue_depth" # или biz_sli.payment_latency_p95 target: 200 min_replicas: 6 max_replicas: 60 warm_pool: 4 cooldown_sec: 120
13. 3 Classe de serviço e filas
yaml class: gold sla:
wait_p95_ms: 150 queue:
partition: "gold-eu"
retry_policy:
attempts: 2 backoff_ms: 200 backpressure: "shape" # иначе drop/slow
13. 4 Pedido de recurso (pessoas)
RFC: RES-OPS-2025-11
Цель: усилить on-call P2 на пике ноябрьских промо (EU)
Период: 2025-11-25..2025-12-05
Обоснование: прогноз трафика +30%, прошлогодний p95 MTTA ↑
Запрос: +1 P2 слот/сутки, +IC в prime-time
14) Procedimentos e automação
Planner-bot: cálculo de quotas do histórico de tráfego e alvos SLO, PR para o repositório de políticas.
Guerrails-bot: sinal de pare para os depósitos quando a quota é escassa/oversubscrição.
Comms-bot: notificações dos comandos de excesso/excesso/mudança de classe.
Anotações: lançamentos/janelas de serviço alteram peso/quotas de trabalho (excesso de suprimento depois).
15) Anti-pattern
«Por sensação», sem SLO ou telemetria.
Um grande pulo para todos, sem isolar os «vizinhos ruidosos».
Burst descontrolado sem limite superior «sufocamos» os vizinhos.
A falta de backpressure/filas → uma bola de neve de temporizadores.
Ignorar o custo dos logs/egress - «silenciosa» fuga de orçamento.
Quotas fixas sem sazonalidade/pico → indisponibilidade ou sobrepreço.
16) Mapa de trânsito de implementação (4-8 semanas)
1. Ned. 1-2: inventário de recursos e serviços; atribuição de classes (gold/silver/bronze); quotas primárias; SLO básico.
2. Ned. 3-4: ativar o zoom automático por proxy SLI; personalizar as filas e backpressure; isolar o Tier-0 pula.
3. Ned. 5-6: Relatórios FinOps ($/unidade, quotas, alertas de orçamento); warm-pools e skate pintado para os dias de pico.
4. Ned. 7-8: automação Planner/Guardrails, gabinete do tenante (visibilidade de quotas/custo), review trimestral fairness & hotspots.
17) Resultado
A distribuição de recursos não é uma configuração única, mas um processo vivo incorporado a SLO, telemetria e FinOps. Quando as prioridades são formalizadas, as quotas e os limites - como código, isolamento e elasticidade - por omissão, e as decisões são confirmadas por métricas e custos, o sistema experimenta picos estáveis, protege flow críticos e não «respira» o orçamento.