Freigeben über


Optimieren des Workloaddesigns mithilfe von Flüssen

In diesem Artikel wird die gezielte Optimierung von Workloads mithilfe von Flüssen behandelt. Verschiedene Komponenten einer Workload weisen unterschiedliche Anforderungen und Wichtigkeitsstufen auf. Indem Sie eine Workload in Flüsse segmentieren, können Sie verschiedene Teile einer Workload priorisieren und die Workloadinvestitionen besser an die Wichtigkeit der einzelnen Abläufe ausrichten.

Dieser Workload-Optimierungsprozess ist iterativ und umfasst drei wichtige Schritte: (1) definieren die Flussstruktur innerhalb Ihrer Workload, (2) definieren technische Anforderungen und (3) entwerfen den Fluss, 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 Fluss zu definieren. Um den Fluss zu definieren, müssen Sie die Voraussetzungen verstehen und den Fluss dokumentieren. Der zweite Schritt besteht darin, die Flussanforderungen zu definieren. Um Flussanforderungen zu definieren, müssen Sie technische Ziele festlegen. Der dritte Schritt besteht darin, den Fluss zu entwerfen. Um den Fluss zu entwerfen, müssen Sie bewährte Methoden für den Flussentwurf befolgen und den Fluss entwickeln und testen. Es gibt einen Pfeil von der Build- und Testaktion zurück zur ersten Aktion (grundlegende Voraussetzungen), die Iterationen dieses Prozesses angibt.Abbildung 1: Der Prozess zum Optimieren von Workloads mithilfe von Flüssen.

Definieren des Flusses

Bevor Sie Ablaufanforderungen definieren können, müssen Sie die Geschäftstreiber für den Fluss verstehen. Die Voraussetzungen für die Definition eines Flusses sind die Identifizierung des Geschäftsprozesses und des Anwendungsfalles, der unterstützt wird. Wenn Sie die Voraussetzungen verstehen, können Sie mit der Dokumentation des Flusses beginnen.

Verstehen Sie die Voraussetzungen

Flüsse sind Sequenzen von Aktionen, die Workloadfunktionen unterstützen. Es gibt zwei primäre Arten von Flüssen: Benutzerflüsse und Systemflüsse. Benutzerabläufe bestimmen Benutzerinteraktionen. Systemflüsse 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 Fluss vor dem Dokumentieren eines Flusses unterstützt (siehe Abbildung 2).

Diagramm mit zwei Feldern, die übereinander gestapelt sind. Das obere Feld stellt einen Geschäftsprozess mit Segmenten dar, die als Phase 1, Phase 2 und Phase n gekennzeichnet sind und eine Abfolge von Phasen im Geschäftsprozess angibt. Von jeder Stufe zeigen drei vertikale Pfeile nach unten auf eine Zeile mit drei Quadraten, die unterschiedliche Anwendungsfälle darstellen. Jedes Quadrat ist mit Abbildung 2: Die Beziehung zwischen Geschäftsprozessen, Anwendungsfällen, Flüssen und Arbeitsauslastung.

Identifizieren des Geschäftsprozesses

Ein Geschäftsprozess ist eine Reihe von Aktionen (Stufen), die eine Geschäftsanforderung erfüllen. Flüsse bestimmen die Reihenfolge, die ein Benutzer oder daten benötigt, um jede Phase eines Geschäftsprozesses auszuführen. Beispielsweise ist der Verkauf von Produkten online ein Geschäftsprozess. Die Phasen dieses Geschäftsprozesses können das Produkt online auflisten, Bestellungen erhalten und das Produkt liefern.

Identifizieren des Anwendungsfalls

Ein Anwendungsfall definiert die funktionalen Anforderungen eines Flusses. Sie müssen den Anwendungsfall identifizieren und verstehen, den ein Fluss unterstützt, bevor Sie die technischen Anforderungen eines Flusses 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. online-Einkäufe zu ermöglichen. Diese Klarheit führt zum funktionalen Design und legt klare Ziele für das Flussdesign fest.

  • Kritischität: Bewerten Sie die Bedeutung des Anwendungsfalls, von Routine bis kritisch. Der einem Anwendungsfall zugewiesene Wert informiert die Priorisierung und den Entwurf des Flusses. Besonders hochwertige Anwendungsfälle erfordern möglicherweise eine verbesserte Fehlerbehandlung, Leistungsoptimierung oder Überlegungen zur Benutzererfahrung.

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

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

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

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

Dokumentieren des Flusses

