In diesem Artikel erfahren Sie mehr über den Wert, den DevOps für Unternehmen bietet. Dazu stellen wir die 5 wichtigsten KPIs, anhand derer Sie den Erfolg von DevOps in Ihrem Unternehmen messen können.
Wenn Sie durch die Einführung eines neuen Prozesses die Einnahmen steigern und so den Unternehmenswert erhöhen könnten, würden Sie es tun? Die meisten Unternehmer und Führungskräfte würden, ohne zu zögern, mit einem klaren “Ja” antworten. Dabei hat sich im letzten Jahrzehnt bereits ein solcher Prozess entwickelt. Die Rede ist von DevOps, mit dem Softwareunternehmen kontinuierlich iterieren und schneller liefern können. Jedoch müssen Sie zunächst einen Weg finden, diesen Mehrwert zu messen, um zu zeigen, ob die Einführung von DevOps erfolgreich war.
Was ist DevOps und warum ist es wichtig?
Um DevOps zu definieren, müssen Bereiche im Zusammenhang mit Unternehmenskultur, Methoden und Tools untersucht werden. Eine Erklärung könnte wie folgt lauten: DevOps ist eine Kombination von Denkweisen, Praktiken und Tools, mit denen Unternehmen schneller und einfacher Anwendungen und Services bereitstellen können. Die Weiterentwicklung und Verbesserung von Produkten gelingt damit in kürzerer Zeit als bei Unternehmen, die auf herkömmliche Prozesse für die Softwareentwicklung und Infrastrukturverwaltung bauen. (Quelle: Amazon Web Services (AWS) Webseite)
In älteren Arbeitsmodellen ist meist eine logische Abgrenzung zwischen Entwicklung und Operations/Betrieb bewusst vorhanden. Die Aufgaben werden von den Teams über diese Grenze hinweg hin und her gereicht, wobei der Kontext größtenteils verloren geht und kein Wissenstransfer stattfindet. Da Softwareprojekte aber immer komplexer werden und die Marktnachfrage schnellere Iterationen erfordert, können diese Modelle nicht skalieren. DevOps-Methoden und -Prozesse verbessern die Softwareentwicklung im großen Maßstab und verbinden den Betrieb und -Entwicklung, um so komplexe manuelle Prozesse in verbesserte automatisierte Prozesse umzuwandeln.
Mit DevOps kann End-to-End-Softwareentwicklung rascher durchgeführt werden. Features kommen schneller zum Kunden und so der Wert und die Flexibiltät gesteigert. Wenn Sie herausfinden möchten, ob Sie DevOps erfolgreich einsetzen, sollten Sie die folgenden KPIs messen.
KPIs identifizieren und messen
Anhand von Leistungskennzahlen (auf Englisch Key Performance Indicators, kurz KPIs) kann gemessen werden, ob ein Team oder eine Initiative erfolgreich ist. Generell müssen KPIs sich an einem bestimmten Ziel ausrichten, messbar sein und in einen Zeitrahmen passen. Im Fall von DevOps sollten KPIs quantifizierbare Daten zu Zielen wie Bereitstellungsgeschwindigkeit und Anwendungsleistung liefern.
In den nachfolgenden Zeilen stellen wir Ihnen die fünf wichtigsten Punkte vor und wie diese in das Reporting integriert werden können.
1. Bereitstellungshäufigkeit
Angenommen, Sie könnten für die Bewertung Ihrer DevOps-Prozesse nur eine einzige Leistungsmetrik auswählen, dann sollte dies die Bereitstellungshäufigkeit sein. Wenn das Hauptziel von DevOps darin besteht, die Geschwindigkeit der Entwicklung und Bereitstellung zu erhöhen, ist die wichtigste Erfolgsmetrik die Lieferhäufigkeit von Software. Sobald Teams DevOps einführen, sollte die Frequenz zunehmen, wobei jede Abnahme auf einen Engpass im Prozess hinweist.
Um die Bereitstellungshäufigkeit auf einfache Weise zu messen, können Sie in der letzten Phase Ihrer CI/CD-Pipeline oder Ihres Bereitstellungstools einen Webhook einrichten. Jede erfolgreiche Lieferung sollte den Webhook triggern und die Anzahl der Deployments erhöhen. In hochkomplexen Bereitstellungsumgebungen kann es erforderlich sein, die Metrik detaillierter zu gestalten, z. B. nach Region oder nach Kunden.
2. Vorlaufzeit für Änderungen
In einer erfolgreichen DevOps-Organisation ermöglicht der schnelle Feedbackfluss zwischen IT-Betrieb und Entwicklung, dass Änderungen (Changes) schnell, korrekt und effizient erfolgen. Neue Funktionen, Patches, Fehlerbehebungen und Sicherheitsmassnahmen sollten von der Erstellung bis zur Auslieferung mit minimaler Lead-Time durchgeführt werden, wobei längere Lead-Times erneut auf einen Engpass deuten.
Um die Vorlaufzeit für Änderungen effektiv zu messen, müssen Sie mindestens zwei weitere Methoden aus DevOps und Agile einführen:
- Ein gemeinsamer Arbeits-Backlog für Dev und Ops, der transparent den Status aller Arbeitspakete offenlegt bspw mit Systemen wie Azure oder Jira.
- Bereitstellung einzelner Arbeitspakete und Features, um sicherzustellen, dass Lieferungen isolierte kleine Änderungen enthalten, die bei Bedarf zurückgesetzt werden können.
Im nächsten Schritt muss jede Änderung direkt mit einem Ticket oder Arbeitspaket verknüpft und mit einer ID versehen werden. Das Liefersystem (z. B. eine CI/CD-Pipeline), liest diese ID und kann Webhooks verwenden, um das Ticket für jede erfolgreich gelieferte Änderung automatisch zu schliessen. Um schlussendlich die Vorlaufzeit für Änderungen zu erhalten, messen Sie einfach die Gesamtzeit, die zwischen dem Öffnen und Schliessen der Tickets vergangen ist.
3. Fehlervolumen und Fehlerentweichungsrate (Fehlerbudget)
Eine weitere wichtige Kennzahl ist die Anzahl der Fehler. Die Fehlerentweichungsrate (auf Englisch Defect Escape Rate) ist das Verhältnis der vom Benutzer in Production gefundenen Fehler zu den Bugs, die beim Testen durch die Qualitätssicherung (QS) in der Testumgebung festgestellt wurden. Diese Metrik gibt Einblicke in die Qualität Ihrer Softwarebereitstellungen und die Effektivität der Testabdeckung durch Ihr QS-Team.
Beachten Sie, dass das Streben nach einem 100 % fehlerfreien Betrieb kontraproduktiv sein. Also beispielsweise das Zögern, Änderungen vorzunehmen und der Rückstand bei der Bereitstellung wichtiger Feature-Upgrades dadurch zunimmt. Wir empfehlen Ihren SLAs etwas mehr Flexibilität zu geben, um mit angemessenen Fehlerbudgets arbeiten zu können.
4. Service Level Agreements
Ein Service Level Agreement (SLA) kann „soft“ sein, beispielsweise ein idealisiertes Ziel. Oft definiert es aber eine rechtliche vertragliche Verpflichtung, eine gewisse Verfügbarkeit einer Anwendung über einen bestimmten Zeitraum aufrechtzuerhalten. Alle Beteiligten sollten gemeinsam bestimmen, was genau Uptime und Downtime ausmachen und sich dann auf eine wirksame Messmethode einigen.
5. Anwendungsleistung
Die meisten webbasierten Anwendungen messen die Leistung anhand von Metriken wie TTFB (Time to First Byte), Fehlerraten und Antwortzeiten. Dies sind alles leicht quantifizierbare und direkte Indikatoren für die Benutzererfahrung, die eine Anwendung oder ein Dienst bietet, sowie Details zur Anwendungsleistung können auch in den zuvor erläuterten SLAs enthalten sein.
Reporting von KPIs
Mit einer verfeinerten Liste von KPIs, einem soliden Service Level Agreement und einer Überwachungsinfrastruktur verfügen Sie über die Daten, die Sie benötigen, um festzustellen, ob DevOps seine Versprechen einhält. Technische und nichttechnische Stakeholder im Unternehmen sind jedoch wahrscheinlich an den Metriken interessiert, und die Frage bleibt: Wie können Sie diese Daten effektiv präsentieren?
Glücklicherweise gibt es ein umfangreiches Ökosystem an Tools, mit denen der KPI-Status gemeldet und visualisiert werden kann. Ein wichtiges Ziel in DevOps ist es, die Arbeit “sichtbar” zu machen. Während es offensichtlich sein mag, dass Teams arbeiten, besteht die Schwierigkeit darin, die kontextbezogene Bedeutung und den Gesamtstatus von Arbeitspaketen zu bestimmen Methodiken aus der agilen Welt wie Kanban oder User stories haben sich als bewehrtes Mittel gezeigt.
Dashboard-Lösungen
Es stehen verschiedene Dashboard-Lösungen zur Verfügung, um die Quantifizierung von KPI-Metriken zu verbessern. Tools wie Datadog, Grafana und Tableau bieten umfassende Möglichkeiten für die Visualisierung einer Vielzahl von geschäftlichen und technischen Leistungsmetriken. Die meisten dieser Lösungen sind bereits in andere SaaS-Plattformen, -Tools und -APIs integriert.
Bei KPIs, die SLAs und die Anwendungsleistung betreffen, sollten Sie die benötigten Daten direkt von den Produktionssystemen erfassen. Sie können auch Visualisierungen zu Vorlaufzeit für Änderungen und Bereitstellungsgeschwindigkeiten erstellen. Auf diese Weise fassen Sie alle Zahlen in benutzerfreundliche Dashboards zusammen und können diese an die relevanten Stakeholder weitergeben.
Zusammenfassung
Die Praxis hat das Potenzial von DevOps und ihren Mehrwert für Unternehmen bereits aufgezeigt. Dazu müssen Sie jedoch zunächst den Mehrwert messbar machen. Sie sollten auch sicherstellen, dass alle Beteiligten die treibenden Faktoren leicht erkennen und verstehen können.
Damit DevOps jedoch eine Chance auf Erfolg hat, müssen sowohl technische als auch nichttechnische Teams koordiniert werden. Nichttechnische Stakeholder müssen sich einbringen und mit Softwareteams und -anbietern zusammenarbeiten, um aussagekräftige, realistische KPIs und SLAs zu erstellen. Technische Teams müssen Systeme und Prozesse entwerfen, die die Softwarebereitstellung optimieren und solide Tools für die Kommunikation des Mehrwerts bereitstellen, den DevOps für das Unternehmen bringt.