Operationen und Management → Dokumentation von Operationen als Code
Dokumentation der Vorgänge als Code
1) Die Essenz des Ansatzes
Dokumentation als Code (Documentation as Code) ist eine Praxis, bei der Betriebswissen, Anweisungen und Prozesse auf die gleiche Weise wie Code gespeichert, bearbeitet und validiert werden: durch Git, Pull-Requests, Review und CI-Validierung.
Im Betriebskreis bildet dies die Basis für Zuverlässigkeit, Transparenz und Kompatibilität der Teams.
- Erstellen Sie ein lebendiges, reproduzierbares und versionierbares Wissenssystem, bei dem jede Anweisung ein Infrastruktur-Artefakt und kein veraltetes PDF ist.
2) Warum es notwendig ist
Transparenz: Sie können sehen, wer, wann und warum das Verfahren geändert hat.
Konsistenz: Alle Teams arbeiten an aktuellen Versionen.
Integration mit CI/CD: automatische Überprüfung der Gültigkeit von Anweisungen.
Replizierbarkeit: Infrastruktur und Dokumentation werden synchronisiert.
Sicherheit: Zugriffskontrolle und Audit über Git.
Beschleunigung des Onboarding: Neue Betreiber sehen genaue Szenarien, die mit dem Code verbunden sind.
3) Haupteinrichtungen
4) Repository-Architektur
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
Tipp: Jeder Ordner ist ein eigenes Git-Repository oder Submodul, so dass verschiedene Teams den Inhalt unabhängig verwalten können.
5) Format und Standards
Metadaten (Frontmatter 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-Struktur:
Цель
Контекст
Последовательность шагов
Проверка результата
Риски и откат
Контакты и каналы
YAML-Playbook (Beispiel):
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 und Veränderungsprozesse
Pull Request = RFC der Dokumentationsänderung.
Bewertung: Domaininhaber und Head of Ops müssen zustimmen.
CI-Validierung: Strukturprüfung, Pflichtfelder, Markdown/YAML Linter.
Automatische Veröffentlichung: Nach dem Merge - HTML/Wiki/Dashboards generieren.
Änderungsprotokoll: Auto-Änderungshistorie mit Daten und Autoren.
Alert-Erinnerungen: Revision des Dokuments alle N Tage (nach SLA).
7) CI/CD-Integration
Lint-Prüfungen: Markdown-Syntax, YAML-Gültigkeit, Besitzer/Versionsfelder.
Link-Check: Überprüfung von URLs und internen Links.
Docs-build: Konvertierung in HTML/Confluence/Portal.
Diff-Analyse: Was sich seit der letzten Veröffentlichung der Dokumentation geändert hat.
Auto-Sync: Aktualisierung der Links in Grafana, Ops UI, Slack Dashboards.
Review-Bots: Hinweise auf veraltete Abschnitte oder fehlende Besitzer.
8) Integration mit operativen Instrumenten
Grafana/Kibana: Anmerkungen und Links zu den entsprechenden Runbooks direkt aus dem Panel.
Incident Manager: Schaltfläche „Runbook öffnen“ beim Erstellen eines Tickets.
On-Call-Portal: Ausgabe aktueller SOPs und Playbooks nach Störfallkategorie.
AI-Assistenten: Repository-Suche, TL-Generierung; DR und Aktionstipps.
BCP-Panels: Automatisches Laden von DR-Anweisungen, wenn ein Skript aktiviert wird.
9) Dokumentenlebenszyklus-Management
10) Automatisierung und Synchronisation
Docs-bot: Überprüft, welche Dokumente veraltet sind.
Version badge:'! [letzte Bewertung: 2025-05] 'direkt im Hut.
Runbook-finder: per alert öffnet das gewünschte Dokument per Tag.
Templates-generator: erstellt neue SOPs nach Vorlage ('make new-sop' Deployment').
Audit-Sync: Verknüpft die SOP-Version mit der Systemfreigabe und der Commit-ID.
11) Sicherheit und Privatsphäre
RBAC pro Repository: Nur Domain-Besitzer haben Zugriff auf die Bearbeitung.
Geheimnisse und PII: kann nicht in offenen Dokumenten gespeichert werden; nur Links zu geschützten Tresoren.
Audit: Protokoll aller Änderungen, Reviews und Veröffentlichungen.
Aktualisierungsrichtlinie: Überprüfung des SOP alle 6 Monate.
Backups: Regelmäßige Repository-Snapshots und Portal-Caches in der DR-Zone.
12) Reifegradmetriken
13) Anti-Muster
Die Dokumentation wird in Google Docs ohne Versionen und Besitzer gespeichert.
Runbook wird nach Veröffentlichungen nicht aktualisiert.
SOP bezieht sich auf veraltete Befehle/Tools.
Keine CI-Validierung: Markdown mit Fehlern und defekten Links.
Duplizieren der gleichen Anweisungen an verschiedenen Orten.
Mangel an Eigentümern und Review-Prozess.
14) Checkliste Umsetzung
- Domaininhaber und Dokumentationsverantwortliche ermitteln.
- Erstellen Sie ein Git-Repository 'ops-docs/' und SOP/runbook/playbook-Vorlagen.
- Konfigurieren von CI-Checks und Lintern (Markdown/YAML).
- Auto-Publishing in einem Portal oder Wiki einrichten.
- Integration mit Grafana/Incident Manager.
- Ops-Bot für Erinnerungen und SLA-Revisionen hinzufügen.
- Schulung der Teams zum „docs-as-code workflow“ durchführen.
15) 30/60/90 - Umsetzungsplan
30 Tage:- Erstellen Sie eine Repository-Struktur, Vorlagen, einen CI-Linter und einen PR-Revue-Prozess.
- Übertragen Sie die wichtigsten SOPs und 5-10 kritische Runbooks.
- Auto-Build im Portal einrichten.
- Implementieren Sie Integrationen mit dem Incident Manager und Grafana.
- Verbinden Sie einen Ops-Bot für Revisionen und Berichte.
- Aktualisieren Sie die Postmortem-Vorlage und verknüpfen Sie sie mit dem Incident-Dashboard.
- Volle SOP/Runbook Abdeckung (≥90%).
- Geben Sie KPIs ein: Abdeckung, SLA-Überprüfung, Verwendung.
- Führen Sie retro durch die Bequemlichkeit und Qualität des „docs-as-code“ -Prozesses.
16) SOP (Markdown) Musterbeispiel
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) Integration mit anderen Prozessen
Operating Analytics: Berichte zu Coverage und SLA-Revisionen.
Bedienerschulung: Training basierend auf echten Runbooks.
Postmortems: automatisches Einfügen von Links zu SOP und Playbook.
Managementethik: Transparenz von Veränderung und Autorenschaft.
AI-Assistenten: Kontextsuche und TL; DR aus dem Repository.
18) FAQ
F: Warum Git, wenn es Confluence gibt?
A: Git gibt Versionen, Überprüfung, Automatisierung und Reproduzierbarkeit. Confluence mag das ultimative Schaufenster sein, aber nicht die Quelle der Wahrheit.
F: Wie vermeide ich veraltete Anweisungen?
A: SLA pro Revision (180 Tage) + Ops-Bot-Erinnerungen + automatisches Abzeichen der letzten Überprüfung.
Q: Kann ich CI mit der Dokumentation verbinden?
A: Ja. Die Überprüfung von Syntax, Pflichtfeldern und gebrochenen Links erfolgt wie eine Standard-Pipeline, ähnlich wie bei den Code-Tests.