GH GambleHub

Test mühitləri və staging

1) Məqsəd və məsuliyyət sahəsi

Test mühitləri real oyunçulara və pula təsir etmədən sürətli rəy və istehsala yaxın şərtlər verərək buraxılış riskini azaldır. iGaming üçün bu, ödənişlər (PSP), KYC/AML, məsuliyyətli oyun (RG) və mövsümi zirvələrə görə kritikdir.

2) Ətraf mühitin taksonomiyası

Dev (yerli/qum qutuları): tərtibatçıların sürətli iterasiyaları, minimal asılılıqlar, fitness.
CI/Test (inteqrasiya): montaj, vahid/inteqrasiya, müqavilə testləri, mocha e2e.
Staging (pre-prod): qida ilə maksimum paritet (versiyalar, konfiqlər, topologiya), «buraxılış məşqi».
Perf/Load: funksional yoxlamalara mane olmamaq üçün yük/stress testləri üçün təcrid olunmuş mühit.
Sec/Compliance Sandboxes: təhlükəsizlik yoxlamaları, RG/PII siyasəti, SoD.
DR/Failover Lab: qəza və regionlararası feylover ssenariləri.

Hər bir mühitin öz ad sahələri var: 'tenant/region/environment'.

3) Qida ilə paritet (staging-first)

Konfiqurasiya: GitOps, eyni sxemlər və validatorlar; fərqlər - yalnız mənalarda (açar/limit/end).
Topologiya: xidmətlərin eyni versiyaları, şəbəkə siyasətləri, balanslaşdırıcılar, cache/DB növləri.
Data: sintetik və ya yığılmış; heç bir «xam» PII.
Telemetriya: eyni daşbordlar/alertlər (yalnız eşik səviyyələri və uçuş limitləri fərqlidir).

4) Məlumatlar: strategiya və gigiyena

Sintetik generatorlar: depozitlər/dərəcələr/KUS, psevdo-BİN, saxta sənədlər üçün real paylama.
Surətlərin qablaşdırılması: identifikatorların birtərəfli heşləşdirilməsi, həssas sahələrin ŞIFR maskalanması.
Siding: determinated ID ilə «script dəsti» (qeydiyyat → depozit → bahis → settl → çıxış).
TTL və təmizləmə siyasəti: köhnə məlumatların avto-purging, həcm limitləri.
Replay-trafik (shadow): qeydlər/yan təsirləri olmadan oxumaq.

5) Virtuallaşdırma xidməti və xarici provayderlər

PSP/KYC/CDN/WAF kontrakt mocha və variativ cavablarla (uğur, soft/hard decline, time-auts) emulasiya olunur.
Müqavilə testləri (consumer-driven): interfeyslərin və nümunələrin fiksasiyası.
Test doubles bayraqla keçir: 'real' sandbox 'virtualized'.

6) İzolyasiya və çoxhədlilik

Namespace per tenant/region k8s/ -saxlama.
CPU/IO/Net kvotaları və limitləri, bir test bütün mühiti aşağı salmaz.
PR/feature filialında efemer stendlər: dəqiqələrdə qalxır, saatlarla/günlərlə yaşayır, sonra təkrar emal olunur.

7) CI/CD konveyer və geytalar

Поток: `build → unit → contract → integration → e2e (virtualized) → security scan → staging → canary → prod`.

Staging keçid geytlər:
  • yaşıl unit/contract, sxemlər və konfiqurasiya linterləri;
  • risk-sinif dəyişikliklər (policy-as-code), pəncərələr freeze;
  • SLO-geyt staging (qırmızı SLI yoxdur).
Prod-a keçid geytləri:
  • uğurlu «reliz məşqi» (miqrasiya, konfiqlər, fitzeflaglar, alertlər);
  • post-monitorinq çek siyahısı;
  • yüksək risk (PSP-routing, RG-limitləri, ixrac PII) 4-eyes imzalar.

8) Buraxılış məşqləri (staging drills)

DD/sxemlərin miqrasiyası: dry-run + dönüşümlülük (aşağı miqrasiyası), vaxt qiymətləndirilməsi.
-Release: Kanarya addımlar, SLI auto-rollback.
Ficheflags: 5-25% auditoriya daxil, guardrails yoxlama.
Status-səhifə/comm-şablonları: mesajların işlənməsi (xaricə göndərilmədən layihələr).
Hadisə-bot: bot komandaları təlim həyəcan kimi runbook hərəkətləri çalıştırmaq.

9) Qeyri-funksional yoxlamalar

Yük/stress/endurance: real zirvələrin profilləri (matçlar, turnirlər), p95/p99 hədəfləri, növbələrin həddindən artıq istiləşməsindən qorunma.
Nasazlıq müqaviməti (chaos): şəbəkə nasazlıqları, replikaların düşməsi, provayderlərin time-autları, qismən feylover.
Təhlükəsizlik: DAST/SAST/IAST, gizli tarama, SoD yoxlama, avtorizasiya/audit reqressiyaları.
Complayance: KYC/AML/RG Script, tənzimləyicilərə hesabatların ixracı, geo-sərhəd məlumat.
Maliyyə: kəsirli/kənar hallarda ledcerin düzgünlüyü, ödənişlərin/settllərin idempotentliyi.

10) Ətraf mühitin müşahidə edilməsi

