Վիրահատությունները և Մոսկովյան վիրահատությունների գրասենյակը որպես կոդ
Վիրահատությունների իրականացումը որպես կոդ
1) Մոտեցման էությունը
Գրանցումը որպես կոդ (Documentation as Code) մի պրակտիկա է, որտեղ վիրահատական գիտելիքները, հրահանգները և գործընթացները պահպանվում են, խմբագրվում և ստուգվում են ինչպես կոդը 'Git, pro-reques.ru, review և CI-valization։
Վիրահատական կոնտեքստում դա ստեղծում է հիմքը թիմերի հուսալիության, թափանցիկության և ինտեգրման համար։
Հիմնական նպատակը
Ստեղծել կենդանի, վերարտադրված և տարբերակված գիտելիքների համակարգ, որտեղ յուրաքանչյուր հրահանգը ենթակառուցվածքի արտեֆակտն է, ոչ թե հնացած PDF-ն։
2) Ինչո՞ ւ է դա անհրաժեշտ
Թափանցելիությունը ցույց է տալիս, թե ով, երբ և ինչու փոխեց ընթացակարգը։
Համաձայնություն 'բոլոր թիմերը աշխատում են համապատասխան տարբերակներով։
CI/CD-ի հետ ինտեգրումը հրահանգների ինքնաբերական ստուգումն է։
Կրկնօրինակումը 'ենթակառուցվածքը և պարամետրերը համաժամեցված են։
Անվտանգությունը 'հասանելիության վերահսկումը և Git-ի միջոցով աուդիտը։
Ուռբորդինգի արագացումը 'նոր վիրահատները տեսնում են ճշգրիտ սցենարներ, որոնք կապված են կոդի հետ։
3) Հիմնական օբյեկտները
4) Ռեպոզորիայի ճարտարապետությունը
ops-docs/
├── README.md # описание структуры
├── standards/
│ ├── sop-deploy.md
│ ├── sop-oncall.md
│ └── sop-release.md
├── runbooks/
│ ├── payments-latency.md
│ ├── games-cache.md
│ └── kyc-verification.md
├── playbooks/
│ ├── dr-failover.yaml
│ ├── psp-switch.yaml
│ └── safe-mode.yaml
├── postmortems/
│ └── 2025-03-17-bets-lag.md
├── policies/
│ ├── alerting.yaml
│ ├── communication.yaml
│ └── security.yaml
└── templates/
├── postmortem-template.md
├── sop-template.md
└── playbook-template.yaml
Խորհուրդը 'յուրաքանչյուր պանակ' իր Git-reposoration կամ sabmodul-ը, որպեսզի տարբեր թիմեր կարողանան ինքնուրույն կառավարել բովանդակությունը։
5) Ձևաչափը և ստանդարտները
Մեթադները (front-matter YAML)
yaml id: sop-deploy owner: platform-team version: 3.2 last_review: 2025-10-15 tags: [deployment, ci-cd, rollback]
sla: review-180d
Markdown կառուցվածքը
Цель
Контекст
Последовательность шагов
Проверка результата
Риски и откат
Контакты и каналы
YAML-playbook (օրինակ)
yaml name: failover-psp triggers:
- alert: PSP downtime steps:
- action: check quota PSP-X
- action: switch PSP-Y
- action: verify payments latency < 200ms rollback:
- action: revert PSP-X
6) GitOps-ը և փոփոխության գործընթացները
Pox Request = RSA փաստաթղթերի փոփոխությունները։
Review: Տիրույթի սեփականատերը և Head of Ops-ը պետք է հաստատեն։
CI-վալիդացիա 'կառուցվածքի, պարտադիր դաշտերի, Markdown/YAML-ի ոսպնյակների ստուգում։
Ավտոմատ հրատարակումը 'merge-ից հետո, HTML/viki/dashbords գեներացիան։
Change log: Auto-պատմությունը ամսաթվերի և հեղինակների հետ։
Alts-հիշեցումները 'փաստաթղթի ստուգումը յուրաքանչյուր N օրվա ընթացքում (SLA)։
7) CI/CD ինտեգրումը
Lint-ստուգումներ ՝ Markdown-սինթակիս, YAML-վալիդիզմ, owner/version դաշտեր։
Link-interk-ը URL-ի և ներքին հղումների ստուգումն է։
Docs-build: փոխակերպումը HTML/Systluence/պորտալ։
Diff-վերլուծություն 'ինչ փոխվեց անցյալ օրինագծից փաստաթղթերի։
System-nc: նորարարություն հղում Grafana, Ops UI, Slack-ում։
Review-bots 'ենթադրություններ հնացած հատվածներով կամ բացակայող սեփականատերերին։
8) Ինտեգրումը վիրահատական գործիքների հետ
Grafana/Kibana 'ծանոթություններ և հղում համապատասխան runbook անմիջապես վահանակից։
Incident Live: «Open Runbook» կոճակը տիկետի ստեղծման ժամանակ։
On-call պորտալը 'համապատասխան SOP-ի և playbook-ի ստանդարտ։
AI-օգնականները 'հետազոտման որոնում, TL գեներացիա; DR-ը և գործողությունների խորհուրդները։
BCP վահանակներ 'DR հրահանգների ավտոմատ բեռնումը սցենարի ակտիվացման ժամանակ։
9) Կյանքի փաստաթղթերի ցիկլի կառավարումը
10) Ավտոմատիզացիա և համաժամացում
Docs-bot-ը ստուգում է, թե որ փաստաթղթերը հնացած են։
Version badge: <<[lenseview: 2025-210]> հենց գլխարկի մեջ։
Runbook-finder-ը 'ալերտով, բացում է թեգի ճիշտ փաստաթուղթը։
Templates-gener.ru-ը ստեղծում է նոր SOP ձևանմուշ ("make new-sop" Deployae ")։
Audit-internc-ը կապում է SOP տարբերակը համակարգի և commit-ID-ի հետ։
11) Անվտանգությունն ու գաղտնիությունը
RBAC-ը վերափոխման վրա 'խմբագրման հասանելիությունը միայն օրինագծերի սեփականատերերի մոտ։
Աուդիտ 'բոլոր փոփոխությունների, խանդի և հրատարակությունների լոգ։
Գաղտնիքները և PII։ Դուք չեք կարող պահել բաց փաստաթղթերում։ միայն հղում պաշտպանված vox.
Քաղաքականությունը նշվում է. Www.SOP-ը յուրաքանչյուր 6 ամսվա ընթացքում։
Backups: Reposoria-ի և պորտալ-քաշայի նկարները DR-գոտում։
12) Հասունության մետրերը
13) Anti-patterna
Մոսկվան պահվում է Google Docs-ում առանց տարբերակների և սեփականատերերի։
Runbook չի նորարարվում օրինագծերից հետո։
SOP-ն հիմնված է հնացած թիմերի/գործիքների վրա։
Ոչ CI-վալիդացիա 'Markdown սխալներով և բիթանոց հղումներով։
Նույն հրահանգների կրկնօրինակումը տարբեր վայրերում։
Սեփականատերերի և ակնարկների բացակայությունը։
14) Ներդրման չեկի ցուցակ
- Որոշեք օրինագծերի սեփականատերերին և փաստաթղթերը։
- Ստեղծել «ops-docs/» և SOP/runbook/playbook ձևանմուշները։
- Տեղադրել CI ստուգումներ և ոսպնյակներ (Markdown/YAML)։
- Տեղադրեք ավտո հրատարակությունը պորտալում կամ Wiki-ում։
- Ինտեգրվել Grafana/Incident Live-ի հետ։
- Ավելացնել Ops-bot հիշեցումների և SLA-վերանայման համար։
- Մարզել թիմերը «docs-as-code workflow»։
15) 30/60/90 - իրականացման պլանը
30 օր
Ստեղծել ռեպոզորիայի կառուցվածքը, ձևանմուշները, CI-լինտերը և PR-revew գործընթացը։
Տեղափոխել հիմնական SOP և 5-10 քննադատական runbook։
Տեղադրել-build-ը պորտալում։
60 օր
Ներդրել Incident Services-ի և Grafana-ի հետ։
Միացրեք Ops-բոտին վերանայման և հաշվետվությունների համար։
Թարմացնել հետմորտը և կապել դաշբորդի պատահարի հետ։
90 օր
Ամբողջական SOP/runbook (3690%)։
Ներդրել KPI: Coverage, Review SLA, Usage։
«Docs-as-code» գործընթացի հարմարավետության և որակի ռետրո անցկացնելը։
16) SOP (Markdown) օրինակը
SOP: Deployment через ArgoCD id: sop-deploy owner: platform-team last_review: 2025-10-15 tags: [deployment, rollback, argo]
Цель
Обеспечить безопасное и управляемое развертывание сервисов через ArgoCD.
Контекст
Используется для всех микросервисов с шаблоном Helm v2+.
Требует активного GitOps-контура и включенных health-checks.
Последовательность шагов
1. Проверить статус `argocd app list`
2. Выполнить `argocd app sync payments-api`
3. Убедиться, что `status: Healthy`
4. В случае проблем — `argocd app rollback payments-api --to-rev <rev>`
Проверка результата
SLO API доступность ≥ 99.95%, алертов нет.
Риски и откат
- Ошибка синхронизации — rollback.
- При повторных ошибках — эскалация Head of Ops.
Контакты
@platform-team / #ops-deploy
17) Ինտեգրումը այլ գործընթացների հետ
Վիրահատական վերլուծությունը 'Coverage-ի և SLA-ի զեկույցները։
Օպերատորների ուսուցումը իրական runbook-ի հիման վրա է։
Հետմորտեմներ 'ավտոմատ հղում SOP-ում և playbook-ում։
Կառավարման էթիկան 'փոփոխությունների թափանցիկությունը և հեղինակությունը։
AI օգնականները 'կոնտեքստային որոնում և TL; DR-ից։
18) FAQ
Q: Ինչու՞ Git, եթե կա Systluence։
A: Git-ը տալիս է տարբերակներ, ակնարկներ, ավտոմատիզացիա և վերարտադրություն։ Syluence-ը կարող է վերջնական պատուհան լինել, բայց ոչ ճշմարտության աղբյուրը։
Q 'Ինչպե՞ ս խուսափել հնացած հրահանգներից։
A: SLA-ն ստուգման (180 օր) + Ops-bot հիշեցումներ + վերջին ստուգման ավտոմատ badge։
Q 'Կարո՞ ղ եք CI-ն միացնել փաստաթղթերին։
Ա 'Այո։ Սինթաքսիսի, պարտադիր դաշտերի և բիթանոց հղումների ստուգումը կատարվում է որպես ստանդարտ pipeline, որը նման է կոդի թեստերին։