Технология және инфрақұрылым → Бұлтты сәулет және SLA
Бұлтты сәулет және SLA
1) Неліктен SLA және оларды қалай басқару керек
SLA (Service Level Agreement) - бизнеске/әріптестерге сервистің қолжетімділігі, жылдамдығы және дұрыстығы туралы сыртқы уәде.
SLO (Service Level Objective) - командалар үшін ішкі мақсатты деңгейлер.
SLI (Service Level Indicator) - олардың негізінде SLO бағаланатын өлшенетін метриктер.
iGaming/финтех үшін пиктердің қатаң терезелері (турнирлер, лайв-ставкалар, есептік кезеңдер, «жалақы» күндері), PSP/KYC-провайдерлерге және географияға күшті тәуелділік тән. SLA бұл мінез-құлықты ескеруі тиіс, ал сәулет - тек орташа ғана емес, сонымен қатар перцентті кепілдіктерді қамтамасыз етуі тиіс.
2) Базалық терминология
Қолжетімділік (Availability) - интервал ішінде табысты сұрау салу үлесі.
Жасырындылық - негізгі операциялар үшін P50/P95/P99.
Қате - нақты анықтаңыз (5xx, таймаут, бизнес қатесі?).
RTO (Recovery Time Objective) - қанша уақыт қалпына келтіруге болады.
RPO (Recovery Point Objective) - апат кезінде қанша деректерді жоғалтуға болады.
Error Budget - 1 − SLO, өзгерістер мен оқыс оқиғаларға «қор».
3) SLA астындағы бұлтты сәулет қаңқасы
3. 1 Көп аймақтық (Multi-AZ)
Жай-күйді репликалау (ДБ, кэш, кезек) кем дегенде 2-3 AZ.
Суық/жылы стендбай, автоматты failover.
per-AZ health-чектері бар жергілікті теңгерушілер (L4/L7).
3. 2 Мультирегион
Актив-актив: төмен RTO/RPO, консистенттілігі мен құны күрделірек.
Актив-пассив (hot/warm): арзан, RTO үлкен, бірақ деректерді бақылау оңай.
Географиялық роутинг (GeoDNS/Anycast), оқшаулау «blast radius».
3. 3 Қоймалар және деректер
Транзакциялық ДБ: өңір ішіндегі синхронды репликация, асинхронды өңіраралық.
Кэш: кросс-аймақтық репликалар, «local reads + async warmup» күйі.
Объектілік сақтау орны: нұсқалау, лайф-циклдар, cross-region replication.
Кезектер/стриминг: айналы кластерлер/көп аймақтық ағындар.
3. 4 Контурларды оқшаулау
Сындарлы сервистер (payments/wallet) мен «ауыр» аналитикалық міндеттерді бөлу.
Rate-limits/quotas контурлар арасында есептерді «жемеу» үшін.
4) Қол жетімділігі жоғары паттерндер
Bulkhead & Pool Isolation - қосылыстар мен ресурстар пулдарын оқшаулау.
Circuit Breaker + Timeouts - сыртқы интеграцияларды тоқтатудан қорғау.
Idempotency - сұрауларды екі рет есептен шығарусыз қайталаймыз.
Graceful Degradation - деградация кезінде нефундаментті фичтерді (аватаркалар, кеңейтілген сүзгілер) өшіреміз.
Backpressure - кіріс ағынын басқарыңыз, «көкжиекке дейін» кезектерге жол бермеңіз.
Chaos/Failure Injection - сенімділік гипотезаларын тексеру үшін жоспарлы «сәтсіздіктер».
5) DR стратегиялары (Disaster Recovery)
Таңдау: төлемдер/әмиян - ең төменгі Hot Standby; мазмұн/каталог - Warm; есептер - анық терезелері бар Backup & Restore.
6) Про SLI/SLO: қалай дұрыс өлшеу керек
6. Деңгейлер бойынша 1 SLI
Клиенттік SLI: end-to-end (шлюзді және сыртқы провайдерлерді қоса алғанда).
Сервистік SLI: сервистің «таза» жасырындылығы/қателері.
Бизнес-SLI: CR (тіркеу → депозит), T2W (time-to-wallet), PSP-decline rate.
6. 2 SLO мысалдары
Core API қолжетімділігі: ≥ 99. 30 күнде 95%.
Payout-бастамасының жасырындылығы: P95 ≤ 350 мс, P99 ≤ 700 мс.
PSP вебхуктарын жеткізу: ≥ 99. 60 сек ішінде 9% (ретралармен).
Data Freshness есептері: ≤ 10 мин 95% уақыт артта.
6. 3 Error Budget Policy
Бюджеттің 50% - өзгерістерге (релиздер/эксперименттер), 50% - инциденттерге.
Бюджеттің жануы → фриз фич, тек тұрақтандыру.
7) Өнімділік және масштабтау
SLO бағдарланған сигналдары бар HPA/VPA (тек CPU ғана емес, сонымен қатар кезек/жасырындылық).
Кестелер мен тарихи шыңдар негізінде болжамды скейлинг.
Warm pools/турнир алдында БД/PSP қосылыстарын алдын ала қыздыру.
Кэштеу және edge - әсіресе ойын каталогтары мен статикалық жиынтықтар үшін RTT азайту.
8) Желілік қабат және жаһандық трафик
Anycast/GeoDNS жасырындылықты азайту және аварияларды оқшаулау үшін.
Failover-саясат: аймақтың денсаулық сынамалары, табалдырықтар, TTL-мен «stickiness».
mTLS/WAF/Rate Limit шетінде, бот-трафиктен қорғау.
allow-list және SLA-aware ретраялары бойынша PSP/KYC-ге egress-бақылау.
9) Деректер және консистенттілік
Келісу деңгейін таңдау: қатаң (payments) vs eventual (каталог/рейтингтер).
CQRS критикалық пәрмендерді оқу және тігінен босату үшін.
Оқиғаларды дәл бір уақытта жеткізу үшін Outbox/Inbox.
Түбіртексіз көші-қон: expand-migrate-contract, MAJOR-өзгерістері кезінде қос жазба.
10) SLA астында бақылау (Observability)
Шлюз арқылы трейстер: серіктесі/өңірі/API нұсқасымен 'trace _ id' корреляциясы.
SLO-дашбордтар burn-rate, өңірлер мен провайдерлер бойынша «ауа райы».
Алерталар прокси симптомдары бойынша емес, симптомдары бойынша (CPU емес, Р99/қателер).
Synthetics: сыртқы тексерулер таргет елдерінен (TR, BR, EU...).
Аудит және есептілік: SLI/SLO-ны әріптестік порталға экспорттау.
11) Қауіпсіздік және комплаенс
Желілер сегментациясы және құпия-менеджмент (KMS/Vault).
Ұшу/тыныштықтағы шифрлау, PAN/PII токенизациясы.
Әкімшілер/операторлар үшін рөлдер бойынша қол жеткізу саясаты.
Өзгермейтін логтар (WORM) және аудит үшін ретеншн.
Реттеуіш: аймақта сақтау, есептер, SLA орындаудың дәлелденуі.
12) FinOps: SLA құн драйвері ретінде
SLO девиациясына баға қойыңыз: қанша тұрады + 0. 01% қол жетімділік?
Ең жоғары терезелерді пішіндеңіз, тұрақты қуатты үрлемеңіз.
Өң тапсырмалары үшін Right-sizing және «spot».
Квоталар мен контурға арналған бюджеттер, «тегін» деградацияға жол бермеңіз.
13) Сенімділікті тестілеу
GameDay/Chaos сессиялары: AZ/PSP өшіру, кезектегі кідірістер, BGP үзілістері.
DR-дрили: RTO мақсаттарымен өңірлерді ауыстырып қосудың тұрақты тренингі.
Load & Soak: нақты ставкалар/турнирлер профильдері бар ұзақ жарыстар.
Replay-оқиғалар: танымал фейлдер мен ойнату скрипттерінің кітапханасы.
14) SLA процестік жағы
SLO каталогы: иесі, формуласы, өлшемдері, көздері, алаңдары.
RFC/ADR арқылы өзгерістер: error budget ықпалын бағалау.
Постмортемалар: сәулет пен ранбуктарды жақсарту, SLO түзету.
Серіктестермен коммуникация: тарату, статус-бет, planned maintenance.
15) SLI/SLO/есептердің мысалдары
15. 1 Формулалар
SLI_availability = (успешные_запросы / все_запросы) 100%
SLI_latency_P99 = перцентиль_99(латентность_запроса)
SLI_webhook_D+60 = доля вебхуков, доставленных ≤ 60 сек
15. 2 Core API үшін SLO жиынтығының мысалы
Қолжетімділік (30 күн): 99. 95%
Эндпоинт P95 '/v2/payouts/create ': ≤ 350 мс
5xx қателері (1 сағ жылжымалы): <0. 3%
Webhook delivery ≤ 60 сек (P99): ≥ 99. 9%
Әмиян үшін RPO: ≤ 60 сек, RTO ≤ 5 мин
15. 3 SLA есебі (сығу)
Орындалды: 99. 97% (SLO 99. 95%) +
Бұзушылықтар: PSP-таймауттар салдарынан BR аймағы бойынша 2 эпизод (жиынтығы 8 мин).
Шаралар: істен шығу кодтары бойынша smart-routing қосылды, PSP-B. қосылыстарына warm pool ұлғайтылды
16) Енгізу чек-парағы
1. Сындарлы пайдаланушы жолдары және тиісті SLI анықталған.
2. SLO 30/90 күнге + error budget policy.
3. Көп аймақтық және RTO/RPO мақсаттарымен DR жоспары, тұрақты бұрғылау.
4. Гео-таргеттен жасалған Synthetics, дашбордтар per-region/per-PSP.
5. Орнықтылық үлгілері: circuit breaker, backpressure, idempotency.
6. Ажыратылатын бөлшектер үшін тозу саясаты және feature flags.
7. FinOps: контурлар бойынша бюджеттер, пик болжамы, warm pools.
8. Қауіпсіздік: сегменттеу, шифрлау, аудит.
9. Серіктестерге арналған SLA құжаттамасы, коммуникация процесі.
10. Әрбір 1-2 тоқсан сайын SLO ретроспективалары және қайта қарау.
17) Қарсы үлгілер
Өлшенетін SLI және мөлдір есептеу әдістемесі жоқ SLA уәде ету.
Шлюз/провайдерлерді елемей, «сервис кіре берістегі» қолжетімділікті санау.
P99 қалдықтарын елемей, тек орташа латенттілікке сүйену.
DR «қағаз бойынша», нақты жаттығулардың болмауы.
«Мәңгілік» ресурстар лимитсіз: бір есеп құлап жатыр.
Прод пен ауыр талдауды бір кластерде/ДБ араластыру.
18) Қорытынды
SLA-дағы бұлтты сәулет - бұл техникалық үлгілердің (multi-AZ/region, оқшаулау, істен шығуға төзімді деректер), процестердің (SLO, error budget, DR-drili) және экономиканың (FinOps) үйлесімі. Өзіңізге болжамды ақауларға құқық беріңіз: істен шығуға төзімділікті тестілеңіз, перцентильдер бойынша өлшеңіз, «жарылыс радиусын» шектеңіз және ашық қосыңыз. Сонда SLA-ның уәделері маркетинг емес, басқарылатын инженерлік тәжірибе болады.