Verwenden Sie den Anwendungsfall, um den Fluss zu dokumentieren. Sie sollten jede aktion, die Sie in einem Fluss benötigen, skizzieren oder zuordnen. Erfassen Sie Entscheidungskriterien und Pfade. Identifizieren sie Interaktionen mit anderen Anwendungsfällen. Diese Gliederung dient als Blaupause für die Flussgestaltung und -verwaltung. Außerdem müssen Sie Geschäftsinformationen zum Fluss erfassen. Stellen Sie sicher, dass Sie die folgenden Details in die Ablaufdokumentation einschließen:

  • Ablaufbeschreibung: Eine allgemeine Beschreibung des Flusses.

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

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

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

  • Eskalationspfade: Die Personen oder Gruppen, die Sie kontaktieren sollten, um Probleme zu lösen. Es ist eine Abfolge von Personen. Der Umfang der individuellen Verantwortung wächst mit jeder Person auf dem Weg.

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

  • Bewertung der Kritischen Qualität: Eine qualitative Bezeichnung, die die relative Wichtigkeit des Flusses angibt.

Weitere Informationen finden Sie unter Flussbeispiele.

Definieren von Flussanforderungen

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

  • Zuverlässigkeitsziele: Bewerten Sie die Wichtigkeit jedes Flusses und legen Sie Zuverlässigkeitsziele entsprechend fest. Legen Sie Leistungsschwellenwerte fest und richten Sie klare Vereinbarungen (SLAs) und Ziele (SLOs) ein. Höhere Kritische Abläufe erfordern strengere Zuverlässigkeitsziele.

  • Sicherheitsziele: Analysieren Sie die Sicherheitsanforderungen jedes Flusses basierend auf Datenempfindlichkeit und Benutzeraktivitäten. Implementieren und kontinuierlich aktualisieren Sie Sicherheitsmaßnahmen, um diese Anforderungen zu erfüllen und gleichzeitig die Einhaltung gesetzlicher Standards sicherzustellen.

  • Kostenziele: Verstehen der Anforderungen jedes Flusses für eine effektive Ressourcenzuordnung. Legen Sie Ziele fest, um Die Kosten mit der Leistung auszugleichen. Stellen Sie sicher, dass die Ressourcennutzung den geschäftlichen Prioritäten entspricht.

  • Operative Ziele: Definieren Sie Metriken für effektive Überwachung und Problembehandlung. Ziele sollten eine effiziente Ressourcennutzung und -ausrichtung mit den Organisationszielen sicherstellen.

  • Leistungsziele: Basisleistungsziele für die anfänglichen Anforderungen jedes Flusses. Stellen Sie sicher, dass wichtige Flüsse angemessene Ressourcen erhalten und ziele kontinuierlich anpassen, um sich entwickelnde Anforderungen zu erfüllen und die Benutzererfahrung zu verbessern.

Den Flow entwerfen

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

Bewährte Methoden für den Ablaufentwurf befolgen

Befolgen Sie beim Entwerfen eines Flusses bewährte Methoden für den Flussentwurf. Ein gut gestalteter Fluss weist die folgenden Attribute auf:

  • Bereich: Identifizieren Sie unterschiedliche Anfangs- und Endpunkte für jeden Fluss. Durch klare Grenzen können Benutzer- oder Systeminteraktionen optimiert werden.

  • Logisch: Entwerfen Sie Ihre Flüsse mit einer logischen Reihenfolge von Schritten. Optimieren Sie den effizientesten Pfad, und reduzieren Sie unnötige Schritte.

  • Wartungsfähig: Designabläufe, die einfach zu aktualisieren und zu verwalten sind. Verwenden Sie modulare Komponenten, die Sie ändern können, ohne die gesamte Arbeitsauslastung zu beeinträchtigen.

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

  • Zuverlässig: Erstellen Sie Fehlerbehandlungs- und Ausnahmepfade in Ihren Flüssen. Effektive Fehlerverwaltung verhindert Unterbrechungen und hält die Ablaufintegrität unter unerwarteten Umständen aufrecht.

  • Skalierbar: Stellen Sie sicher, dass sie unterschiedliche Lasten verarbeiten und sich an wachsende oder verkleinerte Benutzerbasen oder Datenvolumes anpassen können.

  • Sicher: Einbetten von Sicherheitsmaßnahmen innerhalb des Flusses. Schützen Sie Daten- und Benutzerinteraktionen vor unbefugtem Zugriff und Bedrohungen.

  • Effizient: Planen Sie die effiziente Nutzung von Ressourcen ohne Überbereitstellung. Beachten Sie die Kostenoptimierung.

  • Benutzerorientiert: Richten Sie für Benutzerabläufe das Flussdesign an die Erwartungen und Verhaltensweisen der Benutzer aus. Machen Sie es intuitiv und reduzieren Sie die Lernkurve für neue Benutzer.

Entwickeln und Testen des Flusses

