Zwei in einer Box – Konfigurationsmanagement

by 11. April 2023BI/Analytik0 Kommentare

Zwei in einer Box (wenn Sie können) und alle in Dokumentation (immer).

In einem IT-Kontext bezieht sich „zwei in einer Box“ auf zwei Server oder Komponenten, die so konzipiert sind, dass sie zusammenarbeiten, um Redundanz und erhöhte Zuverlässigkeit zu bieten. Dieser Aufbau kann sicherstellen, dass bei Ausfall einer Komponente die andere den Betrieb übernimmt und so die Servicekontinuität aufrechterhält. Das Ziel von „Two in a Box“ ist die Bereitstellung von Hochverfügbarkeit und Notfallwiederherstellung. Dies gilt auch für menschliche Rollen in einer Organisation; es wird jedoch selten implementiert.

Sehen wir uns ein relevantes Analytics-Beispiel an. Wahrscheinlich kennen wir alle eine Person in unserem Unternehmen oder unserer Organisation mit Namen, die die „Ansprechpartner“ für Analytics ist. Nach ihnen sind Berichte oder Dashboards benannt – Mikes Bericht oder Janes Dashboard. Sicher, es gibt andere Leute, die sich mit Analytics auskennen, aber das sind die wahren Champions, die zu wissen scheinen, wie man die schwierigsten Dinge erledigt und Fristen übertrifft. Das Problem ist, dass diese Menschen allein stehen. In vielen Fällen arbeiten sie unter Druck mit niemandem zusammen, da dies sie verlangsamen könnte, und hier beginnt das Problem. Wir denken nie, dass wir diese Person verlieren werden. Ich verzichte auf das typische „Sagen wir, sie werden von einem Bus überfahren“ oder auf ein Beispiel, das die aktuellen Arbeitsmarktchancen nutzt, und sage etwas Positives wie „Sie haben im Lotto gewonnen!“, denn wir alle sollten unseren Teil dazu beitragen, positiv zu sein heutzutage.

Die Geschichte
Der Montagmorgen kommt und unser Analytics-Experte und Champion MJ hat seinen Rücktritt eingereicht. MJ hat im Lotto gewonnen und das Land bereits sorglos verlassen. Das Team und die Leute, die MJ kennen, sind begeistert und eifersüchtig, aber die Arbeit muss gehen. Jetzt ist es soweit, den Wert und die Realität dessen, was MJ tat, zu verstehen. MJ war für die endgültige Veröffentlichung und Validierung der Analysen verantwortlich. Sie schienen immer in der Lage zu sein, die Effizienz zu verbessern oder diese schwierige Änderung vorzunehmen, bevor sie die Analysen an alle weitergaben. Niemand kümmerte sich wirklich darum, wie es gemacht wurde, und war sich sicher, dass es einfach passiert war, und MJ war ein Analytics-Rockstar, sodass ihm ein gewisses Maß an Autonomie verliehen wurde. Jetzt, wo das Team beginnt, die Stücke, die Anfragen, die täglichen Probleme, die Änderungswünsche aufzusammeln, sind sie ratlos und beginnen zu krabbeln. Berichte/Dashboards werden in unbekannten Zuständen gefunden; Einige Assets wurden über das Wochenende nicht aktualisiert, und wir wissen nicht warum; Die Leute fragen, was los ist und wann die Dinge behoben werden, Änderungen, von denen MJ sagte, dass sie fertig waren, werden nicht angezeigt, und wir haben keine Ahnung, warum. Das Team sieht schlecht aus. Es ist eine Katastrophe und jetzt hassen wir alle MJ.

