Операциялар және басқару → Релиздер мен жаңарту циклдері
Релиздер мен жаңарту циклдері
1) Мақсаты
Релиздер циклі жеткізу ырғағын белгілейді: өзгерістер пайдаланушыға қашан және қалай түседі, сапа кепілдіктері, жылдамдығы және ашықтығы қандай. Жақсы жобаланған цикл:- үйлестірудің белгісіздігі мен құнын төмендетеді,
- оқыс оқиғалар мен кері қайту қаупін азайтады,
- техниканы бизнес-оқиғалармен (маркетинг, спорт, қаржы) үйлестіреді. есептілік),
- CFR (Change Failure Rate) өсімінсіз throughput командасын арттырады.
2) Релиздер модельдері: қайсысын таңдау керек
1. Release Train (поездар) - тіркелген слоттар (мысалы, вт/сағ 10:00 EET).
Көп командалы монолиттер мен «ауыр» домендік өзгерістер үшін жарамды.
2. Continuous Delivery (сұрау бойынша) - quality-гейттен өткен әрбір merge өнімге бара алады.
Микросервистер мен feature-flag мәдениеті үшін қолайлы.
3. Гибрид - поездар бойынша азық-түлік фронттары, backend-сервистер «сұраныс бойынша».
Таңдау критерийлері: тесттердің/обсервабилиттің жетілгендігі, сыртқы әріптестерге тәуелділік (PSP/KYC), комплаенс талаптары, ұйым мөлшері.
3) Релиздік күнтізбе және терезелер
Бірыңғай күнтізбе (company-wide): релиздер слоттары, ДБ көші-қоны, маркетингтік науқандар, ірі спорттық оқиғалар, есептік кезеңдер.
Freeze-кезеңдер: hotfix P1 рұқсат етілген нақты терезелер (мысалы, ЖБ финалы, Black Friday, салық есептілігі).
Өңірлік толқындар: алдымен «жылы» нарықтар/төмен трафик, содан кейін - негізгі; жергілікті TZ түнгі терезелері.
Қиылысу саясаты: бір сындарлы жол бойынша бір мезгілде өзгерістерге тыйым салу (төлемдер, KYC, авторизация).
4) Тармақтау және нұсқалау
Trunk-based + short-lived branches (бұтақтардың feature ≤ 3-5 күн).
Release-тармақ - тек пойыздар/ұзақ верификация үшін; 'main' ішіндегі қатты back-merge.
SemVer: `MAJOR. MINOR. Кітапханалар/SDK үшін PATCH '; артефактілер мен қоршаған ортаның тегтері.
Келісімшарттар: back/forward үйлесімділігі бар схемалар (Euro/Protobuf); көші-қон - екі фазалы.
5) Сапа канвеерлері (гейттер)
1. Static + SAST/DAST + линтерлер
2. Unit/Contract/Component тестілері
3. E2E/Performance smoke
4. Security/Compliance checks (құпиялар, лицензиялар, аумақтар саясаты)
5. Release Candidate → қолтаңба, SBOM, артефакттар
6. Авто-гардрейлі progressive rollout (§ 7 қараңыз)
Барлық гейттер - код және саясат (Policy-as-Code), нәтижелер - шығарылым артефактілерінде.
6) Орталар және промоуттар
Dev → Int → Stage → Prod, деректер үшін: Sandbox/Data-Stage.
GitOps промоуттар, immutable бейнелер, сынамада «қолмен» түзетуге тыйым салу.
Параметрлеу: өңірлер, лимиттер, провайдерлер - конфигалар арқылы (аудиттелетін).
7) Домалату стратегиялары
Canary: 1%→5%→25%→100% (или per-region).
Blue-Green: параллельді орта + атомарлық қайта қосу.
Feature Flags: функционалдық қосқыштар/kill-switch; A/B и shadow.
Staged Rollout Mobile/Web: клиенттің нұсқалары/жеткізу арналары бойынша (Store/OTA).
Гардрейлдер (auto stop): p95 latency ↑> 25%, error%> 2%, авторизация/депозиттердің құлдырауы, чарджбектердің өсуі, 1 сағаттық терезе үшін burn-rate SLO> табалдырық.
8) Бизнеспен және әріптестермен келісу
Маркетинг/Оқиғалар: ≥ 48 сағ.
Серіктестер (PSP/KYC/Game providers): SDK сертификаттау/жаңартуға арналған слоттар, көші-қон кезеңіндегі қосарлы эндпоинттер.
Қолдау: UX өзгерістеріне макростар/FAQ, мәртебе беттері, эскалация арналары.
9) Деректер мен схемаларды жаңарту
Additive first: алдымен қосу, содан кейін оқу/жазуды ауыстыру, соңында ескісін алып тастау.
Индекстер мен үлкен көші-қон - түнгі терезелер, батам бойынша, чекпойнты және ілгерілеуімен.
Витриналарды және метрика сөздігін нұсқалау: жаңартулар релизмен синхронды, BI көшіру - азық-түлік терезелерінен бөлек.
10) Коммуникация және артефактілер
Release Notes (не/не/тәуекел/rollback), ChangeLog сервистері бойынша.
Стейкхолдерлерге күнтізбелік инвайттар, хабарландыру үлгілері (дейін/уақытта/кейін).
War-room арна поездар/ірі релиздер уақытында, апдейт жиілігі: P1 - әрбір 15-20 минут сайын.
11) Тиімділік метрикасы
DORA: Deployment Frequency, Lead Time, Change Failure Rate, MTTR.
Өзгерістер түрі бойынша Backout Rate.
SLO Compliance% релиздерге дейін/кейін.
Release Debt: «аспалы» жалаулар, аяқталмаған көші-қон, ескі тәуелділіктер.
Business Impact: конверсия, KYC TTV, PSP success, GGR/NGR drift.
12) Қарсы үлгілер
Big-bang: «бәрі және бірден» жалаусыз/канареясыз.
Трафикті/оқиғаларды freeze-ерекшеліктерсіз шыңға шығару.
Авто-гардрейлерсіз: «көзбен» қол мониторингі.
Ұзақ өмір сүретін бұтақтар: ауырсынатын қосылу және жасырын регрессиялар.
Өнімдегі қол қадамдары: аудит пен болжамдылық жоқ.
TTL және иелері жоқ жалаулар: «мәңгілік» тармақтар.
13) Чек парақтары
Шығару алдында
- RFC/тикет, тәуекел және blast-radius бағаланды
- CI/CD гейттері өтті, артефактілерге қол қойылды
- Домалату жоспары + тоқтату критерийлері + backout дайын
- Күнтізбемен, freeze және серіктестермен келісу
- Дашбордтар/алерталар нұсқаға байланыстырылған, war-room жасалған
Шығару кезінде
- Канареялық сатылар мен авто-тоқтау белсенді
- p95/error% өлшемдері, монитордағы бизнес сигналдары (auth, KYC, PSP)
- Кесте бойынша коммуникациялар, мәртебе-бет жаңартылады
Шығарылғаннан кейін
- Release Notes және ChangeLog жарияланды
- Уақытша ерекшеліктер/жалаушалар жойылды (TTL)
- Ауытқулар кезіндегі пост-мортем ≤ 5 раб. күндер
- Жаңартылған ойнатқыштар мен құжаттар
14) Шағын үлгілер
Релиздік слоттың үлгісі (поезд):- Күні/уақыты: Вт, 10: 00-12: 00 EET
- Округ: EU (10% → 50% → 100%), содан кейін LATAM (10% → 100%)
- Тоқтату критерийлері: error%> 2% 10 мин, p95> + 25% 10 мин, PSP success <97%
- Backout: трафикті алдыңғы нұсқаға ауыстыру + жалауларды қайтару
- Байланыс: @RelEng, @SRE -on-call, @Support
- Не жаңалық/Не үшін
- Пайдаланушылар мен әріптестерге әсер ету
- Тәуекелдер мен белгілі шектеулер
- Жаю жоспары/Тоқтату критерийлері/Backout
- Мониторинг өлшемдері
- Байланыс және қолдау арналары
15) Көршілес пәндермен интеграциялау
Өзгерістерді басқару: standard/normal/emergency, CAB жіктемесі, аудит.
Инциденттер салдарларын төмендету: дайын фича-жалаулар, квоталар, шеддинг.
Конфигурация аудиті: Git, drift-detect және қолдану журналы арқылы барлық промоуттар.
Орындау саясаты: лимиттер/таймауттар/ретраилер - мәжбүрлеу арқылы код ретінде.
16) Жиынтық
Релиздер циклдері - жылдамдық пен сенімділік арасындағы басқарылатын ырғақ. Үйлестіру қажет болғанда бекітілген слоттар; «сұраныс бойынша» автоматтандыру жетілген жерде. Барлық жерде - бір күнтізбе, жалаулар мен канареялық сырғанаулар, автоматты гардрейл мен мөлдір коммуникациялар. Осылайша релиздер болжамды, қауіпсіз және үнемді болады.