Share via


Optimieren des Workloadentwurfs mithilfe von Flows

In diesem Artikel wird die gezielte Optimierung von Workloads mithilfe von Flows behandelt. Verschiedene Komponenten einer Workload haben unterschiedliche Anforderungen und Ebenen von Bedeutung. Indem Sie eine Workload in Flows segmentieren, können Sie verschiedene Teile einer Workload priorisieren und die Workloadinvestitionen besser an der Wichtigkeit jedes Flows ausrichten.

Dieser Workloadoptimierungsprozess ist iterativ und umfasst drei wichtige Schritte: (1) definieren Sie die Flussstruktur innerhalb Ihrer Workload, (2) definieren Sie technische Anforderungen und (3) entwerfen Sie den Flow, um die Anforderungen zu erfüllen (siehe Abbildung 1).

Diagramm, das einen dreistufigen Prozess mit fünf Aktionen zeigt. Der erste Schritt besteht darin, den Flow zu definieren. Um den Flow zu definieren, müssen Sie die Voraussetzungen verstehen und den Flow dokumentieren. Der zweite Schritt besteht darin, die Flowanforderungen zu definieren. Zum Definieren von Flowanforderungen müssen Sie technische Ziele festlegen. Der dritte Schritt besteht darin, den Flow zu entwerfen. Um den Flow zu entwerfen, müssen Sie bewährte Methoden für den Flowentwurf befolgen und den Flow entwickeln und testen. Es gibt einen Pfeil von der Build- und Testaktion zurück zur ersten Aktion (Voraussetzungen verstehen), der Iterationen dieses Prozesses angibt.Abbildung 1: Der Prozess zum Optimieren von Workloads mithilfe von Flows.

Definieren des Flows

Bevor Sie Flowanforderungen definieren können, müssen Sie die Geschäftlichen Faktoren für den Flow verstehen. Die Voraussetzungen für die Definition eines Flows sind die Identifizierung des Geschäftsprozesses und des Anwendungsfalls, der unterstützt wird. Wenn Sie die Voraussetzungen kennen, können Sie mit der Dokumentation des Flows beginnen.

Grundlegendes zu den Voraussetzungen

Flows sind Sequenzen von Aktionen, die Workloadfunktionen unterstützen. Es gibt zwei primäre Arten von Flows: Benutzer- und Systemflows. Benutzerflows bestimmen Benutzerinteraktionen. Systemflows bestimmen die Kommunikation zwischen Workloadkomponenten. Flows unterstützen Geschäftsprozesse und Anwendungsfälle. Eine Workload besteht aus mehreren Anwendungsfällen. Sie müssen den Geschäftsprozess und den Anwendungsfall identifizieren, den der Flow unterstützt, bevor Sie einen Flow dokumentieren (siehe Abbildung 2).

Diagramm, das zwei übereinander gestapelte Felder zeigt. Das obere Feld stellt einen Geschäftsprozess mit Segmenten dar, die als Phase 1, Phase 2 und Phase n gekennzeichnet sind, was eine Abfolge von Phasen im Geschäftsprozess angibt. Von jeder Stufe zeigen drei vertikale Pfeile nach unten auf eine Reihe von drei Quadraten, die verschiedene Anwendungsfälle darstellen. Jedes Quadrat ist mit Anwendungsfall, Anwendungsfall 2 und Anwendungsfall n gekennzeichnet. Jedes Quadrat enthält ein eindeutiges Flussdiagramm mit den beschrifteten Flüssen Flow 1, Flow 2 und Flow n. Die Anwendungsfälle sind alle Teil einer einzelnen Workload. Jede Phase des Geschäftsprozesses ist mit einem bestimmten Workloadanwendungsfall verknüpft, und jeder Anwendungsfall verfügt über einen eigenen Flow.Abbildung 2: Die Beziehung zwischen Geschäftsprozessen, Anwendungsfällen, Flows und Workload.

Identifizieren des Geschäftsprozesses

