Ռեսուրսների բաշխումը
1) Առաջադրանքն ու սկզբունքները
Ռեսուրսների բաշխումը համակարգային միջոց է համեմատելու պահանջարկը (ստանդարտ, նախագծեր, միջադեպեր) առաջարկի հետ (CPU/RAM/IO/ցանց, լիցենզիա, մարդիկ, բյուջեներ) SLO-ի և FinOps-ի սահմանափակումների տակ։
Հիմնական սկզբունքները
SLO-first: ռեսուրսը ունի որակի նպատակ։ հատկացումը այն դիմակայելու գործիք է։
Fairness + Priority: արդար մասը բոլորի համար, բայց գերակայությունները երաշխիքներ են։
Isolation: Մենք սահմանափակում ենք blast-radius «կենդանի» բեռները։
Elasticity: Ավտոմատ ընդլայնումը/սեղմումը իրական պահանջարկի տակ։
Cost-a.ru: Յուրաքանչյուր լրացուցիչ ռեսուրս պետք է ունենա հասկանալի ազդեցություն SLO/եկամտի վրա։
Evidence-based: Որոշումները ապացուցված են հեռուստատեսությամբ և փորձերով։
2) Ռեսուրսների տաքսոնոմիա
Հաշվարկները ՝ CPU/Memory/GPU, բեռնարկղային փամփուշտներ, անպարկեշտ քվոտաներ։
Պահեստ ՝ IOPS/բաց, տաք/տաք/սառը շերտեր, քեշը։
Ցանցը ՝ egress/ingress, CDN, մասնավոր ալիքներ, IP-puls։
Տվյալները ՝ SNH/striming, backfill պատուհաններ։
Մարդիկ ՝ on-call արցունքներ, IC/Rele.ru, MSE/Dev ժամանակը (ժամացույց/սպրինտ)։
Վենդորներ ՝ պրովայդերների լիմիտներ (PMS/KYC/CDN), rate-limits և կոնեկտներ։
3) Գերակայության մոդելը (պորտֆել)
Tier-0 'կենսական կարևոր ֆլոուն (լոգին, վճարումներ)։ Երաշխավորված ռեսուրսներ, առանձին փամփուշտներ։
Tier-1: Բիզնես քննադատական (կոր արտադրանք, D-1 հաշվետվություններ)։ Նախընտրելի քվոտաներ։
Tier-2/3: 108/հետազոտական։ Burstable, ռուսական լիմիտներ։
Նախագծեր ՝ Impact Windows Urgency Prodidence Cost rang; կարդացեք SAV/պորտֆելի մեջ։
4) Բաշխման քաղաքականությունը (երաշխիքներ, քվոտաներ, սահմաններ)
Guaranteed (dedicated): ֆիքսված մասը/պահեստը; Tier-0/1 համար։
Burstable: 105 քվոտա + իրավունք է ազատ զբաղեցնել մինչև սահմանը։
Best-effect: Առանց երաշխիքների, կարող է փոխարինվել։
Delta/Limit-as-Code: Բոլոր քվոտաները և սահմանները նկարագրված են ագրեսիվ (ռեպոզիտորիա)։
Systemption/Pod Disruption Budget: Ո՞ վ կարող է փոխարինել և ինչ արագությամբ։
Ցանցային քվոտաները ՝ egress/tenae, սահմանափակումներ պրովայդերների միավորման համար։
5) Բազմաբնույթ և մեկուսացում
Namespace/Account per ten.ru: Առանձին սահմաններ, բյուջե, աուդիտ։
Աղմկոտ հարևանները ՝ cgroups/reques.ru/limits/IO-throttling; առանձին նոդներ «ծանր» խնդիրների համար։
P95 մեկուսացում 'SLO հաշվարկվում է պերցենտիլներով, ոչ միջին; burst չպետք է կոտրի p95 հարևաններին։
Deltenancy: Առանձին փամփուշտներով պահեստային և քաշային շերտեր VIP/տարածաշրջանների համար։
6) Avto-մեծացումը և առաձգականությունը
HPA/Cluster-autoscaler: SLI/SLI-2019 (latency p95, queue depth), ոչ միայն CPU-ի մասշտաբը։
Scheduled scaling 'նախօրոք պիկային պատուհանների/իրադարձությունների տակ։
Warm poo.ru 'արագ սկեյլապների համար քրտնաջան կոդեր/միակցիչներ։
Ցանցը/CDN 'ավտոմատ ռեբալանսը RUM/Anycript/POP բեռով։
7) Հերթեր, ծառայությունների դասարաններ և SLA
Դասարանները '«gold/silver/bronze», սպասման ամբողջ ժամանակի և սխալների բյուջեով։
Հերթեր/անվադողեր 'գերակայություն, առանձին կուսակցություններ Tier-0, DLQ-ի համար։
Backpressure: drop/shape/slow պաշտպանելու համար։
Հարմարվողական թայմաուտներ/retray 'դասակարգի տակ և ներկա վիճակ։
8) Մարդկային ռեսուրսները
Հերթափոխը և ծածկումը 'կիսագնդի համապատասխանությունը (follow-the-sun), P1 + P2 դուբլները գագաթին։
Ֆոկուս MSE/Dev: Ժամանակի տոկոսը ռեակտիվ/պրոտեկտիվ (օրինակ, 50/50) KPI-ից։
Ռեսուրսների հարցումը 'RFC ձևանմուշները ժամացույցի/սպրինտի, թափանցիկ առաջնահերթության հերթը։
9) Ֆինանսական մոդել (FinOps)
Unit տնտեսագիտությունը 'դոլար/1k հարցումներ, դոլար/հաջողակ բյուջե, դոլար/GiB լոգոն։
Բյուջեներն ու ալերտները 'հաշիվների քվոտաները/տենանտները, նախազգուշացումները տեղափոխման մասին։
Օպտիմիզացիան 'տաք/տաք/սառը պահեստավորում, լոգ-սեմպլինգ, նոն-critical։
Showback/Chargeback: Թիմերի/տենանտների ծախսերի հաշվետվությունները դրդում են արդյունավետությունը։
10) Պրովայդերների կառավարումը
Լիմիտներ և պատուհաններ ՝ պայմանագրային TPS և գծեր PFC/KYC/CDN-ում։ պլանավորված պատուհաններ օրացույցի մեջ։
Failover-պրոֆիլներ 'քաշը և միկրոօրգանիզացիան մի քանի պրովայդերների միջև։
Puls-metriks: Պատասխանելու ժամանակը, անկայունությունը, արժեքը/հաջողակ վիրահատությունը։
11) Տարածման հասունության մետրիկները
SLO Adherence-ը դասարաններում '% -ը gold/silver/bense։
Resource Efficiency: CPU/RAM/IO (միջին/r95), idle մասնաբաժինը։
Cost per SLO-point-ը SLO-ի նպատակը պահելու ծախսերի փոփոխությունն է։
Throttling/Systemption rate: Ինչպես հաճախ և ում դուրս ենք հանում։
Hotspot MTTA: Ժամանակն է փամփուշտների/տենանտների գերտաքացման վրա։
Fairness Index-ը 'տենանտների միջև/քվոտաների կոտրումը (ջինի/տատանումը)։
12) Չեկ թերթերը
Նախքան բաշխման փոփոխությունը
- Որոշված են SLO և դասարանի նպատակները։
- Բեռի հեռուստացույց կա (p95/p99, աճը, սեզոնայնությունը)։
- Quots/limits նկարագրված են Git-ում և անցել են խանդավառությամբ։
- Ստուգված են հետևանքները հարևանների վրա (բուժիչ թեստեր)։
- Վերադարձի պլանը և guardrails պատրաստ են։
Շաբաթական վիրահատություն
- Heatmap հեռացնել փամփուշտները և հյուրանոցային զեկույցը։
- FinOps: ԱՄՆ դոլար, թռիչքներ, անոմալիաներ։
- Պրովայդերական սահմանները և SLA-ն պատրաստված են։
- Հերթեր ՝ դասարանում ուշացում, սովամահ չկա։
- CAPA-ն աշխատանքի նեղ տեղերում։
13) Ձևանմուշներ (գաղափարներ)
13. 1 Քվոտի քաղաքականություն (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 Ավելացման պրոֆիլը (հատված)
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 Դասեր և հերթեր
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 Դիմումը ռեսուրսի վրա (մարդիկ)
RFC: RES-OPS-2025-11
Цель: усилить on-call P2 на пике ноябрьских промо (EU)
Период: 2025-11-25..2025-12-05
Обоснование: прогноз трафика +30%, прошлогодний p95 MTTA ↑
Запрос: +1 P2 слот/сутки, +IC в prime-time
14) Ընթացակարգեր և ավտոմատիզացիա
Planner-bot 'հաշվարկելով քվոտաների հաշվարկը մրցույթի պատմությունից և SLO նպատակներից, PR-ի ռեպոզիտորական քաղաքականությունից։
Guardrails-bot: stop-ազդանշան դոպլոներին քվոտայի/oversubscription-ի պակասի դեպքում։
Կոմս-բոտ 'հրամանների ծանուցում տեղափոխման/փոխարինման/դասարանի փոփոխության մասին։
Սենսացիաներ ՝ օրինագծերը/ծառայության պատուհանները փոխում են քաշը/քվոտաները աշխատանքի ընթացքում (suppression-ից հետո)։
15) Anti-patterna
Հատկացնել «զգացմունքներով», առանց SLO-ի և հեռուստատեսության։
Մի մեծ փամփուշտ բոլորի համար առանց «աղմկոտ հարևանների» մեկուսացման։
Անվերահսկելի burst-ը առանց վերին սահմանների հաստատվում է հարևանների «հոգով»։
Backpressure/հերթերի բացակայությունը ցույց է տալիս թայմաուտների ձյան կատուն։
/ egress-ի արժեքը անտեսելը բյուջեի «հանգիստ» արտահոսքն է։
Ֆիքսված քվոտաները, առանց սեզոնային/պիկի, ապահովում են անհասանելիություն կամ փոխակերպում։
16) Ճանապարհի քարտեզը (4-8 շաբաթ)
1. Մոսկվան։ 1-2 'ռեսուրսների և ծառայությունների բուլարիզացիա; դասերի նշանակումը (gold/silver/bronze); առաջնային քվոտաներ; հիմնական SLO-ն։
2. Մոսկվան։ 3-4 'միացրեք SLI-2019-ի ավտոմեքենան-մեծացումը; գծեր և backpressure; մեկուսացնել Tier-0 պուլերը։
3. Մոսկվան։ 5-6: FinOps հաշվետվությունները (դոլար/դոլար, քվոտաներ, բյուջեի ալտերտեր); warm-poo.ru-ը և ներկված սկեյլները գագաթնակետին օրերի ընթացքում։
4. Մոսկվան։ 7-8 'Planner/Guardrails ավտոմատիզացիան, տենբերի գրասենյակը (քվոտաների/արժեքի տեսանելիությունը), եռամսյակային fairness & hotspots-ը։
17) Արդյունքը
Ռեսուրսների բաշխումը տարբեր սահմանումներ չէ, այլ կենդանի գործընթաց, որը ներկառուցված է SLO-ում, թելեմետրիայում և FinOps-ում։ Երբ գերակայությունները ձևավորվում են, քվոտաները և լիմիտները որպես կոդ, մեկուսացումը և առաձգականությունը լռելյայն են, իսկ որոշումները հաստատվում են մետրերով և արժեքներով, համակարգը կայուն է, պաշտպանում է կրիտիկական ֆլոուն և չի «թռչում» բյուջեն։