Entwickeln Sie den Fluss, um technische Ziele zu erfüllen, und testen Sie ihn, um sicherzustellen, dass er seine Anforderungen erfüllt. Dieser Prozess überprüft, ob der Fluss wie beabsichtigt funktioniert, seine Aufgaben effizient verarbeitet und die technischen Ziele erfüllt. Hier finden Sie Anleitungen zum Erstellen und Testen eines Flusses:

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

  • Entwicklungsfluss: Erstellen Sie den Fluss entsprechend dem Entwurf, und beachten Sie dabei die festgelegten Ziele.

  • Testfluss: Führen Sie Tests durch, um sicherzustellen, dass der Fluss Ziele erfüllt. Iterate as needed to meet targets.

  • Überwachen: Implementieren Sie Überwachungstools, um den Ressourceneinsatz und die Kosten nachzuverfolgen.

Überprüfen Sie in regelmäßigen Abständen den Ablauf mit festgelegten Zielen und Branchenstandards. Verwenden Sie Feedback von Überwachung und Überwachung, um den Fluss zu verbessern. Passen Sie Ziele und Prozesse nach Bedarf an sich ändernden Geschäftlichen Bedürfnissen oder technologischen Fortschritten an.

Optimieren von Flüssen

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

Flussbeispiele

Hier sind ein paar Flussbeispiele, die Ihnen beim Entwerfen Ihrer Flüsse helfen. In den Beispielen wird die zuverlässige Referenzarchitektur des Web-App-Musters als Grundlage verwendet und die Dokumentation gezeigt, die Sie für jeden Fluss haben sollten.

Diagramm, das einen Beispielfluss basierend auf Relecloud zeigt.

Benutzerfluss 1: Erstellen anstehender Konzerte

Ablaufbeschreibung: Call-Center-Mitarbeiter verwenden die Anwendung, um ein bevorstehendes Konzert zu erstellen.

  • Geschäftsprozesse: Dieser Fluss unterstützt den Kaufticketprozess , aber es ist asynchron und verringert seine Kritischen.

  • Prozessbesitzer: Director of Sales.

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

  • Eskalationspfade: Anwendungsteam, Plattformteam und Vertriebsabteilung.

  • Geschäftliche Auswirkungen: Dieser Fluss ist wichtig, um neue Konzerte auf Verkaufsplattformen verfügbar zu machen, die den Hauptumsatzstrom des Unternehmens direkt beeinflussen. Wenn Call-Center-Mitarbeiter aufgrund der Nichtverfügbarkeit dieses Flusses keine Konzerte erstellen können, wirkt sich dies negativ sowohl auf den Umsatz als auch auf den Ruf des Unternehmens aus. Eine hohe Verfügbarkeit ist jedoch für diesen Prozess nicht unerlässlich, da Konzerte in der Regel wöchentlich im Voraus geplant werden. Die Vertriebsabteilung hat eine Anforderung von 95 % Verfügbarkeit für diesen Prozess angegeben und kann zu Wartungszwecken außerhalb der Geschäftszeiten ausfallen.

  • Bewertung der Kritischität: Niedrig.

Benutzerfluss 2: Konzerte durchsuchen

Ablaufbeschreibung: Mitarbeiter des Callcenters verwenden die Anwendung, um nach anstehenden Konzerten zu suchen.

  • Geschäftsprozesse: Dieser Fluss unterstützt den Kaufticketprozess , aber Call-Center-Mitarbeiter können sich entscheiden, alle Konzerte auflisten, wenn die Suchfunktion nicht verfügbar ist.

  • Prozessbesitzer: Die UX-Abteilung (User Experience).

  • Projektbeteiligte: Vertriebsabteilung, Plattformteam und Anwendungsteam.

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

  • Geschäftliche Auswirkungen: Mit diesem Fluss können Call-Center-Mitarbeiter schnell Konzerte finden und teil des normalen Vertriebsprozesses sein. Eine hohe Verfügbarkeit dieses Flusses ist nicht wichtig, da Mitarbeiter die Möglichkeit haben, Auch in Abwesenheit Konzerte auflisten zu können. Dadurch wird die Erfahrung des Mitarbeiters des Callcenters beeinträchtigt und sich auf die Produktivität auswirken. Kunden könnten aufgrund erhöhter Wartezeiten oder Verzögerungen Frust erleben. Die Vertriebsabteilung hat während der regulären Geschäftszeiten eine Verfügbarkeit von 99 % dieses Flusses angefordert.

  • Bewertung der Kritischen Bewertung: Mittel.

Benutzerfluss 3: Abrufen einer Liste der Konzerte

