Alocarea resurselor
1) Sarcină și principii
Alocarea resurselor este o modalitate sistematică de potrivire a cererii (sarcină, proiecte, incidente) cu oferta (CPU/RAM/IO/rețea, licențe, persoane, bugete) pentru SLO-urile țintă și restricțiile FinOps.
Principii de bază:- SLO-first: resursa are un obiectiv de calitate; selecție este un instrument pentru a rezista.
- Corectitudine + Prioritate: o cotă echitabilă pentru toată lumea, dar garanțiile sunt o prioritate.
- Izolare: limita explozie-raza „lacom” sarcini.
- Elasticitate: expansiune/contracție automată pentru cererea reală.
- Conștient de costuri: Fiecare resursă suplimentară ar trebui să aibă un efect ușor de înțeles asupra SLO/veniturilor.
- Bazat pe dovezi: soluții confirmate de telemetrie și experimente.
2) Taxonomia resurselor
Calcul: procesor/memorie/GPU, bazine de containere, cote fără server.
Depozitare: IOPS/debit, straturi calde/calde/reci, memorie cache.
Rețea: ieșire/intrare, CDN, canale private, piscine IP.
Date: sloturi/resurse de ferestre în DWH/streaming, ferestre de rambursare.
Oameni: sloturi de gardă, IC/Release, timp SRE/Dev (ore/sprint).
Furnizori: limite de furnizori (PSP/KYC/CDN), limite de rate și conexiuni.
3) Modelul de prioritizare (portofoliu)
Tier-0: flux vital (autentificare, plăți). Resurse garantate, bazine individuale.
Nivelul 1: critic pentru afaceri (produs de bază, rapoarte D-1). Cotele preferate.
Tier-2/3: auxiliar/cercetare. Burstable, limitele bugetare.
Proiecte: Impact × Urgență × Încredere × Rating-ul costurilor → rang; potrivire în portofoliul/SUV.
4) Politici de alocare (garanții, cote, limite)
Garantat (dedicat): cotă/rezervă fixă; pentru Tier-0/1.
Burstable: cota de bază + dreptul de a împrumuta până la limita.
Cel mai bun efort: fără garanții, poate fi înlocuit.
Contingent/Limit-as-Code: toate cotele și limitele sunt descrise declarativ (depozit de politici).
Preemption/Pod Disruption Budget: Cine poate fi înlăturat și cu ce viteză.
Cote de rețea: ieșire/chiriaș, limite privind conexiunile cu furnizorii.
5) Multi-chirie și izolare
Namespace/Cont per chiriaș: limite individuale, buget, audit.
Vecini zgomotoși: cgroups/requests/limits/IO-throttling; noduri separate pentru sarcini „grele”.
P95-isolation: SLO se calculează prin percentile, nu prin medii; explozie nu ar trebui să rupă vecinii p95.
Chiria datelor: straturi de stocare separate și cache-uri pentru VIP/regiuni.
6) Auto-scalare și elasticitate
HPA/VPA/Cluster-autoscaler: scară de proxy SLI/SLI (latență p95, adâncime coadă), nu doar CPU.
Scalare programată: în avans pentru ferestre/evenimente de vârf.
Piscine calde: noduri/conexiuni încălzite pentru scalapes rapide.
Rețea/CDN: reechilibrare automată prin sarcină RUM/Anycast/POP.
7) Cozi, clase de servicii și SLA-uri
Clase: „aur/argint/bronz” cu timpi de așteptare țintă și bugete de eroare.
Cozi/autobuze: prioritizare, loturi individuale pentru Tier-0, DLQ.
Backpressure: picătură/formă/lent discipline pentru a proteja nucleul.
Intervale de timp/retribuții adaptive: pentru clasa de serviciu și starea actuală.
8) Resurse umane
Schimburi și acoperire: meciul de trafic (follow-the-sun), P1 + P2 se dublează la vârf.
Focalizare SRE/Dev: procentaj de timp per reactiv/proactiv (ex. 50/50) cu KPI.
Solicitați resurse: șabloane RFC pentru ore/sprint, coadă prioritară transparentă.
9) Model financiar (FinOps)
Unitate de economie: $/1k cereri, $/succes de plată, $/GiB busteni.
Bugete și alerte: cote pentru conturi/chiriași, avertismente privind cheltuielile suplimentare.
Optimizare: depozitare la cald/cald/rece, eșantionare jurnal, piscine spot pentru non-critice.
Showback/Chargeback: Rapoartele de cost ale echipei/chiriașului motivează performanța.
10) Managementul furnizorului
Limite și ferestre: contract TPS și cozi la PSP/KYC/CDN; ferestre programate în calendar.
Profiluri failover: greutăți și rutare între mai mulți furnizori.
Măsurarea impulsurilor: timp de răspuns, reziliență, cost/funcționare reușită.
11) Măsurători ale scadenței de distribuție
SLO Aderență după grad:% conformitate în aur/argint/bronz.
Utilizarea eficientă a resurselor: utilizarea CPU/RAM/IO (mediană/p95), cota inactivă.
Cost per punct SLO: modificarea costului deținerii obiectivului SLO.
Accelerarea/Rata de preempțiune: cât de des și pe cine dislocăm.
Hotspot MTTA: Timpul de răspuns la supraîncălzirea piscinei/chiriașului.
Indicele de corectitudine: Întârzierea/răspândirea cotei între chiriași (gini/variație).
12) Liste de verificare
Înainte de a schimba distribuția
- Țintele SLO și clasa de servicii sunt definite.
- Există telemetrie prin sarcină (p95/p99, creștere, sezonalitate).
- Cotele/limitele sunt descrise în Git și revizuite.
- Efecte asupra vecinilor (teste de izolare) testate.
- Planul rollback și guardrails gata.
Sala de operare săptămânală
- Heatmap de eliminare a piscinei și raport hotspot.
- Raport FinOps: $/unitate, depășiri, anomalii.
- Limitele furnizorului și SLA-urile sunt îndeplinite.
- Cozi: întârziere în clase, fără post.
- CAPA prin blocaje identificate în lucrare.
13) Șabloane (idei)
13. 1 Politica de cote (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 Profil auto-zoom (fragment)
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 Clasa de service și cozi
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 Revendicarea resurselor (Oameni)
RFC: RES-OPS-2025-11
Цель: усилить on-call P2 на пике ноябрьских промо (EU)
Период: 2025-11-25..2025-12-05
Обоснование: прогноз трафика +30%, прошлогодний p95 MTTA ↑
Запрос: +1 P2 слот/сутки, +IC в prime-time
14) Proceduri și automatizări
Planner bot: calcularea cotelor din istoria traficului și a obiectivelor SLO, PR la depozitul de politici.
Guardrails-bot: semnal de oprire la deplorări atunci când cota/suprasubscripție este insuficientă.
Comms bot: notificări ale echipelor despre cheltuieli suplimentare/preempțiune/schimbare de clasă.
Adnotări: versiuni de întreținere/ferestre schimba greutăți/cote pentru durata de lucru (eliminarea suprimării după).
15) Anti-modele
Evidențiați „prin senzație”, fără SLO și telemetrie.
O piscină mare pentru toată lumea fără izolare „vecini zgomotoși”.
Spargere necontrolată fără o limită superioară → „strangulării” vecinilor.
Lipsa de backpressure/cozi → un bulgăre de zăpadă de timeout.
Ignorați costul jurnalelor/ieșirii - scurgeri de buget „liniștite”.
Cote fixe fără sezonalitate/vârfuri → indisponibilitate sau cheltuieli suplimentare.
16) Foaie de parcurs de implementare (4-8 săptămâni)
1. Ned. 1-2: inventarierea resurselor și serviciilor; Cote primare de atribuire clasă (aur/argint/bronz); SLO-uri de bază.
2. Ned. 3-4: activați auto-scalarea prin proxy SLI; Configurați cozile și backpressure Izolați piscinele Tier-0.
3. Ned. 5-6: raportarea FinOps ($/unitate, cote, alerte bugetare); piscine calde și schiuri pictate pentru zilele de vârf.
4. Ned. 7-8: Planificator/automatizare Guardrails, cabinet chiriaș (vizibilitate cotă/valoare), corectitudine revizuire trimestrială și hotspot-uri.
17) Linia de jos
Alocarea resurselor nu este o configurare unică, ci un proces live construit în SLO, telemetrie și FinOps. Atunci când prioritățile sunt formalizate, cotele și limitele - cum ar fi codul, izolarea și elasticitatea - în mod implicit, iar deciziile sunt confirmate de metrici și costuri, sistemul supraviețuiește în mod constant vârfurilor, protejează fluxul critic și nu „arde” bugetul.