Die Unterrichtsstunden
Es gibt einige einfache und offensichtliche Imbissbuden.

  1. Lassen Sie niemals eine Person alleine arbeiten. Klingt gut, aber in kleineren agilen Teams haben wir weder die Zeit noch die Leute, um dies zu verwirklichen. Menschen kommen und gehen, es gibt viele Aufgaben, also heißt es „Teile und Herrsche“ im Namen der Produktivität.
  2. Jeder muss sein Wissen teilen. Klingt auch gut, aber teilen wir mit der richtigen Person oder den richtigen Personen? Denken Sie daran, dass viele Lottogewinner Kollegen sind. Sitzungen zum Wissensaustausch nehmen auch Zeit von Aufgaben weg und die meisten Menschen investieren nur dann in Fähigkeiten und Wissen, wenn sie benötigt werden.

Was sind also einige echte Lösungen, die jeder implementieren und hinter denen er stehen kann?
Beginnen wir mit dem Konfigurationsmanagement. Wir verwenden dies als Überbegriff für mehrere ähnliche Themen.

  1. Änderungsmanagement: Der Prozess der strukturierten und systematischen Planung, Implementierung und Kontrolle von Änderungen an Softwaresystemen. Dieser Prozess soll sicherstellen, dass Änderungen auf kontrollierte und effiziente Weise (mit der Möglichkeit, sie rückgängig zu machen), mit minimaler Unterbrechung des bestehenden Systems und maximalem Nutzen für die Organisation vorgenommen werden.
  2. Projektmanagement: Die Planung, Organisation und Steuerung von Softwareentwicklungsprojekten, um sicherzustellen, dass sie pünktlich, innerhalb des Budgets und in der gewünschten Qualität abgeschlossen werden. Es umfasst die Koordination von Ressourcen, Aktivitäten und Aufgaben während des gesamten Lebenszyklus der Softwareentwicklung, um die Projektziele zu erreichen und das Softwareprodukt termingerecht zu liefern.
  3. Continuous Integration und Continuous Delivery (CI/CD): Der Prozess der Automatisierung des Erstellens, Testens und Bereitstellens von Software. Continuous Integration erfordert das regelmäßige Zusammenführen von Codeänderungen in einem gemeinsamen Repository und das Ausführen automatisierter Tests, um Fehler früh im Entwicklungsprozess zu erkennen. Continuous Delivery/Deployment umfasst die automatische Veröffentlichung getesteter und validierter Codeänderungen in der Produktion, was eine schnelle und häufige Veröffentlichung neuer Funktionen und Verbesserungen ermöglicht.
  4. Versionskontrolle: Der Prozess der Verwaltung von Änderungen am Quellcode und anderen Softwareartefakten im Laufe der Zeit mithilfe spezialisierter Softwaretools. Es ermöglicht Entwicklern, an einer Codebasis zusammenzuarbeiten, einen vollständigen Änderungsverlauf zu führen und mit neuen Funktionen zu experimentieren, ohne die Hauptcodebasis zu beeinträchtigen.

Alle oben genannten Punkte beziehen sich auf gute Softwareentwicklungspraktiken. Analysen, die das Geschäft vorantreiben und führen, verdienen nicht weniger, da sie für die Entscheidungsfindung unternehmenskritisch sind. Alle Analyse-Assets (ETL-Jobs, semantische Definitionen, Metrikdefinitionen, Berichte, Dashboards, Storys usw.) sind nur Codeschnipsel mit einer visuellen Oberfläche zum Entwerfen, und scheinbar geringfügige Änderungen können verheerende Auswirkungen auf den Betrieb haben.

Die Verwendung von Configuration Management deckt uns ab, um in einem guten Zustand zu bleiben. Assets sind versioniert, damit wir sehen können, was in ihrer Lebensdauer passiert ist, wir wissen, wer an was arbeitet, zusammen mit den erzielten Fortschritten und Zeitplänen, und wir wissen, dass die Produktion fortgesetzt wird. Was durch keinen reinen Prozess abgedeckt wird, ist die Wissensvermittlung und das Verstehen, warum die Dinge so sind, wie sie sind.

