Docker və Kubernetes iGaming: deploy strategiyaları
1) iGaming konteksti: platforma tələbləri
Real vaxt (canlı oyunlar, bahislər, turnir tədbirləri) → API/WS ilə ciddi p95.
Trafik zirvələri (stream/promo) → «soyuq başlanğıc» olmadan sürətli avtoskeyl.
Pul və uyğunluq → kontur izolyasiyası, relizlərin izolyasiyası, giriş nəzarəti və audit.
Multi-yurisdiksiyalar/markalar → tenalar (namespaces/projects), şəbəkə və resurs təcrid siyasəti.
Açar SLO: giriş ≥ 99. 9%, depozit ≥ 99. 85%, p95 API ≤ 250-400 ms, p95 WS RTT ≤ 120 ms.
2) Kubernetes baza arxitekturası
Laylar: Ingress/Edge → API/gateway → xidmətlər (cüzdan, profil, promo, antifrod) → növbələr/axınlar → saxlama.
İzolyasiya: 'namespace' brand/market və ya «hücrə» (cell) bölgə üzrə; ayrı-ayrı NodePools (public API/batch/ws-realtime).
Şəbəkə siyasətçiləri: «NetworkPolicy» «deny by default» prinsipi üzrə, PSP/KYC/oyun provayderlərinə fərdi egress siyasətləri.
Depolama: 'StorageClass' zona/region daxilində replikasiya ilə, DB/cache operatorları (Postgres/MySQL, Redis, Kafka).
3) Konteyner görüntüləri: keyfiyyət və təhlükəsizlik
Multi-arch (amd64/arm64), distroless və ya slim-baza, yalnız zəruri binarnik.
SBOM və boşluqların skanerlənməsi, şəkil imzası (Cosign), qəbul siyasəti ('ImagePolicyWebhook').
Immutable-tagging: 'sha256' tərəfindən buraxılışlar; «latest» qadağandır.
Runtime profilləri: 'readOnlyRootFilesystem', 'runAsNonRoot', 'seccomp/AppArmor', minimal Capabilities.
4) Buraxılış strategiyaları: nə vaxt və nə seçmək
RollingUpdate (default)
Boş; əksər API üçün.
readiness/liveness/startup probes, maxUnavailable/maxSurge vasitəsilə nəzarət.
Blue-Green
Paralel Mavi və Yaşıl yığınlar; Ingress/Service səviyyəsində trafikin dəyişdirilməsi.
Böyük sxem/konfiqurasiya dəyişiklikləri üçün yaxşı; sürətli rollback.
Canary
Trafik faizinin tədricən daxil edilməsi (5 → 10 → 25 → 50 → 100).
SLO geytalarının trigerimi: p95, error-rate, depozitlərdə/dərəcələrdə anomaliyalar.
Variantlar: Service Mesh (Istio/Linkerd), kanarya izahları ilə Ingress-controller.
A/B и Shadow
Shadow: Yeni buraxılış üçün trafikin bir hissəsini istifadəçiyə cavab vermədən güzgü (təmiz telemetri).
A/B: bayraqlar (feature-flags) və oyunçuların/bazarların seqmentasiyası ilə funksional təcrübələr.
5) GitOps və konfiqurasiyanın idarə edilməsi
GitOps (Argo CD/Flux): klasterlər Git-dən istədiyiniz vəziyyəti oxuyur; PR və review vasitəsilə bütün dəyişikliklər.
Şablonlar: Helm/Kustomize, vahid çartlar kitabxanası.
Sirləri: xarici menecerlər (Vault/Cloud SM), 'ExternalSecrets '/' Secrets Store CSI'; KMS açarları və rotasiya.
Pipline (sadələşdirilmiş):1. CI imzalanmış görüntünü toplayır → qeyd edin.
2. PR image versiyasını dəyişir → GitOps tətbiq edir.
3. SLO gates ilə kanarya rollout → avtomatik yuyulma və ya avtomatik rollback.
6) Zirvələr və WS-yük altında avtoskeylinq
HPA app metrik (RPS, p95 latency, queue lag), yalnız CPU/RAM deyil.
KEDA (Kafka, RabbitMQ, Redis, HTTP-queue).
Gündəlik sorğu/limit düzəlişləri üçün VPA.
Cluster Autoscaler + warm-pool nod (pre-provision) promo/turnirlər zamanı.
WebSocket xüsusiyyətləri:- individual NodePools (daha çox şəbəkə deskriptorları), yumşaq yeniləmə üçün 'PodDisruptionBudget', Ingress/Mesh vasitəsilə sticky-routing (Session Affinity).
7) Stateful konturları: cüzdan, DB, növbələr
Operatorlar (Postgres/MySQL, Redis Sentinel/Cluster, Kafka Operator): deklarativ replikasiya, 'PITR', avtomatik backup.
RPO/RTO siyasəti: zonada sinxron replikasiya, DR-regionlarda asenxron.
Depozitlər/ödənişlər üçün idempotency/outbox, PSP vebhuk və oyun provayderləri üçün inbox patterni.
StorageClass sürətli IOPS ilə; cüzdan üçün - yerli SSD (və replikasiya) ilə ayrı sinif və düyünlər.
8) Şəbəkə təbəqəsi və Gateway
Ingress (Nginx/Envoy/HAProxy/ALB) mTLS ilə backends, HTTP/2/3, HSTS, rate-limits.
Service Mesh: Kanarya marşrutları, retras/time-auts, circuit-breakers, klaster daxilində TLS.
Egress şlüzləri: PSP/KYC/provayderlərə ağ siyahılar, DNS və IP nəzarət.
9) Observability və SLO-geyt buraxılışları
OpenTelemetry: ön → API → ödəniş/oyun provayderi vasitəsilə izləmə; 100% səhvlər və «yavaş» span.
RED/USE metrikası + biznes SLI (əmanət/faiz dərəcəsi/geri çəkilmə müvəffəqiyyəti).
JSON so 'trace _ id', audit üçün WORM qeydləri.
Release-gates: SLO yalnız test payında yaşıl olduqda yuyulur.
10) Təhlükəsizlik: supply chain-dən kirayəyə qədər
Policy as Code: OPA/Gatekeeper/Kyverno (privileged qadağa, 'runAsNonRoot' tələbi, limitlər, imza pull-check).
Sirləri və açarları: yalnız Secret Manager-dən; 'envFrom' sirləri minimuma endirmək, sidecar-inyeksiya.
Webhooks/provayderlərin vebhukları: HMAC imzaları, idempotency, egress şlyuz vasitəsilə giriş.
Compliance: relizlərin, artefaktların, girişlərin auditi (RBAC/MFA), KS/log artefaktlarının geo-təcrid olunmuş saxlanması.
11) Multi-region, failover və DR
Bölgələr üzrə aktiv-stendbay (cüzdan/login/ödənişlər üçün minimum).
Trafik marşrutu: GSLB/Anycast; SLI tərəfindən sağlamlıq çekləri (giriş/depozit/bahis).
Fəlakətli keçid: DR-cutover düyməsi (freeze writes → promote DB → cache qızdırılması → mərhələli trafik rulonu).
Təlimlər: PSP, zona, oyun provayderi ilə rüblük GameDay.
12) Konfiqurasiya və Fich Management
Feature-flags (ConfigMap/External Config konfiqləri) - qəza zamanı ağır funksiyaların söndürülməsi.
Versioned konfiqləri (heşi, Pod-da checksum-annotasiyalar), canary -rollaut.
Mesh/Ingress səviyyəsində Runtime overrides (zaman-aut, retry-siyasət) rebild şəkillər olmadan.
13) İqtisadiyyat və performans
Təyinatlara görə NodePools: RPS-API, WS-realtime, batch/ETL.
Spot/Preemptible для batch/ETL с `PodPriority` и `PodDisruptionBudget`.
cold-start azaldılması üçün paket kompilyasiya və isitmə (JIT/şablon cache).
Resurs büdcələri: requests/limits, VPA tövsiyələri, DB/PSP qoşulma limitləri, connection pooling.
14) Manifestlərin şablonları (fraqmentlər)
Ingress şərhləri ilə kanarya ilə deployment:yaml apiVersion: apps/v1 kind: Deployment metadata:
name: payments-api spec:
replicas: 6 strategy:
type: RollingUpdate rollingUpdate: {maxSurge: 2, maxUnavailable: 1}
template:
metadata:
labels: {app: payments-api, version: v2}
spec:
securityContext: {runAsNonRoot: true}
containers:
- name: app image: registry/payments@sha256:...
ports: [{containerPort: 8080}]
resources:
requests: {cpu: "300m", memory: "512Mi"}
limits: {cpu: "1", memory: "1Gi"}
readinessProbe:
httpGet: {path: /healthz, port: 8080}
periodSeconds: 5
Xüsusi metrika üzrə HPA (Prometheus Adapter vasitəsilə RPS/latency):
yaml apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: {name: payments-api}
spec:
scaleTargetRef: {apiVersion: apps/v1, kind: Deployment, name: payments-api}
minReplicas: 6 maxReplicas: 60 metrics:
- type: Pods pods:
metric:
name: rps_per_pod target:
type: AverageValue averageValue: "120"
NetworkPolicy (yalnız Ingress Gateway və lazımi egress):
yaml apiVersion: networking. k8s. io/v1 kind: NetworkPolicy metadata: {name: payments-restrict}
spec:
podSelector: {matchLabels: {app: payments-api}}
policyTypes: ["Ingress","Egress"]
ingress:
- from: [{namespaceSelector: {matchLabels: {gw: ingress}}}]
egress:
- to: [{ipBlock: {cidr: 10. 0. 0. 0/8}}] # daxili xidmətlər
- to: [{namespaceSelector: {matchLabels: {svc: psp-egress}}}]
15) Buraxılış çek siyahısı (prod-ready)
- Şəkil imzalanır, SBOM toplanır, boşluqlar - məqbul səviyyədə.
- Manifestlər policy-check (Kyverno/OPA), minimum imtiyazlardan keçir.
- Readiness/Startup probes düzgün; 'PDB' və 'PodPriority' konfiqurasiya edilmişdir.
- Kanarya planı: 5% → 10% → 25% → 50% → 100% SLO qapıları və avtomatik rollback ilə.
- HPA/KEDA + Cluster Autoscaler; hadisə üçün warm-pool nod.
- Vault/SM sirləri; konfiqlər versiyası; fiç bayraqları deqradasiyaya hazırdır.
- E2E izi daxildir; SLI (depozit/məzənnə/çıxarış).
- DR planı və cutover «düyməsi» stenddə yoxlanılır; backup/PITR test edilmişdir.
- Sənədləşdirmə: necə geri, PSP/oyun provayderi keçid kimi, gecə kimi çağırmaq.
16) Anti-reqress və tipik tələlər
Grace-readiness dövrü çox qısa → rollout ilə erkən 5xx.
Limitsiz vahid BD hovuzu → skeyllə uçqun birləşmələri ilə.
Rotasiya olmadan mühit dəyişkən sirləri → sızma.
Limitsiz Mesh/time-auts → deqradasiya provayderləri üzərində asma.
HPA yalnız CPU → WS/API ölçmək üçün vaxt yoxdur.
Xülasə
iGaming-də deploi strategiyaları etibarlı konteyner təcrübələrinin birləşməsidir (təhlükəsiz şəkillər, giriş siyasəti), ağıllı buraxılışlar (SLO geytləri ilə canary/blue-green), düzgün avtoskeyl GitOps, ödənişlər və oyun provayderləri, şəbəkə siyasətləri və profil NodePools vasitəsilə qənaət əlavə edin - və buraxılışlarınız proqnozlaşdırıla bilən, sürətli və pul və oyunçular üçün təhlükəsiz.