Ein Geschäftsprozess ist eine Reihe von Aktionen (Phasen), die eine Geschäftsanforderung erfüllen. Flows bestimmen die Reihenfolge, die ein Benutzer oder daten benötigt, um jede Phase eines Geschäftsprozesses zu erreichen. Beispielsweise ist der Onlineverkauf von Produkten ein Geschäftsprozess. Die Phasen in diesem Geschäftsprozess können sein, das Produkt online aufzulisten, Bestellungen zu erhalten und das Produkt zu liefern.

Identifizieren des Anwendungsfalls

Ein Anwendungsfall definiert die funktionalen Anforderungen eines Flows. Sie müssen den Anwendungsfall identifizieren und verstehen, den ein Flow unterstützt, bevor Sie die technischen Anforderungen eines Flows festlegen. Jeder Anwendungsfall sollte eine Phase in einem Geschäftsprozess unterstützen (siehe Abbildung 2). Ein Anwendungsfall sollte die folgenden Attribute definieren:

  • Zweck: Formulieren Sie die Aufgaben oder Ziele klar, z. B. die Aktivierung von Online-Käufen. Diese Klarheit leitet den funktionalen Entwurf und setzt klare Ziele für das Flussdesign.

  • Kritikalität: Bewerten Sie die Wichtigkeit des Anwendungsfalls, von routine bis kritisch. Der einem Anwendungsfall zugewiesene Wert informiert über die Priorisierung und den Entwurf des Flows. Hochwertige Anwendungsfälle erfordern möglicherweise eine verbesserte Fehlerbehandlung, Leistungsoptimierung oder Überlegungen zur Benutzerfreundlichkeit.

  • Consumer: Identifizieren Sie, ob Benutzer (Kunden, Mitarbeiter) oder Systemkomponenten die primären Consumer sind. Diese Kategorisierung bestimmt, ob es sich um einen Benutzerflow oder einen Systemfluss handelt, und beeinflusst den Entwurf.

  • Ereignisse: Definieren Sie Trigger oder Bedingungen, die den Anwendungsfall initiieren und abschließen. Diese Ereignisse definieren die Grenzen des Flows.

  • Ausführung: Verstehen sie die Betriebshäufigkeit und Variabilität des Anwendungsfalls, um die Systemlast zu antizipieren. Sie müssen einen Flow entwerfen, um verschiedene Ausführungsszenarien zu verarbeiten.

  • Abhängigkeiten: Identifizieren Sie Abhängigkeiten mit anderen Anwendungsfällen für das Risikomanagement. Das Erkennen der Abhängigkeiten eines Anwendungsfalls hilft beim Entwerfen von Flows, die problemlos in andere Systemteile integriert werden. Sie müssen die Verfügbarkeit der erforderlichen Eingaben und die Kompatibilität der Ausgaben mit nachfolgenden Prozessen sicherstellen.

Dokumentieren des Flows

Verwenden Sie den Anwendungsfall, um den Flow zu dokumentieren. Sie sollten jede aktion, die Sie in einem Flow benötigen, umreißen oder zuordnen. Erfassen Sie Entscheidungskriterien und -wege. Identifizieren von Interaktionen mit anderen Anwendungsfällen Diese Gliederung dient als Blaupause für den Entwurf und die Verwaltung von Datenflüssen. Außerdem müssen Sie Geschäftsinformationen über den Flow erfassen. Stellen Sie sicher, dass Sie die folgenden Details in die Flowdokumentation aufnehmen:

  • Flussbeschreibung: Eine allgemeine Beschreibung des Flusses.

  • Geschäftsprozess: Der Geschäftsprozess, den der Flow unterstützt.

  • Prozessbesitzer: Die Person, die den Geschäftsprozess besitzt.

  • Projektbeteiligte: Die Personen, die Sie über den Flow status oder Änderungen informieren oder konsultieren sollten.

  • Eskalationspfade: Die Personen oder Gruppen, an die Sie sich wenden sollten, um Probleme zu beheben. Es ist eine Sequenz von Personen. Der Umfang der individuellen Verantwortung wächst mit jeder Person auf dem Weg.

  • Geschäftliche Auswirkungen: Die Bedeutung dieses Flows für das Unternehmen.

  • Bewertung der Wichtigkeit: Eine qualitative Bezeichnung, die die relative Wichtigkeit des Flows angibt.

