Komplexe IT-Systeme bestehen aus Software, Middleware und Hardware. Der Betrieb eines IT-Systems stellt nicht erst seit der Idee der DevOps eine große Herausforderung an eine Betriebsorganisation. Moderne Systeme sind heterogen in vielerlei Hinsicht. Software wird von den Entwicklern in verschiedenen Programmiersprachen entwickelt. Eine Architektur mit Microservices oder die Verwendung der Cloud führt zu einer Vielzahl von Komponenten, die mit unterschiedlichen Technologien realisiert werden. Datenbanken haben relationale Modelle oder sind dokumenten- oder graphenbasiert. Verteilte Datenverarbeitung mit Events oder Microbatches spielt durch den Bedarf an Big-Data-Lösungen eine immer größere Rolle. Die Liste ließe sich noch fortsetzen.

Motivation

Die Anforderungen an die Betriebsorganisation sind dementsprechend hoch. Sie müssen mit der Vielzahl von Technologien umgehen können, häufig in einer produktspezifischen Art und Weise. Speziell in der agilen Software-Entwicklung werden immer wieder neue Technologien eingesetzt. Treiber sind in der Regel Qualitätsanforderungen (z.B. Sicherheit, Robustheit oder Skalierung). Nicht immer berücksichtigen Entwickler, dass es später jemanden gibt, der das veränderte Produkt betreibt und wissen muss, wie das genau geht.

Ob durch personelle Fluktuation, Schichtbetrieb oder Teilzeitbeschäftigung der Mitarbeiter, in einer Betriebsorganisation wechselt das Personal. Es kann daher immer passieren, dass unter Umständen ein Mitarbeiter ohne Erfahrung zu einer unpassenden Zeit (z.B. Wochenende oder in der Nacht oder beides) eine ganz normale Regelaufgabe ausführen muss. Eine passende Betriebsanweisung ist dann Gold wert und verschafft dem Operator die notwendige Handlungssicherheit.

Besonders wichtig ist die Sicherung des Wissens über jene Aufgaben, die ein Operator durch eine Automatisierung in der Regel nicht manuell durchführt. Solche Aufgaben kann er nicht trainieren. Trotzdem muss er im Fall der Fälle bei einer manuellen Ausführung alle notwendigen Handlungsschritte in der richtigen Reihenfolge ausführen.

Mit Betriebsanweisungen bekommt die Betriebsorganisation eine Dokumentation an die Hand, mit der sie der Herausforderung für den Betrieb eines IT-Systems begegnen kann. Durch die Idee der DevOps und die frühzeitige Berücksichtigung des Betriebs der technischen Komponenten schon während der agilen Software-Entwicklung wird die Qualität der Betriebsanweisungen gesteigert.

Betriebsanweisungen der Kategorie Aufgabe sind

  • manuell durchzuführende Regelaufgaben.
  • automatisiert ausgeführte Regelaufgaben.
  • vorbereitete Sonderaufgaben.

Betriebsanweisungen der Kategorie Analyse beschreiben in den Handlungsschritten beispielsweise

  • Vorgefertigte Grep- oder Awk-Befehle für die Analyse von Log-Dateien
  • Anweisungen für die Auswertung von Log-Daten (z.B. in Kibana)

Betriebsanweisungen der Kategorie Alarm haben offensichtlich nur einen Zweck: Sie beschreiben, was muss ein Operator tun muss, wenn durch die Überwachung des IT-Systems eine bestimmte Situation erkannt wird und ein Alarm ausgelöst wird. In den Handlungsschritten werden bereits existierende Betriebsanweisungen der Kategorien Aufgabe oder Analyse wiederverwendet.

Definition

Beschreibung

Der Baustein Task ist das Artefakt des Betriebshandbuches, mit dem wir Wissen über die Durchführung einer Aufgabe im Zusammenhang mit dem Betrieb des IT-Systems sichern. Das IT-System besteht aus

  • der Software, die im Rahmen des Projektes entwickelt wird,
  • der dazugehörigen Middleware (Datenbanken, Broker, Cluster) und
  • der Hardware (Server-Knoten, Netzwerk).

Er gibt einer Aufgabe, Analysetätigkeit oder Reaktion auf eine Alarmierung durch das Monitoring des IT-Systems einen eindeutigen Namen.

Ein Task wird aus Sicht eines Mitarbeiters der Betriebsorganisation geschrieben. Er beschreibt die Ausgangslage, Handlungsschritte, die ein Operator im IT-System ausführen muss und gegebenenfalls Tätigkeiten zur Nachbereitung oder Kontrolle. Die Beschreibungen in einem Task sind für jeden technisch geschulten Mitarbeiter verständlich.

Struktur

Abschnitt Ausgangslage

Im Abschnitt Ausgangslage wird die Situation beschrieben, in der sich das IT-System befindet.

  • Ein Verweis auf einen anderen Task, der zuvor ausgeführt wird.
  • Der Auslöser für die Ausführung einer Regelaufgabe.
  • Die Beschreibung eines bekannten Fehlers.
  • Ein Alarm aufgrund einer Störung im IT-System.

Nur wenn die beschriebene Situation vorliegt, können die Handlungsschritte erfolgreich ausgeführt werden.

Abschnitt Handlungsschritte

In diesem Abschnitt werden in tabellarischer Form Handlungsschritte beschrieben. Jede Zeile wird Schritt für Schritt abgearbeitet. Der Befehl in der Kommandozeile oder eine Funktion einer Benutzeroberfläche wird kurz beschrieben und hat eine fortlaufende Nummer.

Sehr hilfreich ist ein Beispiel in jedem Handlungsschritt. Das Beispiel verwendet Platzhalter, wo umgebungsspezifische Werte oder Eingaben erforderlich sind.

Die Tabelle der Handlungsschritte ist gleichzeitig eine Checkliste für die Durchführung.

Abschnitt Nachbereitung

Im Abschnitt Nachbereitung werden optional Tätigkeiten beschrieben, die nach Abschluss aller Handlungsschritte durchzuführen sind. In der Regel wird hier beschrieben, wie der Operator prüfen kann, ob eine Regelaufgabe erfolgreich abgeschlossen wurde.

Dieser Abschnitt ist optional. Gibt es keine abschließenden Tätigkeiten, dann steht hier ein Leervermerk.