---
title: Rollen & On-Call-Handbuch
sidebar_label: Rollen & On-Call
---

Dieses Dokument beschreibt, **wer** im Betrieb wofür zuständig ist und **wie** On‑Call‑Bereitschaft organisiert wird. Es ergänzt die technischen Runbooks um eine klare Verantwortungsebene.

> Hinweis: Konkrete Namen/Kontaktdaten sollten nicht in Git stehen, sondern getrennt (z.B. in einem internen Adressbuch oder Passwort‑Safe). Dieses Dokument definiert Rollen und Prozesse.

## 1. Rollenübersicht

### 1.1 Platform Ops

- Verantwortlich für:
  - Infrastruktur (Docker/Dokploy‑Stacks, Netzwerke, TLS, Backups).
  - Technische Verfügbarkeit der Services (App, Queues, DB, Redis, Storage).
  - Umsetzung und Pflege der Runbooks unter `docs/ops/`.
- Typische Aufgaben:
  - Deployments koordinieren (`docker-compose`, Dokploy, Migrations).
  - Monitoring/Alerting pflegen (`ops/monitoring-observability.md`).
  - Incident‑Response bei SEV‑1/SEV‑2 (`ops/incidents-major.md`).

### 1.2 On-Call Engineer

- Rolle, die im wechselnden Turnus (z.B. wöchentlich) On‑Call ist.
- Verantwortlich für:
  - Reaktion auf laufende Alerts (Monitoring, Pager, Chat‑Bots).
  - Erstes Triage nach `ops/incidents-major.md`.
  - Eskalation an weitere Rollen (z.B. Platform Ops, Produkt, Security).
- Voraussetzungen:
  - Zugriff auf Produktions‑Logs, Monitoring‑Dashboards, Dokploy/Horizon.
  - Vertraut mit den wichtigsten Runbooks (Public‑API, Storage, Photobooth, Billing).

### 1.3 Support / Customer Success

- Verantwortlich für:
  - Kontakt mit Tenants (E‑Mail/Telefon/Chat).
  - Übersetzung technischer Probleme in Kundensprache.
  - Sammeln aller relevanten Informationen, bevor an On‑Call/Platform Ops eskaliert wird.
- Typische Aufgaben:
  - Tickets aus dem Help‑System triagieren.
  - Proaktive Kommunikation bei Events („Wir haben ein Upload‑Problem identifiziert, wir arbeiten daran“).

### 1.4 Produkt / Engineering Leads

- Verantwortlich für:
  - Entscheidungen bei Feature‑Flags, Rollbacks, Hotfix‑Releases.
  - Priorisierung langfristiger Maßnahmen nach Incidents (`docs/process/roadmap.md`, `docs/process/todo/*`).
- Typische Aufgaben:
  - Teilnahme an Postmortems.
  - Freigabe von riskanteren Änderungen (z.B. große Migrations).

## 2. On-Call-Modell

### 2.1 Bereitschaftszeiten

Empfohlene Einteilung (anpassbar an dein Team):

- **Bürozeiten (z.B. 09:00–17:00)**  
  - On‑Call ist die jeweils zuständige Platform‑Ops‑Person des Tages.
  - Reaktionsziel: 15 Minuten bei SEV‑1/2, 60 Minuten bei SEV‑3.
- **Außerhalb der Bürozeiten / Event-Spitzen**  
  - Optional: Rotierender On‑Call‑Dienst mit Rufbereitschaft.  
  - Reaktionsziel: nach individueller Vereinbarung (z.B. 30–60 Minuten bei SEV‑1).

> Wenn ihr keinen formalen 24/7‑Dienst habt, sollte klar dokumentiert sein, **wann** keine garantierte Reaktionszeit besteht (z.B. nachts/wochenends) und wie das Kunden gegenüber kommuniziert wird.

### 2.2 Rotation & Übergabe

- On‑Call‑Rotation (z.B. wöchentlich) im Teamtool (Kalender/Issue‑Tracker) pflegen.
- Vor Start einer Schicht:
  - Offene Incidents und bekannte Problemzonen durchgehen.
  - Sicherstellen, dass Aufrufwege funktionieren (Chat, Telefon, Pager).
- Nach Schicht:
  - Kurze Übergabe an nächste On‑Call‑Person (offene Themen, laufende Beobachtungen).

## 3. Eskalationspfad bei Incidents

### 3.1 Standard-Eskalation (SEV-2/3)

1. On‑Call nimmt Alert entgegen, prüft grob die Lage (`ops/incidents-major.md` → Triage).
2. Wenn Problem lösbar erscheint:
   - Runbooks anwenden (z.B. Public‑API‑Playbook, Medien‑Runbook, Photobooth‑Ops).
   - Kundenkommunikation via Support abstimmen.
3. Wenn unklar oder größer:
   - Platform‑Ops bzw. Engineering Lead im Chat markieren.
   - Incident‑Thread mit Statusupdates führen.

### 3.2 SEV-1 (kritisch)

1. On‑Call ruft sofort **Platform‑Ops** und ggf. **Produkt‑Lead** in den Incident‑Thread.
2. Falls nötig, mit Produkt die Entscheidung für:
   - Rollback auf letztes Release,
   - temporäre Abschaltung einzelner Features (Feature‑Flags),
   - Aktivierung einer Maintenance‑Seite
   treffen.
3. Support/Success informieren betroffene Tenants mit kurzem Status und ETA (auch wenn ETA noch grob ist).

## 4. Tools & Zugänge

Für On‑Call/Platform‑Ops sollten mindestens folgende Zugänge eingerichtet und getestet sein:

- **Dokploy / Docker-Orchestrierung**
  - Zugriff auf Compose‑Stacks, Logs, Health‑Checks.
- **Horizon / Queue-Monitoring**
  - Zugriff auf `/horizon` (nur für SuperAdmins).
- **Logs**
  - Zentralisierte Logs (Loki/ELK) oder SSH‑Zugriff zur Maschine mit `storage/logs`.
- **Monitoring/Alerts**
  - Zugang zu Uptime‑/Monitoring‑Service (Status‑Dashboard, Alert‑Konfiguration).

> Stelle sicher, dass On‑Call‑Personen ausprobiert haben, ob sie diese Tools tatsächlich erreichen können (VPN, 2FA, etc.), bevor eine Schicht beginnt.

## 5. Verbindung zu den Runbooks

Bei einem Incident sollte die On‑Call‑Person immer vom **Betriebshandbuch** aus denken:

- Einstieg über `docs/ops/operations-manual.md` (Docusaurus‑Startseite).
- Je nach Symptome:
  - **API-/Frontend-Probleme** → Public‑API‑Playbook (`ops/deployment/public-api-incident-playbook.md`), ggf. Marketing/Guest‑PWA‑Spezifikationen in `docs/prp/` (in PRP, nicht im Ops‑Bereich).
  - **Upload/Storage-Probleme** → `ops/media-storage-spec.md`, `ops/guest-notification-ops.md`.
  - **Photobooth** → `ops/photobooth/ops_playbook.md`.
  - **Abrechnung** → `ops/billing-ops.md`.
  - **DSGVO-Fälle** → `ops/compliance-dsgvo-ops.md`.

Dieses Dokument soll nicht alle technischen Details wiederholen, sondern sicherstellen, dass immer klar ist, **wer** reagiert und **welches** Runbook als nächstes geöffnet werden sollte.