Weitere Informationen finden Sie unter Flowbeispiele.

Definieren von Flowanforderungen

Verwenden Sie den Anwendungsfall, um die technischen Ziele des Flows festzulegen. Definieren Sie messbare Ziele für den Flow, die auf die fünf Säulen des Well-Architected Framework (WAF) ausgerichtet sind. Diese Säulen bieten einen Rahmen für die Festlegung technischer Ziele:

  • Zuverlässigkeitsziele: Bewerten Sie die Wichtigkeit jedes Flows, und legen Sie entsprechende Zuverlässigkeitsziele fest. Bestimmen Sie Leistungsschwellenwerte und legen Sie klare Vereinbarungen zum Servicelevel (SLAs) und Ziele (SLOs) fest. Flows mit höherer Wichtigkeit erfordern strengere Zuverlässigkeitsziele.

  • Sicherheitsziele: Analysieren Sie die Sicherheitsanforderungen jedes Flows basierend auf der Datensensitivität und benutzerbezogenen Aktivitäten. Implementieren und aktualisieren Sie Sicherheitsmaßnahmen, um diese Anforderungen zu erfüllen und gleichzeitig die Einhaltung gesetzlicher Standards sicherzustellen.

  • Kostenziele: Verstehen Sie die Anforderungen der einzelnen Datenflüsse für eine effektive Ressourcenzuordnung. Legen Sie Ziele fest, um Kosten und Leistung auszugleichen. Stellen Sie sicher, dass die Ressourcennutzung den Geschäftsprioritäten entspricht.

  • Operative Ziele: Definieren Sie Metriken für eine effektive Überwachung und Problembehandlung. Ziele sollten eine effiziente Ressourcennutzung und Ausrichtung an den Unternehmenszielen sicherstellen.

  • Leistungsziele: Die Leistungsziele basieren auf den anfänglichen Anforderungen jedes Flows. Stellen Sie sicher, dass wichtige Flows angemessene Ressourcen erhalten, und passen Sie die Ziele kontinuierlich an die sich ändernden Anforderungen an und verbessern Sie die Benutzererfahrung.

Entwerfen des Flows

Entwerfen Sie den Flow so, dass er die technischen Ziele erfüllt. Sie sollten sich mit bewährten Methoden für das Flowdesign vertraut machen, damit Sie das richtige Ergebnis erzielen. Erstellen und testen Sie den Flow. Durchlaufen Sie den Entwurf, bis er die von Ihnen festgelegten technischen Ziele erfüllt.

Befolgen bewährter Methoden für den Flowentwurf

