> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/de/2022/w23-a-stability-metric-that-accurately-describes-customer-impact.md).

# W23-Eine Stabilitätskennzahl, die Auswirkungen auf Kunden präzise beschreibt

### **Hintergrund**

Warum beschäftige ich mich mit Stabilitätskennzahlen\*\*?\*\* Mehrere Ereignisse kamen zusammen. Erstens bereite ich die Ausfallsicherung von Yugong vor. Zweitens ist höhere Verfügbarkeit das O2 unseres Teams in diesem Jahr, und ich soll Zhongze bei der Planung unterstützen. Drittens gab mir ein von Jerry empfohlener Kurs über datenorientiertes Denken viele Anregungen.

### **Einige Grundbegriffe**

Wir sprechen oft von hoher Verfügbarkeit, Zuverlässigkeit und Stabilität. Im weiten Sinn scheint eine Kennzahl wie die Erfolgsquote dafür auszureichen. Im engeren Sinn sind diese drei Begriffe jedoch nicht gleichbedeutend.

**Availability, Verfügbarkeit.** Der Anteil eines betrachteten Zeitraums, in dem ein System ordnungsgemäß läuft. **Sie beschreibt, ob es nutzbar ist.**

**Reliability, Zuverlässigkeit.** Die Wahrscheinlichkeit, dass ein System unter gegebenen Bedingungen während eines festgelegten Zeitraums ohne Fehler weiterläuft. **Sie beschreibt, ob es korrekt arbeitet.**

**Stability, Stabilität.** Die Fehlerwahrscheinlichkeit und die Entwicklung von Leistungseinbußen während fortlaufender Nutzung in einem Betriebszyklus unter bestimmter Last. Im Frontend ist die Laufzeitumgebung dezentral und auf einzelne Geräte verteilt. **Stabilität beschreibt daher, wie gut die Software auf unterschiedlichen Geräten und unter verschiedenen Netzbedingungen funktioniert.**

Die Beziehungen lassen sich so verstehen: Geringe Zuverlässigkeit beeinträchtigt bis zu einem gewissen Grad die Verfügbarkeit, umgekehrt gilt das nicht zwingend. Verfügbarkeit ist eine Voraussetzung für Zuverlässigkeit, Stabilität deren weitere Verbesserung.

Nun kurz zum Erwartungswert. Dieser Teil stammt aus dem erwähnten Datenkurs. Dort wird Murphys Gesetz mit Erwartungswerten erklärt, eine anschauliche Anwendung.

Der Erwartungswert ist der nach Wahrscheinlichkeiten gewichtete Durchschnitt möglicher Ergebnisse. Er wird vollständig durch die Wahrscheinlichkeitsverteilung bestimmt. Nach dem Gesetz der großen Zahlen nähern sich ausreichend viele Wiederholungen dem angenommenen Erwartungswert. Er ist also eine Vorhersage vor dem Ereignis. Der gewöhnliche Durchschnitt ist dagegen eine nachträglich berechnete Statistik. Im Englischen werden sie hier als Mean für Erwartungswert und Average für Durchschnitt unterschieden.

### **Bisherige Berechnung der Verfügbarkeit**

Die SLA in einer Softwareauslieferung sind eine Gruppe von Erwartungswerten.

Eine allgemeine Branchendefinition lautet: Availability = MTTF / (MTTF + MTTR).

MTTF steht für Mean Time To Failure, die mittlere Zeit bis zum Ausfall. Sie beschreibt, wie lange ein System im Durchschnitt ordnungsgemäß läuft, bevor es ausfällt. Je länger die MTTF, desto zuverlässiger das System.

MTTR steht für Mean Time To Repair, die mittlere Reparaturdauer eines reparierbaren Systems. Sie reicht vom Eintritt des Fehlers bis zum Abschluss der Wiederherstellung. Je kürzer die MTTR, desto besser lässt sich das System instand halten.

Im Unternehmen ist Verfügbarkeit genauer definiert. Die Reparaturdauer wird aus den Schadensdaten des Ausfalls in eine Zeit umgerechnet.

Die Formel lautet: Availability = ( 525600 - sum( min {1440 \* loss, ( t2 - t1 ) })) / 525600.

525600 bedeutet 525600 Minuten pro Jahr, 1440 bedeutet 1440 Minuten pro Tag. loss ist der Anteil verlorener Tagesbestellungen. Bei nicht transaktionsbezogenen Diensten kann man stattdessen verlorene Seitenaufrufe oder zusätzliche Beschwerden verwenden. t2-t1 ist die Ausfalldauer.

### **Berechnung einer X-Kennzahl**

Ich suche nach einer Kennzahl, die die Auswirkungen auf Kunden genauer beschreibt. Da mir noch kein guter Name eingefallen ist, nenne ich sie vorläufig X.

Definieren wir den Erwartungswert der Kundenauswirkungen als M (Mean), die Wahrscheinlichkeit ihres Auftretens als P (Probability) und ihr Ausmaß als D (Degree), dann gilt M = P \* D. Zur Veranschaulichung nehme ich ein transaktionsbezogenes Geschäft. Hier ist P = Ausfalldauer / Jahresdauer und D = verlorene Bestellungen / Jahresbestellungen.

Die X-Kennzahl ließe sich dann so berechnen:

( 1 - sqrt ( (verlorene Bestellungen / Jahresbestellungen) \* (Ausfalldauer / Jahresdauer) ) \* 100%

Wie diese Kennzahl praktisch eingesetzt werden kann, muss noch gründlicher durchdacht werden.