Eyni SLI/SLO kartları və alertlər (səviyyələr daha yumşaqdır).
Sintetika istifadəçi yollarını təkrarlayır: giriş, depozit, bahis, nəticə.
Exemplars/trace RCA üçün mövcuddur; PII olmadan log.
Drift Detector: Git runtime (versiyalar, konfiqlər, fitness).
Cost-metrik: $/saat mühit, $/test, «ağır» dashboard.

11) Accessories, SoD və Təhlükəsizlik

RBAC/ABAC: rollar/tenant/region; Prod sirləri mövcud deyil.
JIT-idarəetmə hüquqları, məcburi audit.
Məlumat siyasəti: PII qadağası, obfusion, geo-yaşayış.
Şəbəkə izolyasiyası: staging xarici prod sistemlərinə yaza bilməz.

12) Performans və dəyər (FinOps)

Efemer stendlər → auto-utilization; gecə şedulerləri idle-klasteri söndürür.
Əsas qatların paylaşılması (Observability, CI-cache), lakin test yüklərinin izolyasiyası.
«Bahalı» testlərin kataloqu; paralellik limitləri; QoS sinfi üzrə prioritetləşdirmə.

13) İnteqrasiya (əməliyyat)

Incident-bot: '/staging promote 'rollback', '/drill start ', vaxt məşqləri.
Release-gates: qırmızı SLO staging prod-reliz blok.
Feature-flags: ümumi bayraq həll xidməti, trafik seqmenti.
Metrics API: eyni end-point və metrik kataloqlar, cavablarda «mühit nişanı».

14) Artefaktların nümunələri

14. 1 PR efemer mühit manifesti

yaml apiVersion: env. platform/v1 kind: EphemeralEnv metadata:
pr: 4217 tenant: brandA region: EU spec:
services: [api, payments, kyc, games]
dataSeed: "scenario:deposit-bet-withdraw"
virtualProviders: [psp, kyc]
ttl: "72h"
resources:
qos: B limits: { cpu: "8", memory: "16Gi" }

14. 2 Provayderlərin kataloqu (virtuallaşdırma)

yaml apiVersion: test. platform/v1 kind: ProviderMock metadata:
id: "psp. sandbox. v2"
spec:
scenarios:
- name: success rate: 0. 85
- name: soft_decline rate: 0. 1
- name: timeout rate: 0. 05 latency:
p95: "600ms"
p99: "1. 5s"

14. 3 «Buraxılış repetisiyası» yoxlama siyahısı (sıxma)

DB miqrasiyası: vaxt, geri dönüş;

konfiqlər/fitzeflaglar: diff, kanareya, SLO geytaları;

alert/dashboard: bağlı, heç bir flapping;

status-layihələr: hazır;

əks plan: 'T + 5m', 'T + 20m' metrik.

15) RACI və proseslər

Env Owner (SRE/Platform): paritet, access, qiymət, dashboard.
Domain Owners: test ssenariləri, oturmaq, müqavilələr, KPI.
QA/SEC/Compliance: yoxlamalar, hesabatlar, RG-nəzarət.
Release Manager: geytlər, təqvim, freeze/maintenance.
On-call/IC: P1 ssenarilərinin məşqlərində iştirak edirlər.

16) KPI/KRI mühit

Lead Time to Staging: commit → staging, mediana.
Change Failure Rate (staging): prod qədər geri qaytarma payı.
Parity Score: versiya/konfiqurasiya/topologiya uyğunluğu (hədəf ≥ 95%).
Test Coverage e2e kritik yollarla: giriş/depozit/bahis/çıxış.
Cost per Test / per Env Hour.
Drift Incidents: uyğunsuzluq halları Git runtime.
Security/Compliance Defects: Prod əvvəl tapıldı.

17) Tətbiqi yol xəritəsi (6-10 həftə)

Ned. 1-2: ətraf mühit inventarizasiyası, GitOps kataloqu, konfiqurasiya sxemləri, baza məlumat sidləri, provayderlərin müqavilə testləri.
Ned. 3-4: staging-paritet (versiyalar/topologiya), PR efemer stendləri, PSP/KYC virtualizasiya xidməti, SLO geytaları.
Ned. 5-6: buraxılış məşqləri (yoxlama vərəqləri, bot komandaları), yükləmə profilləri, chaos dəstləri, ətraf mühitin daşbordları.
Ned. 7-8: məlumat siyasəti (obfusion/TTL), SoD/RBAC, FinOps-şedulinq, dəyər hesabatları.
Ned. 9-10: DR/Feylover-lab, komplayens skriptləri, WORM auditi, komanda təlimi.

18) Antipattern

«Staging ≠ prod»: digər versiyalar/konfiqalar/şəbəkə qaydaları.
Test → tənzimləyici risklər üçün prod-PII kopyalama.
Xarici provayderlərin virtuallaşdırılması yoxdur → qeyri-sabit/bahalı testlər.
SLO geytlərinin/məşqlərin olmaması → prodda sürprizlər.
TTL olmadan «əbədi» test məlumatları → zibil və yanlış effektlər.
Bir stenddə birgə yük və funksional yoxlamalar.
Gecə/həftə sonu sıfır utilizasiya → büdcə yandırılması.

Yekun

Test mühitləri və staging keyfiyyətli istehsal infrastrukturudur: qida pariteti, təmiz məlumatlar və virtual provayderlər, ciddi CI/CD geytləri, buraxılış məşqləri, müşahidə və FinOps. Bu çərçivə CFR və MTTR-ni azaldır, buraxılışların proqnozlaşdırılmasını artırır və iGaming platformasının gəlirini və uyğunluğunu qoruyur.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.