Befolgen Sie beim Entwerfen eines Flows die bewährten Methoden für den Flowentwurf. Ein gut entworfener Flow weist die folgenden Attribute auf:

  • Bereichsbezogene: Identifizieren Sie unterschiedliche Anfangs- und Endpunkte für jeden Flow. Klare Grenzen helfen dabei, Benutzer- oder Systeminteraktionen zu optimieren.

  • Logische: Entwerfen Sie Ihre Flows mit einer logischen Reihenfolge von Schritten. Optimieren Sie für den effizientesten Pfad, und reduzieren Sie unnötige Schritte.

  • Verwaltbar: Entwerfen Sie Flows, die einfach zu aktualisieren und zu verwalten sind. Verwenden Sie modulare Komponenten, die Sie ändern können, ohne sich auf die gesamte Workload zu auswirken.

  • Definiert: Integrieren Sie bestimmte Bedingungen, die jeden Schritt in einem Flow auslösen oder leiten. Diese Genauigkeit stellt sicher, dass der Flow genau auf Benutzereingaben, Datenänderungen oder Systemzustände reagiert.

  • Zuverlässig: Erstellen Sie Fehlerbehandlungs- und Ausnahmepfade in Ihre Flows. Eine effektive Fehlerverwaltung verhindert Unterbrechungen und behält die Flussintegrität unter unerwarteten Umständen bei.

  • Skalierbar: Stellen Sie sicher, dass es unterschiedliche Lasten verarbeiten und sich an wachsende oder verkleinerte Benutzerdatenbanken oder Datenvolumen anpassen kann.

  • Sicher: Einbetten von Sicherheitsmaßnahmen in den Flow. Schützen Sie Daten- und Benutzerinteraktionen vor unbefugtem Zugriff und Bedrohungen.

  • Effizient: Planen Sie eine effiziente Nutzung von Ressourcen ohne Überbereitstellung. Berücksichtigen Sie die Kostenoptimierung.

  • Benutzerzentriert: Richten Sie für Benutzerflows das Flussdesign an den Erwartungen und Verhaltensweisen der Benutzer aus. Machen Sie es intuitiv, und reduzieren Sie die Lernkurve für neue Benutzer.

Entwickeln und Testen des Flows

Entwickeln Sie den Flow, um die technischen Ziele zu erfüllen, und testen Sie ihn, um sicherzustellen, dass er seine Anforderungen erfüllt. Dieser Prozess überprüft, ob der Flow wie vorgesehen funktioniert, seine Aufgaben effizient abwickelt und die technischen Ziele erfüllt. Hier finden Sie eine Anleitung zum Erstellen und Testen eines Flows:

  • Technologien auswählen: Wählen Sie Technologien aus, die hinsichtlich Zuverlässigkeit, Sicherheit und Leistung den festgelegten Zielen entsprechen.

  • Entwicklungsflow: Erstellen Sie den Flow gemäß dem Entwurf, wobei Sie die festgelegten Ziele im Auge behalten.

  • Testfluss: Führen Sie Tests durch, um sicherzustellen, dass der Flow die Ziele erfüllt. Iterieren Sie nach Bedarf, um Ziele zu erreichen.

  • Überwachen: Implementieren Sie Überwachungstools, um Ressourcennutzung und -kosten nachzuverfolgen.

Überprüfen Sie den Fluss regelmäßig anhand festgelegter Ziele und Branchenstandards. Verwenden Sie Feedback aus Überwachung und Überwachung, um den Ablauf zu verbessern. Passen Sie Ziele und Prozesse nach Bedarf an sich ändernden Geschäftsanforderungen oder technologischen Fortschritten an.

Optimieren von Flows

Wiederholen Sie den in diesem Artikel definierten Prozess während des gesamten Lebenszyklus des Flows. Verwenden Sie beim Durchlaufen des Flussentwurfs das Well-Architected Framework, um Flows aus der Perspektive der einzelnen Säulen zu optimieren:

Flowbeispiele

Im Folgenden finden Sie einige Flowbeispiele, mit denen Sie Ihre Flows entwerfen können. Die Beispiele verwenden die Referenzarchitektur für zuverlässige Web-App-Muster als Grundlage und zeigen die Dokumentation, die Sie für jeden Flow haben sollten.

Diagramm: Beispielablauf basierend auf Relecloud

Benutzerflow 1: Erstellen anstehender Konzerte

