Ресурстарды бөлу
1) Міндеті мен қағидаттары
Ресурстарды бөлу - бұл мақсатты SLO және FinOps шектеулеріне сұранысты (жүктеме, жобалар, инциденттер) ұсыныспен (CPU/RAM/IO/желі, лицензиялар, адамдар, бюджеттер) салыстырудың жүйелі тәсілі.
Негізгі қағидаттар:- SLO-first: ресурстың сапа мақсаты бар; бөліп шығару - оны ұстап тұру құралы.
- Fairness + Priority: барлығы үшін әділ үлес, бірақ басым - кепілдіктер.
- Isolation: blast-radius «ащы» жүктемелерді шектейміз.
- Elasticity: нақты сұранысқа автоматты түрде кеңейту/қысу.
- Cost-aware: әрбір қосымша ресурс SLO/кіріске түсінікті әсер етуі тиіс.
- Evidence-based: шешімдер телеметрия және эксперименттер арқылы расталған.
2) Ресурстардың таксономиясы
Есептеулер: CPU/Memory/GPU, контейнер пулдары, серверсіз квоталар.
Сақтау орны: IOPS/өткізу, ыстық/жылы/суық қабаттар, кэш.
Желі: egress/ingress, CDN, жеке арналар, IP-пулдар.
Деректер: DWH/стримингтегі слоттар/терезе ресурстары, бэкфилл терезелері.
Адамдар: on-call слоттары, IC/Release, SRE/Dev уақыты (сағат/спринт).
Вендорлар: провайдерлер лимиттері (PSP/KYC/CDN), rate-limits және коннектілер.
3) Басымдық беру моделі (портфель)
Tier-0: өмірлік маңызы бар флоу (логин, төлемдер). Кепілдік берілген ресурстар, жеке пулдар.
Tier-1: бизнес-сыни (қор-өнім, D-1 есептері). Артықшылықты квоталар.
Tier-2/3: қосалқы/зерттеу. Burstable, бюджеттік лимиттер.
Жобалар: Impact × Urgency × Confidence × Cost → дәрежесін бағалау; САВ/портфельде келісу.
4) Бөлу саясаты (кепілдіктер, квоталар, лимиттер)
Guaranteed (dedicated): фикс-үлес/резерв; Tier-0/1 үшін.
Burstable: базалық квота + лимитке дейін бос қарызға алу құқығы.
Best-effort: кепілдіксіз, ығыстырылуы мүмкін.
Quota/Limit-as-Code: барлық квоталар мен шектер декларативті сипатталған (саясаттың репозиторийі).
Preemption/Pod Disruption Budget: кімді ығыстыруға болады және қандай жылдамдықпен.
Желілік квоталар: egress/tenant, провайдерлерге қосылуға арналған лимиттер.
5) Көп тененттілік және оқшаулау
Namespace/Account per tenant: жеке лимиттер, бюджет, аудит.
Шулы көршілер: cgroups/requests/limits/IO-throttling; «ауыр» міндеттер үшін жекелеген нодтар.
P95-оқшаулау: SLO перцентильдер бойынша есептеледі, орташа емес; burst p95 көршілерді сындырмауы керек.
Data tenancy: VIP/өңірлер үшін бөлек сақтау қабаттары мен кэштер.
6) Авто-масштабтау және икемділік
HPA/VPA/Cluster-autoscaler: масштаб тек CPU емес, SLI/SLI-прокси (latency p95, queue depth) бойынша.
Scheduled scaling: ең жоғары терезелер/оқиғалар үшін алдын ала.
Warm pools: жылытылған тораптар/жылдам скейлаптарға арналған қосылымдар.
Желі/CDN: RUM/Anycast/POP жүктемесі бойынша автоматты ребаланс.
7) Кезектер, сервистердің сыныптары және SLA
Кластар: 'gold/silver/bronze' мақсатты күту уақыты және қателер бюджеті.
Кезектер/шиналар: басымдық, Tier-0 үшін жеке партиялар, DLQ.
Backpressure: ядроны қорғауға арналған drop/shape/slow пәндері.
Бейімделетін таймауттар/ретрайлер: сервис класына және ағымдағы жай-күйіне.
8) Адам ресурстары
Ауысымдар және жабу: трафикке сәйкестігі (follow-the-sun), шыңдағы P1 + P2 дублдері.
SRE/Dev фокусы: KPI-мен реактивке/проактивке (мысалы, 50/50) уақыт пайызы.
Ресурстарды сұрату: RFC үлгілері сағат/спринт, мөлдір басымдық кезегі.
9) Қаржылық модель (FinOps)
Unit-экономика: $/1k сұрау, $/сәтті төлем, $/GiB логтар.
Бюджеттер мен алерттар: шоттар/тенанттар бойынша квоталар, артық шығын туралы ескертулер.
Оңтайландыру: ыстық/жылы/салқын сақтау, лог-семплинг, non-critical үшін спот пулдар.
Showback/Chargeback: командалар/тенанттар бойынша шығындар есебі тиімділікті ынталандырады.
10) Провайдерлерді басқару
Лимиттер мен терезелер: келісімшарттық TPS және PSP/KYC/CDN кезектері; күнтізбедегі жоспарлы терезелер.
Failover профильдері: бірнеше провайдерлер арасындағы салмақтар мен бағыттау.
Пульс-метрика: жауап беру уақыты, істен шығу тұрақтылығы, құны/сәтті операция.
11) Үлестіру жетілу өлшемдері
SLO Adherence сыныптары бойынша: gold/silver/bronze сақталу%.
Resource Efficiency: CPU/RAM/IO (медиан/р95) кәдеге жарату, idle үлесі.
Cost per SLO-point: SLO мақсатын ұстап қалу шығындарын өзгерту.
Throttling/Preemption rate: қаншалықты жиі және кімді ығыстырып шығарамыз.
Hotspot MTTA: пулдардың/тенанттардың қызып кетуіне ден қою уақыты.
Fairness Index: тенанттар арасындағы кідірістердің/квоталардың таралуы (джини/вариация).
12) Чек парақтары
Бөлуді өзгерту алдында
- SLO мақсаттары мен қызмет класы анықталған.
- Жүктеме бойынша телеметрия бар (p95/p99, өсу, маусымдық).
- Квоталар/лимиттер Git-те сипатталған және ревизиядан өткен.
- Көршілерге әсерлер тексерілді (оқшаулау сынақтары).
- Қайтару жоспары мен guardrails дайын.
Апта сайынғы операциялық
- Heatmap пулдарды кәдеге жарату және hotspot-есеп.
- 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-бот: трафик тарихынан және SLO, PR мақсаттарынан саясат репозиторийіне квоталарды есептеу.
Guardrails-бот: квота/oversubscription жетіспеген жағдайда деплояларға тоқтату сигналы.
Коммс-бот: сыныптың артық шығыны/ығыстырылуы/ауысуы туралы командаларға хабарлау.
Аннотациялар: релиздер/қызмет көрсету терезелері жұмыс уақытындағы салмақты/квотаны өзгертеді (кейін suppression алу).
15) Қарсы үлгілер
SLO мен телеметриясыз «сезіммен» бөлектеу.
«Шулы көршілерді» оқшауламай бәріне бір үлкен пул.
Жоғарғы шегі жоқ бақылаусыз burst → көршілерді «душить».
Backpressure/кезектердің болмауы → қарлы таймауттар.
Логтардың/egress құнын елемеу - бюджеттің «тыныш» жылыстауы.
Маусымдылықсыз/шыңсыз тіркелген квоталар → қолжетімсіздік немесе артық шығын.
16) Енгізу жол картасы (4-8 апта)
1. Нед. 1-2: ресурстар мен сервистерді түгендеу; сыныптардың мақсаты (gold/silver/bronze); бастапқы квоталар; негізгі SLO.
2. Нед. 3-4: SLI-прокси бойынша авто-масштабтауды қосу; кезектерді және backpressure баптау; Tier-0 пулдарды оқшаулау.
3. Нед. 5-6: FinOps есептілігі ($/бірлік, квоталар, бюджет тәуекелдері); ең жоғары күндері үшін warm-pools және сырланған скейлдер.
4. Нед. 7-8: Planner/Guardrails автоматтандыру, тенант кабинеті (квота/құн көрінісі), тоқсандық review fairness & hotspots.
17) Жиынтық
Ресурстарды бөлу - бұл бір реттік теңшелім емес, SLO, телеметрия және FinOps-те орнатылған тірі процесс. Басымдықтар, квоталар мен лимиттер - код сияқты, оқшаулау мен икемділік - әдеттегідей, ал шешімдер метрикалармен және құнмен расталғанда, жүйе тұрақты түрде шыңдарды бастан кешіп, сыни флоуды қорғайды және бюджетті «күйдірмейді».