Jedes System, jede Datenbank und jedes Analysetool hat seine eigenen Macken. Dinge, die sie schnell oder langsam machen, Dinge, die sie dazu bringen, sich auf eine bestimmte Weise zu verhalten oder ein gewünschtes Ergebnis zu erzielen. Dies können Einstellungen auf System- oder globaler Ebene oder Dinge innerhalb des Asset-Designs sein, die dafür sorgen, dass sie so laufen, wie sie sollten. Das Problem ist, dass die meisten dieser Dinge im Laufe der Zeit gelernt werden und es nicht immer einen Ort gibt, um sie zu dokumentieren. Selbst wenn wir zu Cloud-Systemen wechseln, wo wir nicht mehr kontrollieren können, wie die Anwendung ausgeführt wird, und wir uns darauf verlassen, dass der Anbieter es so schnell wie möglich macht, wird die Optimierung der Definitionen in unseren Assets fortgesetzt, um genau das freizuschalten, wonach wir suchen. Dieses Wissen muss erfasst und geteilt werden, indem es anderen zur Verfügung gestellt wird. Dieses Wissen muss als Teil der Dokumentation von Assets gefordert und zu einem integralen Bestandteil der Versionskontrolle und des CI/CD-Check-In- und Genehmigungsprozesses und in einigen Fällen sogar als Teil einer Checkliste vor der Veröffentlichung von Dingen, die zu tun und zu lassen sind, gemacht werden Tun.

Es gibt keine magischen Antworten oder KI, um Abkürzungen in unseren Analyseprozessen oder deren Fehlen zu vertuschen. Unabhängig von der Größe des Teams, das die Daten und Analysen am Laufen hält, ist eine Investition in ein System zur Verfolgung von Änderungen, zur Versionierung aller Assets und zur Dokumentation des Entwicklungsprozesses und zur Erfassung von Wissen ein Muss. Investitionen in Prozesse und Zeit im Voraus sparen eine Menge Zeit, die später damit verschwendet wird, Dinge herauszufinden, um einen gesunden Zustand unserer Analysen aufrechtzuerhalten. Dinge passieren und es ist am besten, eine Versicherungspolice für MJs und andere Lotteriegewinner zu haben.

 

BI/AnalytikAndere
Bringen Sie Ordnung in Ihre Erkenntnisse: Ein Leitfaden für den Analytics-Frühjahrsputz

Bringen Sie Ordnung in Ihre Erkenntnisse: Ein Leitfaden für den Analytics-Frühjahrsputz

Bringen Sie Ordnung in Ihre Erkenntnisse. Ein Leitfaden für Analysen. Frühjahrsputz. Das neue Jahr beginnt mit einem Paukenschlag. Jahresabschlussberichte werden erstellt und geprüft, und dann legen alle einen einheitlichen Arbeitsplan fest. Wenn die Tage länger werden und die Bäume und Blumen blühen, ...

Weiterlesen

BI/AnalytikAndere
NY Style vs. Chicago Style Pizza: Eine köstliche Debatte

NY Style vs. Chicago Style Pizza: Eine köstliche Debatte

Wenn es darum geht, unsere Gelüste zu stillen, gibt es nur wenige Dinge, die mit der Freude eines kochend heißen Stücks Pizza mithalten können. Die Debatte zwischen Pizza nach New Yorker und Chicagoer Art löst seit Jahrzehnten leidenschaftliche Diskussionen aus. Jeder Stil hat seine eigenen einzigartigen Eigenschaften und treue Fans....

Weiterlesen

BI/Analytik
Analytics-Kataloge – ein aufstrebender Stern im Analytics-Ökosystem

Analytics-Kataloge – ein aufstrebender Stern im Analytics-Ökosystem

Einleitung Als Chief Technology Officer (CTO) bin ich immer auf der Suche nach neuen Technologien, die unsere Herangehensweise an die Analytik verändern. Eine dieser Technologien, die in den letzten Jahren meine Aufmerksamkeit erregt hat und äußerst vielversprechend ist, ist Analytics...

Weiterlesen