Ablaufbeschreibung: Call-Center-Mitarbeiter verwenden die Anwendung, um eine Liste der Konzerte zu erhalten.

  • Geschäftsprozesse: Dieser Ablauf unterstützt den Kaufticketprozess direkt.

  • Prozessbesitzer: Director der Plattform.

  • Projektbeteiligte: Vertriebsabteilung, Plattformteam, Datenteam.

  • Eskalationspfad: Datenteam, Datenteam-On-Call-Techniker, Plattformteam-On-Call-Techniker.

  • Geschäftswirkung: Dieser Fluss ist integraler Bestandteil des kritischen Wegs von umsatzgenerierenden Transaktionen für das Unternehmen. Hohe Verfügbarkeit ist unerlässlich, da call-center-Mitarbeiter auf diesen Ablauf angewiesen sind, um Ticketkäufe zu verarbeiten. In Anerkennung ihrer Bedeutung mandatiert das Unternehmen eine Betriebszeit von 99,9 % für diesen Fluss, die erweiterte Geschäftszeiten umfasst.

  • Bewertung der Kritischität: Hoch.

Benutzerablauf 4: Ticket kaufen

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

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

  • Prozessbesitzer: Director of Sales.

  • Projektbeteiligte: Vertriebsabteilung und alle technischen Teams.

  • Eskalationspfad: Anwendungsteam-On-Call-Techniker, Plattformteam-On-Call-Techniker, Datenteam-On-Call-Techniker, Chief Operating Officer.

  • Geschäftliche Auswirkungen: Eine hohe Verfügbarkeit dieses Flusses ist entscheidend, da sie Kundenticketkäufe direkt ermöglicht. Jede Fehlfunktion oder Nichtverfügbarkeit dieses Flusses kann sowohl den Umsatz als auch den Ruf des Unternehmens erheblich beeinträchtigen. Das Unternehmen setzt eine strenge Anforderung für diesen wichtigen Prozess ein, wobei 99,9 % Betriebszeit erwartet wird, auch während der erweiterten Geschäftszeiten.

  • Bewertung der Kritischität: Hoch.

Benutzerablauf 5: Authentifizierung und Autorisierung

Ablaufbeschreibung: Mitarbeiter des Callcenters melden sich sicher bei der Anwendung an. Administratoren stellen ihnen die richtigen Rollen zum Kauf von Tickets im Namen von Relecloud-Kunden bereit.

  • Geschäftsprozesse: Dieser Ablauf unterstützt den Kaufticketprozess direkt. Ohne diese Funktionalität können sich Mitarbeiter des Callcenters nicht bei der Anwendung anmelden, um Tickets zu kaufen.

  • Prozessbesitzer: Plattformteam.

  • Projektbeteiligte: Plattformteam, Betriebsteam und Vertriebsabteilung.

  • Eskalationspfad: Plattformteam-On-Call-Techniker, Chief Operating Officer.

  • Geschäftliche Auswirkungen: Dieser Fluss erfordert eine hohe Verfügbarkeit, da Callcentermitarbeiter keine Tickets kaufen können, wenn dieser Fluss nicht ordnungsgemäß funktioniert. Wenn dieser Fluss nicht verfügbar ist, wirkt er sich direkt auf Einnahmen und Reputation aus. Es ist ein wichtiger Prozess, für den das Unternehmen 99,9 % Betriebszeit erwartet, einschließlich der erweiterten Geschäftszeiten.

  • Bewertung der Kritischität: Hoch.

Systemfluss: Telemetrie sammeln

Ablaufbeschreibung: Um Zustandsänderungen im Produktionssystem, webanwendungs- und API-Instanzen zu verstehen, sammeln und senden Sie Informationen, Fehler und Warnungen. Diese Daten helfen dem Operationsteam, Anomalieerkennung, Problembehandlung und Profilerstellung durchzuführen.

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

  • Prozessbesitzer: Director of Operations.

  • Projektbeteiligte: Betriebsteam, Plattformteam und Datenteam.

  • Eskalationspfad: Betriebsteam (24/7), Datenteam-On-Call-Techniker.

  • Geschäftliche Auswirkungen: Dieser Fluss 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 dafür verantwortlich, diesen Fluss schnell wiederherzustellen, nachdem ein Fehler aufgetreten ist, um fehlende kritische Informationen und Warnungen zu vermeiden. Wenn der Fluss die erwartete Verfügbarkeit nicht erreicht, besteht das Risiko, dass Produktionsprobleme übersehen werden, was zu schwerwiegenden Folgen führen kann. Um dieses Risiko zu mindern, zielt die Betriebsabteilung auf 99% Uptime, 24/7. Sie müssen wartungsbezogene Ausfallzeiten mindestens 48 Stunden im Voraus planen.

  • Bewertung der Kritischen Bewertung: Mittel.