Überblick
DevOps-Metriken erfassen die Effektivität von DevOps-Praktiken, die sich auf Softwareentwicklung und IT-Operationen beziehen. DevOps soll Software schneller, zuverlässiger und stabiler bereitstellen. Der Schwerpunkt liegt auf Self Service-Tools, Automatisierung und Kommunikation, wobei die Entwicklungsproduktivität und -zufriedenheit im Vordergrund stehen.
Wenn Ihr Unternehmen in DevOps investiert hat, benötigen Sie einheitliche Metriken, um Fortschritte zu überwachen. Ihr bevorzugter Ansatz hängt davon ab, welche Aspekte für Ihr Unternehmen wichtig sind. Möchten Sie den Output Ihrer Software oder die Leistungsfähigkeit Ihrer Teams messen? In diesem Artikel werden 2 der am weitesten verbreiteten Frameworks untersucht: DORA (mit Schwerpunkt auf Software) und SPACE (mit Schwerpunkt auf Teams).
Vergleich der Metrik-Frameworks DORA und SPACE DevOps
DevOps konzentriert sich auf eine Kultur der kontinuierlichen Verbesserung. Eine wichtige strategische Entscheidung betrifft dabei die Festlegung der zu verbessernden Aspekte und der entsprechenden Messgrößen. Die beiden wichtigsten Frameworks für DevOps-Metriken sind DORA und SPACE.
Da das primäre Ziel von DevOps darin besteht, die Veröffentlichung funktionsfähiger Software zu beschleunigen, sollten Sie möglicherweise Messungen priorisieren, die mit diesem Ziel in Zusammenhang stehen. DORA-Metriken (kurz für DevOps Research and Assessment) eignen sich besonders gut für diesen Fall.
Zu DevOps gehört jedoch mehr als nur die Menge der ausgelieferten funktionierenden Software. Sie könnten sich auf Eigenschaften wie Teamzufriedenheit und Zusammenarbeit konzentrieren. SPACE (steht für Satisfaction, Performance, Activity, Communication and Collaboration sowie Efficiency) legt den Schwerpunkt auf teambezogene Metriken.
Diese unterschiedlichen Ansätze zur Bewertung von DevOps spiegeln unterschiedliche Auffassungen darüber wider, welche Aspekte wichtig sind. Sie spiegeln jedoch keine binäre Entscheidung wider. Beide Frameworks können sich gegenseitig ergänzen und verschiedene Aspekte Ihrer DevOps-Ziele messen.
DORA
Die DORA-Metriken sind das Ergebnis des DORA-Forschungsprogramms, das von Google Cloud unterstützt wird. Im Jahr 2020 hat das DORA-Programm die sogenannten „Four Keys“ (vier Schlüssel) zur Performance-Messung eines Softwareentwicklungsteams festgelegt:
- Bereitstellungshäufigkeit, also wie oft ein Unternehmen erfolgreich Software für die Produktion freigibt. Dazu muss das Team definieren, was als erfolgreiche Bereitstellung gilt. Nach Ihrer Entscheidung können Sie eine Berechnung durchführen, beispielsweise die durchschnittliche Anzahl von Tagen pro Woche mit mindestens einer erfolgreichen Bereitstellung.
- Einführungsdauer von Änderungen, also die Zeit, die ein Commit benötigt, um in die Produktion zu gelangen. Hierfür muss nachverfolgt werden, wann ein Commit und wann die Bereitstellung stattgefunden hat.
- Änderungsfehlerrate, also der Prozentsatz der Bereitstellungen, die zu einem Ausfall in der Produktion führen. Zur Berechnung müssen Sie wissen, wie viele Bereitstellungen Sie durchgeführt haben und wie viele Fehler oder Vorfälle gemeldet wurden, beispielsweise in einem Vorfallmangementsystem.
- Wiederherstellungszeit von Services, also die Zeitspanne, die benötigt wird, um sich von einem Produktionsausfall zu erholen. Sie müssen das Erstellungsdatum und das Lösungsdatum für jeden Vorfall nachverfolgen – diese Informationen können Sie aus einem Vorfallmanagementsystem abrufen.
Im folgenden Jahr wurde eine fünfte wichtige Metrik hinzugefügt:
- Zuverlässigkeit, die Verfügbarkeit, Latenz, Performance und Skalierbarkeit umfasst. Das DORA-Framework misst die Fähigkeit einer Organisation, ihre Zuverlässigkeitsziele zu erreichen oder zu übertreffen.
Der Schwerpunkt dieser Forschung und Metriken liegt auf besseren Geschäftsergebnissen. Teams können anhand von Daten aus ihren Software-Pipelines, die in einem Dashboard zusammengefasst werden, die Performance ihrer Software nachverfolgen und den Fortschritt langfristig überwachen. Das DORA-Framework vergibt außerdem Performance-Bewertungen (Elite, High, Medium und Low Performance) basierend auf den Werten der einzelnen Metriken.
Ein großer Vorteil des DORA-Frameworks besteht darin, dass es auf leicht verfügbaren Messungen von Tools basiert, die Softwareteams bereits verwenden, wie GitHub, GitLab und Vorfallmanagementsysteme. Sie müssen die Metriken in Dashboards importieren, doch die Daten sind bereits vorhanden.
SPACE
Mit dem SPACE-Framework für DevOps-Metriken sollen verschiedene Dimensionen der Produktivität erfasst werden. Ein Forschungsteam stellte SPACE in einem Artikel aus dem Jahr 2021 vor. Das Team argumentierte, dass die Arbeit von Engineers zu komplex sei, um sie in einer einzigen Dimension oder Metrik zu erfassen. Die Softwareentwicklung erfordert Kompromisse, und Teams benötigen einen ganzheitlichen Ansatz, der mehrere Komponenten ihrer Arbeit umfasst.
Das SPACE-Framework umfasst 5 verschiedene Messdimensionen:
- Zufriedenheit und Wohlbefinden, womit gemessen werden soll, wie Entwicklerinnen und Entwickler ihre Arbeit empfinden bzw. wie gesund und glücklich sie sind. Dies kann die Datenerhebung durch Umfragen zur Mitarbeiterzufriedenheit, zum Zugang der Entwicklungsteams zu den benötigten Tools und Ressourcen sowie zum Ausmaß der durch Stress am Arbeitsplatz verursachten Burnout-Symptome erfordern.
- Performance, oder das Ergebnis eines Systems oder Prozesses (im Unterschied zum Output). Dabei geht es um mehr als nur die Menge an Code oder die damit verbundenen geschäftlichen Auswirkungen. Die Performance wird anhand der Qualität – beispielsweise der Zuverlässigkeit des Codes oder der fortlaufenden Servicequalität – und der Auswirkungen gemessen – beispielsweise der Kundenzufriedenheit oder der Kundenakzeptanz und -bindung.
- Aktivität, die im Rahmen der Arbeitsausführung durchgeführte Maßnahmen oder Outputs erfasst. Sie können die Aktivität von Entwicklungsteams auf vielfältige Weise erfassen, beispielsweise anhand der Anzahl der Commits oder Releases. Im SPACE-Framework wird jedoch Wert darauf gelegt, diese Metriken nicht isoliert zu betrachten.
- Kommunikation und Zusammenarbeit, wobei in Kombination erfasst wird, wie Mitarbeitende und Teams Informationen austauschen und zusammenarbeiten. Zu den Metriken, die zur Messung von Kommunikation, Zusammenarbeit und Koordination beitragen können, gehören: Erfassung von Dokumenten und Fachwissen, Geschwindigkeit der Arbeitsintegration, Qualität der Arbeitsüberprüfungen, Netzwerkmetriken, die zeigen, wer miteinander verbunden ist, sowie die Einarbeitungszeit für neue Teammitglieder.
- Effizienz und Arbeitsfluss, womit gemessen wird, inwieweit Arbeit ohne größere Unterbrechungen oder Verzögerungen erledigt oder Fortschritte erzielt werden können. Mit SPACE lassen sich Effizienz und Arbeitsfluss anhand von Metriken messen, beispielsweise anhand der Anzahl der Übergaben in einem Prozess, der wahrgenommenen Fähigkeit, im Arbeitsfluss zu bleiben und Aufgaben zu erledigen, sowie Unterbrechungen und Zeitmessungen durch ein System.
Sie können die einzelnen SPACE-Metriken auf individueller, Team- oder Systemebene messen und nachverfolgen.
Durch das SPACE-Framework sollen Teams eine neue Sichtweise auf DevOps entwickeln, indem der Fokus von der reinen Output-Messung auf eine ganzheitliche Betrachtung der Produktivität verlagert wird. Dazu müssen möglicherweise neue Prozesse wie Umfragen eingeführt werden, um bisher nicht vorhandene Metriken wie die Zufriedenheit der Entwicklerinnen und Entwickler zu erfassen.
Aspekte bei der Auswahl eines Frameworks für DevOps-Metriken
Die von Ihnen ausgewählten DevOps-Metriken sollten Ihre spezifischen Prioritäten widergeben und auf Daten basieren, die Sie realistisch messen können. Einige Ihrer Metriken für den Erfolg von DevOps könnten sich auf Outputs konzentrieren, darunter die Geschwindigkeit und Qualität der bereitgestellten Software, wie im DORA-Framework. Alternativ könnten sich die Metriken auf die komplexen Kompromisse konzentrieren, die Softwareentwicklungsteams für mehr Produktivität eingehen müssen, wie etwa im SPACE-Framework.
Fragen, die Ihnen bei der Auswahl der zu messenden Faktoren helfen können, sind unter anderem:
- Wie lauten Ihre organisatorischen Ziele? Ihre Ziele könnten sich auf Verbesserungen hinsichtlich Geschwindigkeit, Zuverlässigkeit und Resilienz konzentrieren. Vielleicht interessieren Sie sich aber auch mehr für ein ganzheitliches Entwicklungserlebnis, einschließlich Entwicklungszufriedenheit, einfacher Zusammenarbeit und Effizienz.
- Welche Daten können Sie erfassen? Ihre CI/CD-Pipelines (Continuous Integration und Continuous Deployment) stellen möglicherweise die beste Datenquelle dazu dar, wie Softwareänderungen bereitgestellt werden. Möglicherweise müssen Sie jedoch auch Umfragen durchführen, um qualitative Daten zu erfassen.
- Funktionieren Ihre Automatisierungs- und Kommunikationssysteme effektiv? Zur Erfassung von DevOps-Metriken benötigen Sie Einblick in Engpässe, die Kommunikation zwischen den Teamfunktionen sowie in die Entscheidungsfindungsprozesse. Ein erster Schritt könnte sein, sicherzustellen, dass Ihre DevOps-Systeme wie vorgesehen funktionieren, bevor Sie zuverlässige Daten zu den gewünschten Messfaktoren erfassen können.
DevOps-Metriken aus Perspektive des Platform Engineering
DevOps hängt mit Platform Engineering zusammen, das sich mit internen Plattformen und Tools befasst, die DevOps Workflows unterstützen. Einige Metriken zur Bewertung der DevOps Performance stammen von Platform Engineering-Tools. Das Thema Entwicklungserlebnis (Developer Experience, DevEx) schlägt sich auch in den DevOps-Metriken nieder.
Platform Engineering soll das Entwicklungserlebnis verbessern, indem es die Entwicklungsteams entlastet. Dazu gehört die Bereitstellung einer internen Entwicklungsplattform (IDP), die eine Vielzahl gemeinsamer, wiederverwendbarer Tools und Funktionen für Entwicklungsteams bietet. Platform Engineers verantworten die Entwicklung und Wartung von Golden Paths, also gut dokumentierten und unterstützten Verfahren zum Entwickeln und Bereitstellen von Software gemäß den Standards des Unternehmens.
Die Entscheidungen, die die IDP, Golden Paths und andere damit verbundene Artefakte beeinflussen, stehen in engem Zusammenhang mit DevOps-Metriken. Bei der Einrichtung der Prozesse zur effektiven Umsetzung von DevOps legen Sie auch fest, welche Aspekte wichtig sind und welche Sie realistisch messen können. Beispielsweise bietet Ihnen die CI/CD-Pipeline Transparenz hinsichtlich Software-Commits und -Releases.
Wie Red Hat helfen kann
Red Hat bietet Plattformen, Tools und Consulting Services, mit denen Sie Ihre DevOps-Produktivität messen können.
Red Hat OpenShift
Die Plattform, auf der Sie Ihre Anwendungen ausführen, beeinflusst den Erfolg Ihrer Strategie für DevOps-Metriken. Red Hat® OpenShift® bietet eine einheitliche Plattform für Cloud-, On-Premise- und Edge-Umgebungen. Sie unterstützt CI/CD-Workflows über die Operatoren von Red Hat OpenShift GitOps und Red Hat OpenShift Pipelines. Zudem erhalten Sie mit Red Hat OpenShift Observability einen Überblick über die Performance und den Zustand Ihrer Anwendungen.
Red Hat Advanced Developer Suite
Im Einklang mit dem Fokus von DevOps auf gesteigerte Produktivität erweitert Red Hat Advanced Developer Suite die Funktionen von Red Hat OpenShift. Die Lösung bietet wichtige Komponenten, um die Produktivität von Entwicklungsteams zu steigern, die Sicherheit der Software-Lieferkette zu verbessern und die KI-gestützte Entwicklung zu unterstützen.
Red Hat Developer Hub
Red Hat Developer Hub ist in Red Hat Advanced Developer Suite enthalten und stellt ein internes Entwicklungsportal dar. Er fasst Entwicklungstools und -services – von Servicekatalogen und Dokumentationen bis zu CI/CD-Pipelines – visuell in einem einzigen, übersichtlichen Hub zusammen und verbessert so das Entwicklungserlebnis und die Produktivität des Unternehmens erheblich.
Red Hat Consulting
Die Technologieexperten von Red Hat Consulting können Ihre DevOps-Programme durch praktische Zusammenarbeit unterstützen. Mit Techniken wie Service Blueprints und metrikbasierter Prozessanalyse (Metrics-based Process Mapping, MBPM) können Consultants Sie dabei unterstützen, Ihre Workflows besser zu verstehen und zu messen.
Der Stand des Platform Engineerings im Zeitalter der KI
Diese Darstellung bietet einen umfassenden Überblick über die Umfrage „State of Platform Engineering in the Age of AI” (Stand des Platform Engineerings im Zeitalter der KI), die von Illuminas durchgeführt wurde. Darstellung ansehen