GH GambleHub

DevOps практикасы жана CI/CD

1) Максаттары жана принциптери

Тез жана коопсуз: кыска айлампалар, чакан өзгөртүү партиялары, автоматтык текшерүү.
Кайталануу: инфраструктура катары код (IaC), шаршемби = код + саясат.
Байкоо: метриктер/соода/кутучадан, SLO келишим катары.
Комплаенс: аудит, өзгөрүүлөрдү көзөмөлдөө, маалыматтарды аймактык изоляциялоо.

Алтын эреже: "Адегенде сапат, андан кийин ылдамдык - болбосо ылдамдык эч качан пайда болбойт".

2) бутактары жана айлана-чөйрө

Trunk-based + feature flags - негизги тандоо.

Кыска Fiche бутактары (≤ 2-5 күн), trunk күнүмдүк merge.
Инкременталдык жеткирүү жана коопсуз кайтаруу үчүн желектер (server-side).
Git-чөйрө: 'dev' → 'stage' → 'prod' (+ аймактык 'prod-eu', 'prod-latam').
Artefacts промоушн: бир жыйналган сүрөт айлана-чөйрө аркылуу алдыга жылат (immutable tag by digest).

Качан GitFlow: жөнгө салуучу түзүлүштөрдүн сейрек чыгарылышы/SDK - андан кийин чыгаруу бутактары + "hardening".

3) Сапат пирамидасы жана "кызыл сызык"

1. Статикалык анализ (SAST, линтерлер, лицензиялар).
2. Unit/Property-негизделген тесттер (секунд).
3. Contract-tests (CDC) үчүн API жана окуялар (OpenAPI/AsyncAPI, Схема каттоо).
4. Integration (Testcontainers, жергиликтүү брокерлер).
5. E2E жолдору: каттоо → KYC → депозиттик → оюнду баштоо → чыгаруу.
6. Төлөм/капчык/оюн провайдерлери үчүн жүктөө/башаламандык тесттери.

Сапаты өтпөйт → деплой бөгөттөлгөн. Эч кандай "кол өзгөчөлүктөрү" change-record жок.

4) программалык камсыздоо чынжыр (supply chain)

ар бир сүрөт/топтому үчүн SBOM (CycloneDX/SPDX).
Артефакттардын кол тамгалары (cosign), адмиссияда "гана кол коюлган" саясат.
SCA/Dependabot: кемчиликтер жана лицензиялар.
Provenance/SLSA: ойнотулуучу жыйындылар, жабык билд-агент, аттестациялар.
Сырлар: менеджерде (KMS/External Secrets), репо/логдордо эч кандай сыр жок.

5) GitOps и IaC

Infra as Code: булут үчүн Terraform/Pulumi; k8s үчүн Helm/Kustomize.
GitOps-контроллер (ArgoCD/Flux): декларативдик манифесттер, PR-review, audit trail.
Терезелер/тоңдуруу: турнирдик жумалар/эң жогорку сааттар - прод-релиздердин авто-тыныгуусу.
OPA/Kyverno саясаты: no ': latest', non-root, read-only FS, hostPath тыюу салуу.

6) прогрессивдүү жеткирүү

Canary: 1 → 5 → 10 → 25 → 50 → 100% guardrail (p95 latency, 5xx, error budget burn).
Blue-Green: Fast Switch + кайтаруу планы.
Shadow/Mirroring: жооп таасир жок суроо көчүрүп (жаңы PSP адаптер үчүн).
Feature flags: сегменттер боюнча киргизүү (аймак/ролу/өнөктөш/канал) + kill-switch.

7) DD көчүрүү (expand-and-contract)

Кадам 1: Схеманы кеңейтүү (жаңы колонкалар/индекстер) - эски код менен шайкеш келет.
2-кадам: эки нускада/талаада жазып кодун сактоо.
3-кадам: Фон джобойдун маалыматтарын көчүрүү, прогресстин метрикасы.
4-кадам: жаңы талааларга окуу которуу.
5-кадам: эски алып салуу - өзүнчө бошотуу.
Негизги убакытта DDL бөгөт коюу; жогорку таблицалар үчүн - онлайн миграция.

8) Байкоо жана SLO

Метрика: RPS, p50/95/99, 4xx/5xx, saturation (CPU/mem/queue), DLQ/лаг брокерлери.
Бизнес-метрика: TTP (убакыт-to-play), TtW (убакыт-to-wallet), FTD-success, KYC-TtV.
Traces: DD үчүн шлюздан trace-id.
SLO: Мисалы, 'Deposit p95 ≤ 300-500 ms', 'success ≥ 98. 5%`, `availability ≥ 99. 9%`.
Burn rate алерта + деградация учурунда авто-тыныгуу релиздери.

