(Time-To-Market).
Selbst am Wochenende dachte er ĂŒber die Metriken nach: âUnd was bringt es, wenn ich die Zeit messe? Was bringt mir das?â
Was bringt es wirklich, die Zeit zu wissen? Angenommen, die Lieferung dauert 5 Tage. Und was dann? Ist das gut oder schlecht? Selbst wenn es schlecht ist, muss ich diese Zeit irgendwie verkĂŒrzen. Aber wie?
Diese Gedanken lieĂen ihn nicht los, aber die Lösung wollte nicht kommen.
Ivan wusste, dass er zum Kern der Sache gekommen war. Die unzĂ€hligen Metrikdiagramme, die er zuvor gesehen hatte, hatten ihn lĂ€ngst ĂŒberzeugt, dass der Standardansatz nicht funktionieren wird und dass es nichts bringen wird, einfach ein Diagramm zu erstellen (), bei dem keine Erkenntnisse gewonnen werden.
Was tun?âŠ
Eine Metrik ist wie ein gewöhnliches Holzlineal. Die Messungen, die damit gemacht werden, sagen nicht, warum das messbare Objekt genau die LĂ€nge hat, die es zeigt. Das Lineal zeigt einfach seine GröĂe an, nicht mehr. Es ist kein philosophischer Stein, sondern nur ein StĂŒck Holz zum Messen.
Der "Edelstahl-Rat" aus dem Lieblingsbuch seines Autors Harry Harrison sagte immer: Gedanken mĂŒssen das Gehirn bis zum Tiefpunkt erreichen und dort verweilen, deshalb beschloss Ivan nach ein paar fruchtlosen Tagen, sich einer anderen Aufgabe zu widmen...
Nach ein paar Tagen wurde Ivan beim Lesen eines Artikels ĂŒber Online-Shops plötzlich klar, dass die Höhe der Einnahmen, die ein Online-Shop erzielt, davon abhĂ€ngt, wie sich die Besucher der Webseite verhalten. Es sind eben diese Besucher/Kunden, die dem GeschĂ€ft ihr Geld geben und somit die Einnahmequelle darstellen. Die letztendliche Geldsumme, die der Shop erhĂ€lt, wird von VerĂ€nderungen im Kundenverhalten beeinflusst, nicht von etwas anderem.
Es stellte sich heraus, dass, um die messbare GröĂe zu Ă€ndern, man Einfluss auf diejenigen ausĂŒben musste, die diesen Wert formen. Um also die Einnahmen eines Online-Shops zu steigern, musste man das Verhalten der Kunden beeinflussen, und um die Lieferzeiten in DevOps zu verĂ€ndern, musste man Einfluss auf die Teams nehmen, die diese Zeiten "erstellen", d.h. DevOps in ihrer Arbeit nutzen.
Ivan erkannte, dass DevOps-Metriken nicht einfach Grafiken darstellen sollten. Sie sollten vielmehr ein Werkzeug zur Suche sein. âherausragendeâ Teams, die die endgĂŒltige Lieferzeit beeinflussen.
Keine Metrik wird je die Ursache zeigen, warum ein bestimmtes Team lange benötigt hat, um ein Distribution bereitzustellen, dachte Ivan, denn in Wirklichkeit kann es Millionen von GrĂŒnden geben, und viele davon sind möglicherweise nicht technischer, sondern organisatorischer Natur. Das heiĂt, das Höchste, was man von Metriken erwarten kann, ist eine Darstellung der Teams und ihrer Ergebnisse, und danach muss man trotzdem selbst zu diesen Teams gehen und herausfinden, was los war.
Auf der anderen Seite gab es in Ivans Firma einen Standard, der alle Teams verpflichtete, die Builds auf mehreren StĂ€nden zu ĂŒberprĂŒfen. Ein Team konnte nicht zum nĂ€chsten Stand ĂŒbergehen, bis der vorherige bestanden wurde. Man könnte sagen, wenn man den DevOps-Prozess als Abfolge von StĂ€nden betrachtet, könnten die Metriken die Zeit anzeigen, die die Teams an diesen StĂ€nden verbringen. Mit dem Wissen um den Stand und die Zeit des Teams könnte man konkreter mit ihnen ĂŒber die Ursachen sprechen.
Nach kurzem Zögern nahm Ivan den Telefonhörer ab und wÀhlte die Nummer einer Person, die sich bestens mit den Feinheiten von DevOps auskannte:
â Denis, sag mal, kann man irgendwie herausfinden, ob das Team einen bestimmten Stand erfolgreich absolviert hat?
â NatĂŒrlich. Unser Jenkins setzt eine Flagge, wenn der Build erfolgreich auf dem Stand deployt wurde (den Test bestanden hat).
â Super. Was ist eine Flagge?
â Das ist eine einfache Textdatei wie âstand_OKâ oder âstand_FAILâ, die angibt, ob der Build bestanden ist oder nicht. Hast du das verstanden?
â Prinzipiell ja. Wird sie im selben Ordner im Repository gespeichert, wo sich der Build befindet?
â Ja.
â Was passiert, wenn der Build den Stand nicht besteht? Muss ich einen neuen Build machen?
â Ja, genau.
â Alles klar, danke. Und noch eine Frage: Verstehe ich richtig, dass ich als Datum fĂŒr das Bestehen des Standes das Erstellungsdatum der Flagge verwenden kann?
â Absolut!
â Super!
Ermutigt legte Ivan den Hörer auf und realisierte, dass alles sich an seinen Platz fĂŒgte. Aufgrund des Erstellungsdatums der Build-Datei und den Erstellungsdaten der Flaggen konnte er genau bis zur Sekunde berechnen, wie viel Zeit die Teams fĂŒr jeden Stand aufwenden, und feststellen, wo sie die meiste Zeit verbringen.
âIndem wir verstehen, wo die meiste Zeit verloren geht, werden wir gezielt die Teams identifizieren, zu ihnen gehen und das Problem durchdringenâ. Ivan lĂ€chelte.
FĂŒr morgen hat er sich die Aufgabe gesetzt, die Architektur des sich abzeichnenden Systems zu skizzieren.
Die Fortsetzung folgtâŠ
Quelle: habr.com