Ablaufbeschreibung: Callcentermitarbeiter verwenden die Anwendung, um ein bevorstehendes Konzert zu erstellen.

  • Geschäftsprozesse: Dieser Flow unterstützt den Ticketkaufprozess , ist aber asynchron, wodurch die Kritikalität verringert wird.

  • Prozessbesitzer: Director of Sales.

  • Stakeholder: Vertriebsabteilung, Konzertplanung und -betrieb, Plattformteam und Anwendungsteam.

  • Eskalationspfade: Anwendungsteam, Plattformteam, dann Vertriebsabteilung.

  • Geschäftliche Auswirkungen: Dieser Flow ist wichtig, um neue Konzerte auf Verkaufsplattformen verfügbar zu machen, was sich direkt auf die Standard Umsatzquelle des Unternehmens auswirkt. Wenn Callcentermitarbeiter aufgrund der Nichtverfügbarkeit dieses Flows keine Konzerte erstellen können, wirkt sich dies negativ auf den Umsatz und den Ruf des Unternehmens aus. Hochverfügbarkeit ist für diesen Prozess jedoch nicht unbedingt erforderlich, da Konzerte in der Regel wöchentlich im Voraus geplant werden. Der Vertrieb hat eine Anforderung von 95 % Verfügbarkeit für diesen Prozess angegeben und ist zu Wartungszwecken mit Ausfallzeiten außerhalb der Geschäftszeiten einverstanden.

  • Kritikalitätsbewertung: Niedrig.

Benutzerflow 2: Suchen von Konzerten

Ablaufbeschreibung: Callcentermitarbeiter verwenden die Anwendung, um nach anstehenden Konzerten zu suchen.

  • Geschäftsprozesse: Dieser Flow unterstützt den Ticketkaufprozess , aber Callcentermitarbeiter können sich entscheiden, alle Konzerte aufzulisten, wenn die Suchfunktion nicht verfügbar ist.

  • Prozessbesitzer: Die Abteilung benutzererfahrung (UX).

  • Stakeholder: Vertriebsabteilung, Plattformteam und Anwendungsteam.

  • Eskalationspfad: Anwendungsteam, Plattformteam, Vertriebsabteilungsleiter on-call.

  • Geschäftliche Auswirkungen: Dieser Flow ermöglicht es Callcenter-Mitarbeitern, schnell Konzerte zu finden und ist Teil des normalen Verkaufsprozesses. Die hohe Verfügbarkeit dieses Flows ist nicht entscheidend, da Mitarbeiter die Möglichkeit haben, Konzerte auch in Abwesenheit aufzulisten. Dies beeinträchtigt die Erfahrung des Callcentermitarbeiters und kann die Produktivität beeinträchtigen. Kunden könnten aufgrund erhöhter Wartezeiten oder Verzögerungen Frust erfahren. Die Vertriebsabteilung verlangte eine Verfügbarkeit von 99 % dieses Flows während der regulären Geschäftszeiten.

  • Bewertung der Kritikalität: Mittel.

Benutzerflow 3: Abrufen einer Liste der Konzerte

Ablaufbeschreibung: Callcentermitarbeiter verwenden die Anwendung, um eine Liste mit Konzerten abzurufen.

  • Geschäftsprozesse: Dieser Flow unterstützt direkt den Ticketkaufprozess .

  • Prozessbesitzer: Director of Platform.

  • Stakeholder: Vertriebsabteilung, Plattformteam, Datenteam.

  • Eskalationspfad: Datenteam, Datenteam-Bereitschaftstechniker, Bereitschaftsdiensttechniker des Plattformteams.

  • Geschäftliche Auswirkungen: Dieser Flow ist integraler Bestandteil des kritischen Pfads von umsatzgenerierenden Transaktionen für das Unternehmen. Hochverfügbarkeit ist unerlässlich, da Callcentermitarbeiter bei der Verarbeitung von Ticketkäufen auf diesen Ablauf angewiesen sind. In Anerkennung seiner Bedeutung schreibt das Unternehmen eine Betriebszeit von 99,9 % für diesen Flow vor, was auch längere Geschäftszeiten umfasst.

  • Kritikalitätsbewertung: Hoch.

Benutzerflow 4: Ticket kaufen

