Erfassen, überwachen, wenden Sie DevOps Research and Assessment (DORA)-Metriken an und reagieren Sie auf deren Grundlage, um Probleme bei der Softwareentwicklung, bei Release-Prozessen und bei CI/CD-Workflows (Continuous Integration/Continuous Delivery) zu identifizieren.
Was sind dora metrics?
Basierend auf mehr als 10 Jahren Forschung im Rahmen des DevOps Research and Assessment (DORA)-Programms von Google Cloud sind dora metrics vier Schlüsselmetriken, die zur Anzeige der Geschwindigkeit und Stabilität der Softwareentwicklung verwendet werden. Diese Messwerte sind:
Bereitstellungshäufigkeit | Vorlaufzeit für Änderungen | Änderungsfehlerrate | Zeit bis zur Wiederherstellung des Dienstes |
Wie oft gibt eine Organisation erfolgreich in die Produktion frei? | Die Zeit, die ein Commit benötigt, um in die Produktion zu gelangen | Der Prozentsatz der Bereitstellungen, die zu einem Ausfall in der Produktion führen | Die Zeit, die ein Unternehmen benötigt, um sich von einem Produktionsausfall zu erholen |
DORA-Kennzahlen werden häufig in vier Leistungskategorien unterteilt: Low Performer, Medium Performer, High Performer und Elite Performer. Die Schwellenwerte für jede Kennzahl und Kategorie lauten:
Bereitstellungshäufigkeit | Vorlaufzeit für Änderungen | Änderungsfehlerrate | Zeit bis zur Wiederherstellung des Dienstes | |
Leistungsschwache | Weniger als einmal alle sechs Monate | Zwischen sechs Monaten und einem Monat | Von 60 % auf 46 % | Zwischen einem Monat und einer Woche |
Mittlere Darsteller | Von einmal alle sechs Monate bis einmal jeden Monat | Zwischen einem Monat und einer Woche | Von 46 % auf 30 % | Zwischen einer Woche und einem Tag |
Leistungsstarke | Von einmal im Monat bis einmal pro Woche | Zwischen einer Woche und einem Tag | Von 30 % bis 15 % | Weniger als ein Tag |
Elite-Performer | On-Demand (mehrere Bereitstellungen pro Tag) | Weniger als eine Stunde | Von 15 % bis 0 % | Weniger als eine Stunde |
dora metrics helfen DevOps-Teams, der technischen Leitung, Plattformentwicklungsteams und Entwicklererfahrungsteams (DevEx) dabei, Verbesserungsbereiche zu identifizieren, Ziele für Service-Level-Agreements (SLAs) festzulegen und teamübergreifend objektive Baselines für die Geschwindigkeit und Stabilität des Softwareentwicklungslebenszyklus (SDLC) ihrer Organisationen zu etablieren. Es ist wichtig zu bedenken, dass dora metrics nicht verwendet werden sollten, um bestimmte Leistungsmerkmale von Entwicklungs- und Entwicklungsteams zu messen, darunter Kundenzufriedenheit, Teamdynamik oder die Menge und Qualität der individuellen Arbeit.
Welche Vorteile bieten die dora metrics Ihrem Unternehmen?
Durch die Implementierung von dora metrics erhält Ihr Unternehmen Vergleichsmessungen, die dabei helfen können, Softwareentwicklungs-Workflows, Release-Prozesse und Continuous Integration/Continuous Delivery (CI/CD)-Pipelines zu identifizieren und zu verbessern. Betrachten Sie die folgenden Anwendungsfälle:
- Bewerten Sie den Fortschritt und Erfolg von Engineering-Initiativen . Durch die Konzentration auf Schlüsselmessungen bieten DORA-Kennzahlen einen objektiven Einblick in den Return on Investment (ROI) und die geschäftlichen Auswirkungen von Initiativen wie Infrastrukturmodernisierung und Änderungen an Entwicklungsplattformen.
- Identifizieren Sie Leistungstrends in Ihrem SDLC und verbessern Sie die Entwicklererfahrung . dora metrics helfen DevOps-Teams, Probleme mit Code-Repositories, Staging- und Qualitätssicherungsaufgaben (QA), CI/CD-Pipelines und anderen Tools und Prozessen zur Softwarebereitstellung zu identifizieren. Messungen in diesen Phasen können Ihnen helfen, Engpässe bei der Softwarebereitstellung zu erkennen. Metriken, die Änderungsfehlerraten und Vorlaufzeiten für Änderungen untersuchen, bieten Teams einen Fahrplan zur Lösung von Problemen und Verbesserung der Reaktionszeiten der Entwickler.
- Identifizieren Sie die besten und schlechtesten Praktiken in den Entwicklungsteams . dora metrics bieten quantifizierbare Messungen, die in Ihrer gesamten Entwicklungsorganisation angewendet werden können. Teams, die schnellere Ergebnisse erzielen, qualitativ hochwertige Änderungen mit weniger Fehlerraten veröffentlichen und die Wiederherstellungszeiten für Dienste verkürzen, weisen bessere Leistungszahlen auf. Solche Messungen können auch verwendet werden, um Praktiken in leistungsstarken Teams zu identifizieren, damit Sie sie anderen Teams empfehlen können.
Wie werden dora metrics berechnet?
Die zur Implementierung und Überprüfung von DORA-Kennzahlen erforderlichen Schritte sind von Organisation zu Organisation unterschiedlich. Die folgenden Erläuterungen können Teams dabei helfen, zu verstehen, wie diese Kennzahlen berechnet werden:
- Die Bereitstellungshäufigkeit prüft, wann Bereitstellungsdienste gestartet und beendet wurden. Um die Häufigkeit allgemein zu berechnen, überprüfen Sie die Anzahl der Bereitstellungsereignisse von CI/CD und Bereitstellungsinfrastruktur-Tools, um die Bereitstellungsrate zu bestimmen. Jede Organisation muss ihre eigene Definition dafür finden, was eine Bereitstellung erfolgreich macht oder nicht.
- Die Vorlaufzeit für Änderungen oder die Änderungsvorlaufzeit misst Bereitstellungsereignisse in Pipelines, z. B. Codemigrationen von der Entwicklung über die Bereitstellung zur Produktion, das Ausführen geplanter Skripts und Benutzer- oder Datenänderungen. Um dies zu berechnen, bestimmen Sie: 1) wann Commits auftreten und 2) wann Bereitstellungen erfolgen, die ein bestimmtes Commit enthalten. Jede Bereitstellung sollte eine Liste aller Änderungen enthalten, wobei jede Änderung einer SHA-Kennung (Secure Hash Algorithm) zugeordnet wird (eine eindeutige ID für jedes Commit). Durch Hinzufügen dieser Liste zur Änderungstabelle und Vergleichen der Zeitstempel erhalten Sie die Vorlaufzeit. Diese Metrik kann auch auf andere Weise berechnet werden, z. B. durch Überprüfen der Pull Request-Zeit (PR) und der CI/CD-Pipelinedauer.
- Die Änderungsfehlerrate überwacht Vorfallmeldungen, Bereitstellungsfehler, Bereitstellungsrollbacks und Anwendungsfehlerraten. Um die Änderungsfehlerrate zu berechnen, ermitteln Sie: 1) die Gesamtzahl der versuchten Bereitstellungen und 2) Bereitstellungen, die in der Produktion fehlgeschlagen sind. Vorfälle sind eine primäre Möglichkeit, Fehler in der Produktion zu verstehen. Jeder Vorfall sollte einer Bereitstellung zugeordnet werden (anhand seiner eindeutigen Kennung). Dadurch kann ein Prozentsatz der Bereitstellungen berechnet werden, bei denen mindestens ein Vorfall aufgetreten ist.
- Die Wiederherstellungszeit misst das Zurücksetzen von fehlerhaftem Code und die Wiederherstellung von Daten/Diensten in einen Zustand vorheriger Verfügbarkeit. Um die mittlere Wiederherstellungszeit zu berechnen, suchen Sie den Zeitstempel jedes Vorfalls während einer Bereitstellung und vergleichen Sie den Zeitstempel, wann der Vorfall behoben wurde. Wie bei den anderen dora metrics gibt es keine konkrete oder eindeutige Methode, um diese Berechnung durchzuführen. Teams könnten sich auch die mittlere Reparaturzeit ansehen, die die Zeit misst, die benötigt wird, um die Auswirkungen eines Bereitstellungsfehlers auf den Kunden zu mildern.
Je nach Lösung sollten Teams dora metrics auf einem dedizierten Dashboard anzeigen und visualisieren und/oder die Metriken über andere Workflows oder Tools integrieren können. Dashboards sollten anpassbar sein, um Informationen pro Team, Service, Repository und Umgebung anzuzeigen und außerdem nach Zeiträumen sortierbar zu sein.
Was sind die Anwendungsfälle für dora metrics?
Über DevOps hinaus sind dora metrics in verschiedenen Organisationen und Infrastrukturen praktisch einsetzbar. Betrachten Sie die folgenden Anwendungsfälle:
- Für die leitende technische Leitung : DORA-Kennzahlen können der Leitung dabei helfen, die allgemeine Gesundheit einer technischen Organisation und die Leistung ihrer Teams zu quantifizieren und zu überprüfen und außerdem den ROI von Initiativen zu verfolgen.
- Für technische Leiter und Manager : DORA-Kennzahlen können leistungsstarke Teams identifizieren, Best Practices propagieren und bei deren Implementierung helfen sowie den Fortschritt bei der Implementierung von von der Unternehmensleitung vorgeschlagenen Initiativen objektiv begründen.
- Für die Plattformentwicklung und Site Reliability Engineering (SRE) : dora metrics können verwendet werden, um Engpässe im SDLC zu identifizieren, höhere Ausfallraten und längere Wiederherstellungszeiten zu reduzieren und Verbesserungsbereiche vorzuschlagen oder zu empfehlen.
Welche Herausforderungen gibt es bei der Implementierung von dora metrics?
Die Implementierung von dora metrics erfordert Planung und Überlegung. Insbesondere das Sammeln von Daten ist ein zweifacher Aufwand.
Zunächst müssen die Teams Daten für die Tools im gesamten SDLC sammeln. DevOps- und Entwicklungsteams müssen Quellcodeverwaltung, CI/CD-Pipelineverwaltung, Serviceverwaltung, Infrastruktur- und Anwendungsbeobachtung sowie Vorfallmanagement berücksichtigen. Obwohl die Berechnung der DORA-Kennzahlen intern durchgeführt werden kann, können die hohe Anzahl der erforderlichen Integrationen, die Vollzeitäquivalente (FTE) und die damit verbundenen Kosten sowie eine sich ständig ändernde Infrastruktur oder ein sich ständig ändernder Technologie-Stack solche Bemühungen zeitaufwändig, ressourcenintensiv und unproduktiv machen. Eine auf DORA-Kennzahlen basierende Lösung, die von der von Ihrem Unternehmen gewählten Beobachtungsplattform bereitgestellt wird, kann helfen, diese Hindernisse zu beseitigen James Bond.
Zweitens müssen die Teams die richtige Aggregationsebene bestimmen. Organisationen können dora metrics aus verschiedenen Perspektiven betrachten, sei es serviceweit, teamweit, abteilungsweit oder unternehmensweit. Jede Aggregationsebene ist eine eigenständige Aufgabe und erhöht die Komplexität. Darüber hinaus haben Entwicklungsteams, die mit der Implementierung von dora metrics beauftragt sind, möglicherweise keinen Zugriff auf alle Schichten einer Infrastruktur oder die richtigen Zugriffsebenen, um dora metrics vollständig melden zu können.
Überlegungen bei der Auswahl einer auf dora metrics basierenden Lösung
Berücksichtigen Sie bei der Evaluierung einer Standardlösung (OTS) oder einer Software-as-a-Service-Lösung (SaaS) zur Implementierung von dora metrics die folgenden Funktionen und Fallstricke:
- Bietet die Lösung Erklärungen, Aufschlüsselungen und Drilldowns der für jede DORA-Metrik erstellten Daten? Jedes ausgewählte Tool muss nicht nur in der Lage sein, die Daten anzuzeigen, sondern auch Mechanismen bereitstellen, um festzustellen, wie die Daten erfasst wurden und wie der Verlauf dieser Datenerfassung aussieht. Eine Lösung könnte beispielsweise einen Drilldown zu aktuellen Vorfällen oder CI-Pipeline-Ausführungen bereitstellen, um Bereitstellungsengpässe besser zu verstehen.
- Bietet die Lösung anpassbare Ansichten? Entwicklungsteams sollten die Anpassbarkeit ihrer Ansichten prüfen und Flexibilität bei der Darstellung von Kennzahlen in einem klaren, leicht verständlichen Format nach Team, Abteilung, Zeitbereich, Projekt usw. haben.
- Bietet die Lösung umsetzbare Schritte, auf die die Entwicklungsteams reagieren können? Der Schlüssel zu dora metrics liegt nicht nur in der Berichterstattung, sondern auch in der Interpretation von Ergebnissen, um umsetzbare Elemente für Änderungen zu erstellen, Basislinien zu definieren, Verbesserungen zu planen und Erkenntnisse abzuleiten.
Welche Praktiken sollten bei dora metrics vermieden werden?
dora metrics können verwendet werden, um Geschwindigkeit, Leistung, Änderungsratenfehler und Wiederherstellungszeit zu vergleichen. Sie sollten jedoch nicht als Bewertungstool verwendet werden, um die Leistung einzelner Ingenieure in Ihrem Unternehmen zu messen. dora metrics können falsch interpretiert werden, insbesondere wenn es um die Produktivität einzelner Entwickler geht, die auf Metriken wie der Anzahl geschriebener Codezeilen, der Anzahl geöffneter Aktionselemente, der Anzahl der Codebearbeitungen usw. basiert.
Erfahren Sie mehr
Datadog und seine Produktreihe streben danach, kontextbezogene Interpretationen von dora metrics zu entwickeln, um Teams dabei zu helfen, Werte wie Kundenzufriedenheit und mehr zu messen. Datadogs Unterstützung für dora metrics befindet sich derzeit in der privaten Betaphase.
Lesen Sie in unserer Dokumentation mehr darüber, wie Datadog daran arbeitet, dora metrics in seiner Suite von Überwachungslösungen zu implementieren, zu erfassen, zu analysieren und zu überprüfen .