Awtomatlaşdyryş gurallary
(Bölüm: Tehnologiýalar we infrastruktura)
Gysgaça gysgaça
"iGaming" -de awtomatlaşdyryş, fiçiň (downtaýmsyz ýygy-ýygydan çykarylýan) üpjünçiligini çaltlaşdyrýan, hilini durnuklaşdyrýan (birmeňzeş barlaglar), hadysalary peseldýän (SRE-awtomatiki hereketler) we çykdajylara gözegçilik edýän (FinOps) tejribe we gurallaryň ulgamlaýyn toplumydyr. Esasy gatlaklar: CI/CD, IaC, programmalaryň we maglumatlaryň orkestrlenmegi, syrlar we syýasatlar, gözegçilik we awtomatlaşdyryş, söhbetdeşlik prosesleri, maliýe awtomatlaşdyrylmagy.
1) Awtomatlaşdyryş kartasy: gatlaklar we rollar
Dev-gatlak: hyzmatlaryň şablonlary, SDK/müşderileriň awtogenerasiýasy, synaglar, statanaliz.
Build/Release: CI-konweýerler, artefaktlar, konteýnerizasiýa, gollar.
Deploy/Runtime: K8s/Helm/Argo operatorlary, progressive delivery (canary/blue-green).
Data/ETL: DAG-orkestrasiýasy, inkremental modeller, DQ/lineage.
SRE: awtoskeyl, runbooks kod hökmünde, alertler → hereketler.
Security/Compliance: Policy-as-Code, syrlar, audit.
FinOps: býudjetler, kwotalar, awto-optimizasiýa.
2) CI/CD: üpjünçilik konweýerleri
Maksatlar: çalt, gaýtalanýan we howpsuz goýberişler.
Pipeline
1. CI: linterler, birlikler, SCA/SAST, konteýner ýygnamak, konteýner synagy.
2. Hil barlaglary: e2e/şertnama synaglary, wagtlaýyn DB göçmek, daşky gurşaw synagy.
3. Artefaktlaryň goly: şekiller/tertipler, attestasiýa (ýygnamak ýoly, garaşlylygyň wersiýalary).
4. CD: kanar ýa-da gök ýaşyl deploý, SLO/metrikler boýunça awto-geýtlar.
5. Mahabat: Dev → Stage → Prod "ýaşyl" barlaglaryň düzgünine laýyklykda.
yaml jobs:
build-and-test:
steps:
- run: make test
- run: docker build -t registry/app:${GIT_SHA}.
- run: trivy image --exit-code 1 registry/app:${GIT_SHA}
- run: cosign sign --key $COSIGN_KEY registry/app:${GIT_SHA}
3) Kod hökmünde infrastruktura (IaC) we platforma-in engineering
Wezipe: gurşawy kesgitlemek we täzelemek.
Terraform: örtük çeşmeleriniň (VPC, klasterler, DB, nobatlar) öndürilmegi.
Helm/ArgoCD: Kubernetes (GitOps) programmalarynyň deklaratiw çykarylyşy.
Ansible: VM/bastion/ulgam rollarynyň konfigurasiýalary.
Modullar we reýuzlar: sanawlar, nobatlar, syrlar, alertler üçin modullaryň kitaphanasy.
hcl module "payments_db" {
source = "modules/mysql"
name = "payments"
size = "r6g.large"
backups = { retention_days = 7, pitr = true }
tags = { env = var.env, owner = "platform" }
}
4) Programmalary orkestrlemek we goýberiş strategiýasy
Kubernetes: автоскейл (HPA/KEDA), PodDisruptionBudget, readiness/liveness.
Progressive delivery: Argo Rollouts/Flagger — canary, blue-green, shadow.
Tor gatlagy: hyzmat-mesh (mTLS, retry/breaker, wagt çäkleri).
Syrlar: External Secrets/Sealed Secrets, rotasiýa.
yaml spec:
strategy:
canary:
steps:
- setWeight: 10
- pause: { duration: 5m }
- setWeight: 50
- analysis:
templates: [{ templateName: slo-latency-check }]
5) Maglumatlary orkestrlemek we seljermek
DAG-orkestratorlary (Airflow/analoglar): endikler, retralar, SLA, alertler.
Dowamlylygy: Partiýa boýunça MERGE/overwrite, "suw belgileri".
DQ/Lineage: awtomatiki hil synaglary, garaşlylyk grafasy.
Awtomatiki dikeldiş: eksponent arakesmesi bolan retralar, öwezini dolmak joblary.
python with DAG("ggr_daily", schedule="0 ") as dag:
bronze = ingest_cdc("bets")
silver = cleanse(bronze)
mart = build_mart_ggr(silver)
bronze >> silver >> mart
6) Policy-as-Code we howpsuzlyk
Maksat: howply üýtgeşmeleri awtomatiki usulda ret etmek.
OPA/Gatekeeper/Conftest: klasterler we manifestler üçin syýasat.
Suratlar we IaC skaneri: Trivy/Checkov - CI.
Syrlar: diňe daşarky dolandyryjylar arkaly manifestlerde gizlin gadaganlyk.
RBAC şablonlary: Hyzmatlar/buýruklar üçin rollar, kluster-admin-i gadagan etmek.
rego deny[msg] {
input.kind == "Deployment"
not input.spec.template.spec.securityContext.runAsNonRoot msg:= "Containers must run as non-root"
}
7) Gözegçilik we awto-remediasiýa (SRE)
Metrikler/loglar/söwdalar: ýeke-täk agentler, 'trace _ id' boýunça korelýasiýa.
SLO/alertler: p95 latency, error-rate, saturation; runabuk baglanyşyklary bolan alertler.
Awto-hereketler: pese gaçanda podlary täzeden başlamak, nobata durmak, ätiýaçlyga geçmek.
Kod hökmünde hadysalar: post-mortemleriň şablonlary, çek sahypalary, kontekstiň awto-ýygnamak.
yaml if: latency_p95 > 300ms for 5m do:
- scale: deployment/payments-api +3
- run: kubectl rollout restart deployment/gw
- notify: chatops#incidents
8) ChatOps we öz-özüňe hyzmat
Söhbetdeşlikdäki toparlar: deploy/rollbek, fiç goşmak, kesh gyzdyrmak.
Gaýdy-bot: buýruk boýunça Runabuk we dashbordlara salgylanmalar berýär.
Approval-workflow: Prod, log audit üçin gollar.
/deploy payments-api --version=1.24.3 --env=prod
9) Synaglar we hili: shift-left
API şertnama synaglary (OpenAPI/consumer-driven).
DB-migrasiýasy: CI-de dry-run, wagtlaýyn DB/namespace üçin mig-test.
Perf synaglary: latency p95/p99, RPS, wersiýadan wersiýa çenli zaýalanma.
Bulam-bujarlyk synaglary: düwünleri öçürmek, tory gijikdirmek, rutini öldürmek.
10) FinOps we baha gözegçiligi (awtomatlaşdyryş)
Kwotalar/çäkler: CPU/RAM/GPU, storage; gymmat synplaryň çäklendirilmegi.
Awtoskeýl bahasy boýunça: gije dev-klasterleri öçürmek, spot-howuzlara bolan hukuklar.
Budget-alertler: gündelik çäkler, namespace/buýruk boýunça baha hasabaty.
Small files/replikalar: lake-de awto-kompakşn, Bronze üçin TTL, bloglaryň gysylmagy.
yaml if: cluster.utilization < 20% and time in [20:00-07:00]
do:
- scale: jobs/dev- to 0
- hibernate: db-nonprod
11) Howpsuzlygy we laýyklygy awtomatlaşdyrmak
PII akymlary: datasetleriň bellikleri, maskalanmagy, çözülmedik sebitlere eksportyň gadagan edilmegi.
Endikleri barlamak: CVE düzedişleri bilen awto-PR, Kritlerde çykmagy blokirlemek.
Audit: üýtgewsiz girelgeler (WORM), maglumatlara/syrlara girmegiň žurnaly.
Ygtyýarnamalar: deplodan öň görnüşlere/agramlara/datasetlere ygtyýarnamalary barlamak.
12) "Gutudan" şablonlary (kitaphana)
Hyzmat şablony: Dockerfile, Helm-çart, SLO-alertler, dashboard.
Job-шаблон: CronJob + retry/backoff + idempotency lock.
Data product: DAG + DQ-synaglar + önüm pasporty + lineage.
ML-hyzmat: Triton/KServe manifest + canary + perf-gate.
13) Girizmegiň çek-sanawy
1. Esasy hyzmatlar we penjireler üçin SLO/SLA kesgitläň.
2. GitOps giriň: ähli manifestler we syýasatlar - ammarda.
3. Artefaktlar we hil bellikleri bilen CI/CD standartlaşdyryň.
4. IaC-modullar we Helm-diagrammalar kitaphanasyny guruň.
5. Policy-as-Code we syrlary sazlaň (aýlawlar/satyn alyşlar).
6. Awto hereketler we runabuklar bilen synlamagy başla.
7. ChatOps-y birleşdiriň: deploy, rebound, aladalar, kömek.
8. FinOps-y awtomatlaşdyryň: býudjetler, kwotalar, gijeki reimesimler.
9. CI-de howpsuzlyk hardeningini we barlagy açyň.
10. Yzygiderli game-day we bulam-bujarlyk synaglary geçiriň.
14) Antipatternler
El deploidleri we IaC-siz gurşawyň "gar bölekleri".
CI howpsuzlyk/garaşlylyk barlagy bolmazdan we artefaktlara gol çekmezden.
Repozitoriýalardaky/manifestlerdäki syrlar.
Kanaride SLO/geýtleriň ýoklugy → "mümkin boldugyça".
Awto-remediasiýasyz we runabuksyz gözegçilik.
Býudjet/kwota → öňünden aýdyp bolmajak baha ýok.
Netijeler
Gowy awtomatlaşdyryş - bu üýtgeşmeleriň konweýer önümçiligi: hemme zat kod bilen beýan edilýär, awtomatiki usulda barlanýar we ygtybarly üpjün edilýär. CI/CD, IaC we GitOps, programmalar we maglumatlar orkestri, Policy-as-Code, SRE-awto-kömek we FinOps birikdirip, iGaming platformasy çalt çykarylýar, öňünden aýdyp boljak p99, dolandyrylýan çykdajy we gijeki hadysalardan az.