Ablaufbeschreibung: Callcentermitarbeiter verwenden die Anwendung (den Authentifizierungs- und Autorisierungsprozess ), um Im Auftrag von Relecloud-Kunden Tickets für ein bevorstehendes Konzert (die Liste anstehender Konzerte ) zu kaufen.

  • Geschäftsprozesse: Dieser Flow ist das Kernfeature und der Ablauf der Anwendung.

  • Prozessbesitzer: Director of Sales.

  • Stakeholder: Vertriebsabteilung und alle technischen Teams.

  • Eskalationspfad: Bereitschaftsdiensttechniker des Anwendungsteams, Bereitschaftstechniker des Plattformteams, Bereitschaftsdiensttechniker des Datenteams, Chief Operating Officer.

  • Geschäftliche Auswirkungen: Die hohe Verfügbarkeit dieses Flows ist von entscheidender Bedeutung, da kundenspezifische Ticketkäufe direkt möglich sind. Jede Fehlfunktion oder Nichtverfügbarkeit dieses Flows kann sich erheblich auf den Umsatz und den Ruf des Unternehmens auswirken. Das Unternehmen hat eine strenge Anforderung für diesen wichtigen Prozess festgelegt und erwartet eine Betriebszeit von 99,9 %, auch während längerer Geschäftszeiten.

  • Kritikalitätsbewertung: Hoch.

Benutzerflow 5: Authentifizierung und Autorisierung

Ablaufbeschreibung: Callcentermitarbeiter melden sich sicher bei der Anwendung an. Administratoren stellen ihnen die richtigen Rollen zum Kauf von Tickets im Auftrag von Relecloud-Kunden zur Verfügung.

  • Geschäftsprozesse: Dieser Flow unterstützt direkt den Ticketkaufprozess . Ohne diese Funktion können sich Callcentermitarbeiter nicht bei der Anwendung anmelden, um Tickets zu kaufen.

  • Prozessbesitzer: Plattformteam.

  • Stakeholder: Plattformteam, Betriebsteam und Vertriebsabteilung.

  • Eskalationspfad: Bereitschaftsdiensttechniker des Plattformteams, Chief Operating Officer.

  • Geschäftliche Auswirkungen: Dieser Flow erfordert Hochverfügbarkeit, da Callcentermitarbeiter keine Tickets kaufen können, wenn dieser Flow nicht ordnungsgemäß funktioniert. Wenn dieser Flow nicht verfügbar ist, wirkt sich dies direkt auf Umsatz und Reputation aus. Es ist ein wichtiger Prozess, für den das Unternehmen eine Betriebszeit von 99,9 % erwartet, auch während längerer Geschäftszeiten.

  • Kritikalitätsbewertung: Hoch.

Systemfluss: Sammeln von Telemetriedaten

Ablaufbeschreibung: Um Zustandsänderungen im Produktionssystem zu verstehen, sammeln und senden Webanwendungen und API-Instanzen Informationen, Fehler und Warnungen. Diese Daten helfen dem Betriebsteam bei der Erkennung, Problembehandlung und Profilerstellung.

  • Geschäftsprozesse: Dieser Flow unterstützt keine Geschäftsprozesse, stellt jedoch wichtige Daten für das Betriebsteam bereit.

  • Prozessbesitzer: Director of Operations.

  • Stakeholder: Betriebsteam, Plattformteam und Datenteam.

  • Eskalationspfad: Betriebsteam (24/7), Bereitschaftsdienst für Das Datenteam.

  • Geschäftliche Auswirkungen: Dieser Flow ist für die Überwachung und kontinuierliche Verbesserung des Unternehmens unerlässlich. Es muss so redundant und robust wie möglich sein. Das Betriebsteam ist für die schnelle Wiederherstellung dieses Flows nach einem Fehler verantwortlich, um zu vermeiden, dass wichtige Informationen und Warnungen fehlen. Wenn der Flow die erwartete Verfügbarkeit nicht erreicht, besteht die Gefahr, Dass Produktionsprobleme übersehen werden, was zu schwerwiegenden Folgen führen kann. Um dieses Risiko zu minimieren, strebt die Betriebsabteilung eine Betriebszeit von 99 % an, 24/7. Wartungsbedingte Ausfallzeiten müssen mindestens 48 Stunden im Voraus geplant werden.

  • Bewertung der Kritikalität: Mittel.