9) Окуялар, постмортемдер, өзгөрүүлөр

Runbooks боюнча критикалык агымдар (депозиттик/чыгаруу/KUS, Live оюндар).
Артыкчылык шкаласы: P1...P4, ээси, ETA, коммуникация (баннер, статус-бет, өнөктөштөр).
Blameless postmortem менен action items жана даталар.
On-call кезектешип, чат эскертмелер, статус ар бир N мүнөт.
Doc изи: ким/качан/эмне (commit, артефакт, айлана-чөйрө, желек).

10) Коопсуздук жана комплаенс (DevSecOps)

SAST/DAST/IAST, CI жашыруун сканер.
mTLS кызматы, JWT чакан TTL менен кызматы, ачкычтарды айлантуу.
Masking PII/PAN Логдор/соода; WORM журналдар башкаруу иш-аракеттер.
Geo-segregation: региондор боюнча кластерлер/DD, шлюз аркылуу багыттоо.
Change management: сезгич аймактар ​ ​ үчүн билет/approval (капчык/лимиттер).

11) DORA-метрика жана FinOps

Deployment Frequency (күнүмдүк чакан чыгарылыштар).
Lead Time for Changes (идеал: саат).
MTTR (калыбына келтирүү: мүнөт/саат).
Change Failure Rate (максат ≤ 15%).
FinOps: айлана-чөйрөнүн наркы, RPS-кэш, жылуу бассейндер, автоматтык тыныгуу workers, "cost per transaction".

12) iGaming өзгөчөлүгү

Чокулары (турнирлер/лайв): ири өзгөрүүлөрдү тоңдуруу, кэш/сүрөттөрдү жылытуу, квоталарды жогорулатуу.
Төлөмдөр/капчык: жеке бассейндер/түйүндөр, жогорулатылган SLO, аймактар боюнча канарейка rollout, PSP провайдерлеринин кош телеметриясы.
KUS/комплаенс: өзүнчө cadence релиздер, милдеттүү пост-апрус комплаенс.
Өнөктөштөр/аффилиаттар: коопсуз SDK, эски кардарларды колдоо жана мониторинг терезеси менен API версиясы.

13) CI/CD мисал (YAML, GitHub Actions → ArgoCD)

yaml name: ci-cd on:
push:
branches: [ main ]
paths: [ "services/wallet/" ]
jobs:
build_test_scan:
runs-on: ubuntu-latest steps:
- uses: actions/checkout@v4
- name: Setup Node uses: actions/setup-node@v4 with: { node-version: 22 }
- run: npm ci --omit=dev working-directory: services/wallet
- run: npm test -- --ci working-directory: services/wallet
- name: Lint & SAST run: npm run lint && npm run sast working-directory: services/wallet
- name: Build image run:
docker build -t registry. local/wallet:${{ github. sha }} -f Dockerfile.
cosign sign --key $COSIGN_KEY registry. local/wallet:${{ github. sha }}
- name: SBOM & Scan run:
syft packages registry. local/wallet:${{ github. sha }} -o cyclonedx-json > sbom. json trivy image --exit-code 1 --severity HIGH,CRITICAL registry. local/wallet:${{ github. sha }}
- name: Push image run: docker push registry. local/wallet:${{ github. sha }}

deploy_stage:
needs: build_test_scan runs-on: ubuntu-latest steps:
- uses: actions/checkout@v4
- name: Bump Helm values (image tag)
run: yq -i '.image. tag = "${{ github. sha }}"' helm/wallet/values-stage. yaml
- name: Create PR to gitops repo run: gh pr create -R org/gitops -B stage -H stage-bump/wallet-${{ github. sha }} -t "wallet:${{ github. sha }}" -b "Promote to stage"

promote_prod:
if: github. ref == 'refs/heads/main'
needs: deploy_stage runs-on: ubuntu-latest steps:
- name: Gate: SLO/quality checks run:./scripts/gates/check_stage_health. sh # p95, 5xx, e2e ok
- name: Canary 10%
run:./scripts/gitops/canary. sh wallet ${{ github. sha }} 10
- name: Auto-pause on degradation run:./scripts/gates/guardrails. sh./scripts/gitops/rollback. sh wallet
- name: Roll to 100%
run:./scripts/gitops/rollout. sh wallet ${{ github. sha }} 100
💡 Идея: бир сүрөттү чогултуп, кол коюу, SBOM жарыялоо, GitOps аркылуу илгерилетүү; прод-роллаут - канарейка, guardrails менен.

