IGaming-de Docker we Kubernetes: deploi strategiýalary
1) iGaming konteksti: platforma bildirilýän talaplar
Hakyky wagt (durmuş oýunlary, jedeller, ýaryşlar) → API/WS boýunça berk p95.
Traffigiň iň ýokary nokatlary (akymlar/mahabat) → "sowuk başlamazdan" çalt awtoskeýl.
Pul we laýyklyk → konturlaryň izolýasiýasy, goýberilişleriň yzarlanmagy, elýeterlilige gözegçilik we audit.
Köp ýurisdiksiýalar/markalar → tenalar (namespaces/projects), tor we çeşme izolýasiýasy syýasaty.
Esasy SLO: giriş ≥ 99. 9%, goýum ≥ 99. 85%, p95 API ≤ 250-400 ms, p95 WS RTT ≤ 120 ms.
2) Kubernetesiň esasy arhitekturasy
Gatlaklar: Ingress/Edge → API/geýtweýler → hyzmatlar (gapjyk, profil, mahabat, antifrod) → nobatlar/akymlar → ammar.
Izolýasiýa: 'namespace' brand/market ýa-da 'öýjük' (cell); aýry-aýry NodePools (public API/batch/ws-realtime).
Tor syýasatlary: "NetworkPolicy" "deny by default" ýörelgesi boýunça, PSP/KYC/oýun üpjün edijilerine aýratyn egress syýasatlary.
Ammar: 'StorageClass' zonanyň/sebitiň içinde göçürme bilen, DB/nagt pul üçin operatorlar (Postgres/MySQL, Redis, Kafka).
3) Konteýner şekilleri: hil we howpsuzlyk
Multi-arch (amd64/arm64), distroless ýa-da slim-bazalar, diňe zerur binarnikler.
SBOM we gowşak taraplary skanirlemek, şekilleriň goly (Cosign), kabul ediş syýasaty ('ImagePolicyWebhook').
Immutable-tagging: relizler 'sha256'; "latest" gadagan.
Runtime profilleri: 'readOnlyRootFilesystem', 'runAsNonRoot', 'seccomp/AppArmor', minimal Capabilities.
4) Goýberiş strategiýalary: haçan we näme saýlamaly
RollingUpdate
Boş; API-leriň köpüsi üçin.
readiness/liveness/startup probes, maxUnavailable/maxSurge arkaly gözegçilik.
Blue-Green
"Blue" we "Green" paralel akymlar; Ingress/Service derejesinde traffigi üýtgetmek.
Shemalaryň/konfigurasiýalaryň uly üýtgemeleri üçin gowy; çalt rollback.
Canary
Traffigiň göterimini kem-kemden goşmak (5 → 10 → 25 → 50 → 100).
SLO-geýtleriň trigerimi: p95, error-rate, depozitlerdäki/stawkalardaky anomaliýalar.
Wariantlar: Service Mesh (Istio/Linkerd), kanareýa düşündirişleri bolan Ingress-kontroller.
A/B и Shadow
Shadow: Ulanyja jogap bermezden täze goýberiljek traffigiň bir bölegini aýna (arassa telemetriýa).
A/B: baýdaklar (feature-flags) we oýunçylaryň/bazarlaryň segmentasiýasy bilen funksional synaglar.
5) GitOps we konfigurasiýa dolandyryşy
GitOps (Argo CD/Flux): klasterler Git-den islenýän ýagdaýy okaýarlar; PR we gykylyk arkaly ähli üýtgeşmeler.
Şablonlar: Helm/Kustomize, chart kitaphanasy.
Syrlar: daşarky dolandyryjylar (Vault/Cloud SM), 'ExternalSecrets '/' Secrets Store CSI'; KMS açarlary we aýlanyş.
Pipline (ýönekeý):1. CI gol çekilen suraty ýygnaýar → registrde push.
2. PR şekiliň görnüşini üýtgedýär → GitOps ulanýar.
3. SLO geýimleri bilen kanar rollout → awtomatiki ýuwmak ýa-da awto-rollback.
6) Pik we WS ýükleri üçin awtoskeýling
HPA programma ölçegleri boýunça (RPS, p95 latency, queue lag), diňe bir CPU/RAM däl.
KEDA (Kafka, RabbitMQ, Redis, HTTP-queue).
Soraglary/çäkleri gündelik düzetmek üçin VPA.
Cluster Autoscaler + warm-pula nod (pre-provision) mahabat/ýaryşlaryň dowamynda.
WebSocket aýratynlyklary:- Aýry-aýry NodePools (has köp tor deskriptorlary), 'PodDisruptionBudget', Ingress/Mesh arkaly sticky-routing (Session Affinity).
7) Stateful-konturlar: gapjyk, DB, nobatlar
Operatorlar (Postgres/MySQL, Redis Sentinel/Cluster, Kafka Operator): deklaratiw replikasiýa, 'PITR', awtomatiki bekaplar.
RPO/RTO syýasaty: zonanyň içinde sinhron köpeltmek, asinhron - DR-sebitlere.
Depozitler/tölegler üçin idempotency/outbox, PSP webhuklary we oýun üpjün edijileri üçin inbox-pattern.
Çalt IOPS bilen StorageClass; gapjyk üçin - ýerli SSD (we köpeltmek) bilen aýratyn synp we düwünler.
8) Tor gatlagy we geýtweýler
Ingress (Nginx/Envoy/HAProxy/ALB) s mTLS to backends, HTTP/2/3, HSTS, rate-limits.
Service Mesh: kanareýa ugurlary, retrailer/wagt-autlar, circuit-breakers, klaster içindäki TLS.
Egress şlýuzlary: PSP/KYC/üpjün edijiler üçin ak sanawlar, DNS we IP gözegçilik.
9) Observability we SLO-geýt relizleri
OpenTelemetry: öň → API → töleg/oýun üpjün edijisi arkaly yzarlamak; 100% ýalňyşlyk we "haýal" span.
RED/USE-metrikler + business-SLI (goýumyň/stawkanyň/yzyna almagyň üstünligi).
JSON so 'trace _ id', audit üçin WORM logleri.
Release-gates: SLO diňe synag paýynda ýaşyl bolsa ýuwular.
10) Howpsuzlyk: supply chain-den kärendesine çenli
Policy as Code: OPA/Gatekeeper/Kyverno (privileged gadaganlygy, 'runAsNonRoot', çäklendirmeler, gollary pull-barlamak talaby).
Syrlar we açarlar: diňe "Secret Manager" -dan; 'envFrom' iň iň pes, syrlary sidecar-sanjym.
Webhooks/provayderleriň webhuklary: HMAC-gollar, idempotency, egress-şlýuz arkaly giriş.
Compliance: relizleriň, artefaktlaryň, elýeterliligiň barlagy (RBAC/MFA), KC/log artefaktlarynyň geo-izolirlenen saklanylmagy.
11) Köp sebit, failover we DR
Sebitler boýunça aktiw-stendbaý (gapjyk/login/tölegler üçin iň az).
Ýol hereketi: GSLB/Anycast; SLI boýunça saglyk barlaglary (giriş/goýum/stawka).
Katastrofiki geçiş: DR-cutover düwmesi (freeze writes → promote DB → keş gyzdyrmak → tapgyrlaýyn traffik rulony).
Maşklar: PSP-iň, zonanyň, oýun üpjün edijisiniň "ýykylmagy" bilen çärýekleýin GameDay.
12) Konfigurasiýany we şekilleri dolandyrmak
Feature-flags (ConfigMap/External Config) - heläkçilikde agyr funksiýalary öçürmek.
Versioned konfigi (heşi, checksum-annotation on Pod), canary -rollaut.
Rebild şekilsiz Mesh/Ingress (wagt-aut, retry-syýasat) derejesinde Runtime overrides.
13) Ykdysadyýet we öndürijilik
NodePools: RPS-API, WS-realtime, batch/ETL.
Spot/Preemptible для batch/ETL с `PodPriority` и `PodDisruptionBudget`.
Cold-starty azaltmak üçin paket ýygnamak we gyzdyrmak (JIT/şablon keşi).
Resurs býudjetleri: requests/limits, VPA teklipleri, DB/PSP birikdirmegiň çäkleri, connection pooling.
14) Manifestleriň şablonlary (bölekler)
Ingress düşündirişleri arkaly kanareýli 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
HPA (Prometheus Adapter arkaly 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 (diňe Ingress-geýtweý we zerur 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}}] # Içerki hyzmatlar
- to: [{namespaceSelector: {matchLabels: {svc: psp-egress}}}]
15) Goýbermegiň çek-sanawy (prod-ready)
- Surat gol çekildi, SBOM ýygnaldy, gowşaklyk - rugsat edilýän derejede.
- Manifestler policy-çek (Kyverno/OPA), iň az artykmaçlyklardan geçýär.
- Readiness/Startup probes dogry; 'PDB' we 'PodPriority' sazlandy.
- Kanar meýilnamasy: 5% → 10% → 25% → 50% → 100% SLO geýimleri we awto-rollback bilen.
- HPA/KEDA + Cluster Autoscaler; warm-pool nod.
- Vault/SM-den syrlar; konfighi wersionirlenendir; fiç-baýdaklar zaýalanmaga taýýar.
- E2e ýoly açyldy; SLI-de alertler (depozit/stawka/çykarmak).
- DR-plan we cutover "düwmesi" stendde barlandy; bellikler/PITR synagdan geçirildi.
- Resminamalar: nädip yzyna gaýtarmaly, PSP/oýun üpjün edijisini nädip üýtgetmeli, gijelerine kime jaň etmeli.
16) Anti-regress we adaty duzaklar
Readiness aralygy gaty gysga → rollout-da irki 5xx.
Çäklendirmesiz ýeke-täk BD howzy → Skeýlde birleşmeleriň göçmegi.
Aýlawsyz gurşaw üýtgeýjilerindäki syrlar → syzmak.
Çäklendirmesiz/wagt taşlamasyz Mesh → pese gaçýan üpjün edijilerde durmak.
HPA diňe CPU → WS/API boýunça ulalmaga wagt ýok.
Jemleme
iGaming-de deploi strategiýalary ygtybarly konteýner tejribeleriniň utgaşmasydyr (howpsuz şekiller, giriş syýasaty), akylly relizler (SLO geýimleri bilen canary/blue-green), dogry awtoulag skaýly (HPA/KEDA + iň ýokary nokatlar üçin warm-nodlar), stateful konturlary üçin operatorlar we köp sebitli DR.gitOps goşuň, tölegler we oýun üpjün edijiler, tor syýasatlary we profil NodePools arkaly tygşytlamak - we goýberişleriňiz öňünden aýdyp boljak, çalt we pul we oýunçylar üçin howpsuz.