14) Чек-баракчалар

Алдында merge негизги

  • Unit/CDC/интеграция жашыл.
  • Linters/SAST/лицензия таза.
  • Жаңыланган OpenAPI/AsyncAPI схемалары жана DD көчүрүү.
  • Fice желектери кошулду, follbeky аныкталган.

prod бошотуу алдында

  • Сүрөт кол коюлган, SBOM тиркелген, HIGH/CRIT аялуу жабык.
  • Dashbord/alerty түзүлгөн; SLO-гейт туташтырылган.
  • Кайтаруу планы, kill-switch, Shadow (керек болсо).
  • Аймактык чектөөлөр жана маалымат саясаты тастыкталды.

Окуялар

  • Runbook табылган жана актуалдуу болуп саналат.
  • Колдонуучулар/өнөктөштөр менен байланыш (шаблон, ETA).
  • 48 саат postmortem, даталар менен action items.

15) Анти-үлгүлөрү

"Ар бир чөйрө үчүн кайрадан чогултуу" (промоушн артефакт жок).
Аудит/кайталануу жок кол менен деплой кадамдары.
DD "чекеге" көчүрүү, дал келбеген жооптор API.
C өзгөрмөлүү же репозиторийдеги сырлар.
желеги/кайра жок каргашалуу чүчүкулак.
Канарейка релизинде SLO/guardrails жок.
PII/PAN менен Логи, жашыруу жок.

16) Пайдалуу microcopy үлгүлөрү

Релиз (өнөктөштөр):
  • "Биз төлөм модулунун жаңылануусун этап-этабы менен чыгарабыз (10% → 100%). 2 мүнөткө чейин кыска мөөнөттүү кечигүүлөр болушу мүмкүн. ETA аяктоо - 21:00 EET"
Окуя (продукт баннер):
  • "Төлөм провайдери X туруксуз. Кабыл алуу 15 мүнөткө чейин созулушу мүмкүн. Биз оңдоонун үстүндө иштеп жатабыз. Статусту кийинки жаңыртуу - 30 мүнөттөн кийин"
Артка:
  • "Жаңылоо кечигүүлөрдүн көбөйүшүнө байланыштуу токтотулду. Мурунку версиясын кайтарып жатабыз. Маалыматтар жана операциялар сакталган"

17) киргизүү жараяны (4 спринт)

1. Сапат жана пайплайн стандарттары: SAST/Unit/CDC, бирдиктүү сүрөт, кол тамгалар, SBOM.
2. GitOps + чөйрө: Helm/Kustomize, ArgoCD, промоушн артефакт, сыр саясаты.
3. Прогрессивдүү релиздер жана SLO-оюн: canary/shadow, guardrails, autopause.
4. Ишенимдүүлүк жана наркы: башаламандык тесттер, автоскейлер/жылуу бассейндер, FinOps-дашборддор.

Жыйынтыктоочу шпаргалка

Trunk + flags + чакан партиялары = стресс жок ылдамдык.
Бирдиктүү кол коюлган артефакт + SBOM = контролдонуучу жеткирүү чынжырчасы.
GitOps + саясат = ойнотуу жана аудит.
Canary/Blue-Green + SLO-оюн = коопсуз релиздер.
DD үчүн Expand-and-contract = нөлдүк токтоп калуу.
байкоо жана DORA = башкарылуучу жакшыртуу.
Аймактык изоляция жана комплаенс = мыйзамдарга шайкештик жана ишеним.

Contact

Биз менен байланышыңыз

Кандай гана суроо же колдоо керек болбосун — бизге кайрылыңыз.Биз дайым жардам берүүгө даярбыз!

Интеграцияны баштоо

Email — милдеттүү. Telegram же WhatsApp — каалооңузга жараша.

Атыңыз милдеттүү эмес
Email милдеттүү эмес
Тема милдеттүү эмес
Билдирүү милдеттүү эмес
Telegram милдеттүү эмес
@
Эгер Telegram көрсөтсөңүз — Emailден тышкары ошол жактан да жооп беребиз.
WhatsApp милдеттүү эмес
Формат: өлкөнүн коду жана номер (мисалы, +996XXXXXXXXX).

Түшүрүү баскычын басуу менен сиз маалыматтарыңыздын иштетилишине макул болосуз.