Aushandeln realistischer Leistungsziele

Abgeschlossen
Die beabsichtigte Benutzererfahrung ist definiert, und es gibt eine Strategie, um einen Benchmark zu entwickeln und Ziele für die vordefinierten Geschäftsanforderungen zu messen.

Unter dem Gesichtspunkt der Leistung ist es ideal, klar definierte Leistungsziele zu haben, um Ihren Entwurfsprozess zu starten. Um diese Ziele festzulegen, müssen Sie über ein gutes Verständnis der geschäftlichen Anforderungen und der erwarteten Dienstqualität verfügen, welche die Workload liefern soll. Definieren Sie die Erwartungen in Zusammenarbeit mit den Projektbeteiligten. Anstatt sich nur auf technische Metriken zu konzentrieren, bestimmen Sie die akzeptablen Auswirkungen auf die Benutzererfahrung für die wichtigsten Flows.

Es gibt eine Ringabhängigkeit. Sie können nicht messen, was Sie nicht definiert haben, und Sie können ohne Messung nicht definieren. Daher ist es auch wichtig, die Workloadleistung zu messen, bis Sie eine zufriedenstellende Definition eines akzeptablen Schwellenwerts mit gemeinsamer Vereinbarung erreichen.

Es gibt eine starke Korrelation zwischen Leistungs- und Zuverlässigkeitszielen, die dazu beitragen, die Dienstqualität in Bezug auf Leistung, Verfügbarkeit und Resilienz zu bestimmen. Ohne eine klare Definition ist es schwierig, die Leistung zu messen, zu überwachen und zu testen. Nachdem Sie die Ziele festgelegt und tatsächliche Zahlen durch Tests im Laufe der Zeit identifiziert haben, können Sie die Automatisierung für kontinuierliche Tests gegen diese Zielen implementieren.

Befolgen Sie bewährte Methoden zum Definieren von Zielen auf Makroebene, selbst wenn sie ungefähr oder innerhalb eines Bereichs sind.

Beispielszenario

Contoso Bicycle ist eine Direktvertriebsmarke für Fahrräder in den USA. Ihr Entwicklungsteam hat mit der Entwicklung einer App begonnen, die das geplante Dienstangebot für mobile Fahrradreparatur von Contoso unterstützt. Die App befindet sich derzeit in der Phase Proof of Concept. Techniker werden eine mobile App verwenden, um ihren Zeitplan und Ihre Arbeitsaufträge zu verwalten sowie Zahlungen entgegenzunehmen. Eine Website wird für Kunden verwendet, um den Dienst zu planen. Die Web-App, die mobile App und die Back-End-API werden wahrscheinlich alle in Azure App Service gehostet.

Vorbereiten der Verhandlung von Leistungszielen

Bereiten Sie sich auf eine effektive Verhandlung vor, indem Sie technische Konzepte verstehen, Designmöglichkeiten mit der verfügbaren Infrastruktur erkunden und Ergebnisse aus konkreten Experimenten verwenden, falls verfügbar. Verwenden Sie historische Daten, um Einblicke in Verbrauchsmuster und Engpässe zu erhalten. Gewinnen Sie Einblicke aus externen Faktoren, z. B. Eingaben aus der Marktanalyse, von Experten und Branchenstandards.

Sie können fundierte Entscheidungen basierend auf praktischen Erkenntnissen treffen.

Die Leistungsziele konzentrieren sich auf die Benutzererfahrung, die auf der Machbarkeit, branchenspezifischen bewährten Methoden und aktuellen Markttrends basiert.

Herausforderung von Contoso

  • In Diskussionen über die Anwendung mit Projektbeteiligten wurde die Leistung noch nicht besprochen.
  • Das Entwicklungsteam ist neu bei Azure und daher nicht mit der Leistung und den Skalierungsmöglichkeiten der Plattform vertraut.
  • Ohne Anleitung von den Projektbeteiligten und praktischen Kenntnissen darüber, was möglich ist, ist das Team besorgt, dass es Infrastruktur für Tests bereitstellen muss, nur um sie später erneut zu bauen.
  • Das Team ist auch besorgt, dass niemand bereit sein wird, über realistische Leistungsziele zu sprechen, wenn sie sich das nächste Mal treffen.

Umsetzung und Ergebnisse

  • Die Businessanalysten und Entwickler von Contoso besprechen ihre Bedenken und entwickeln einen Plan: Die Businessanalysten werden die Leistungserwartungen durch wettbewerbsorientierte Analysen und informelle Umfragen untersuchen, und das Entwicklungsteam wird die Funktionalitäten und Optionen von Azure für verschiedene Tarife untersuchen.
  • Die Teams kommen erneut mit Projektbeteiligten des Unternehmens zusammen, bringen die Daten mit, die sie zusammengestellt haben, und verwenden die Daten als Grundlage für ihre Verhandlungen über Leistungsziele. Durch Diskussionen über potenzielle Leistungsfunktionalitäten und damit verbundene Kosten verlassen alle Parteien die Besprechung mit einem guten Gefühl bei der Nutzung von App Services für die Workload.

Effektives Aushandeln von Leistungszielen

Arbeiten Sie mit den Geschäftsbesitzern zusammen, um die Benutzerzusagen im Hinblick auf Qualität und Einhaltung gesetzlicher Vorschriften zu verstehen, falls zutreffend. Behalten Sie eine breite Perspektive bei und vermeiden Sie es, sich in dieser Phase in Details zu vertiefen. Seien Sie explizit darüber informiert, was eine akzeptable Leistung darstellt, basierend auf den Investitionen, und verstehen Sie den Geschäftskontext und das erwartete Wachstum.

Durch die Übernahme dieses Ansatzes vermeiden Sie Annahmen, die möglicherweise nicht den Geschäftszielen entsprechen. Es fördert auch Klarheit und Motivation innerhalb des Workloadteams.

Wenn Sie einen geschäftlichen Kontext zu funktionalen und nicht funktionalen Anforderungen haben, können Sie Designänderungen in anderen Azure Well-Architected-Säulen aufdecken und Ihnen helfen, fundierte Kompromisse zu treffen.

Das frühzeitige Definieren von Parametern trägt dazu bei, Kosten zu vermeiden, die mit potenziellen Lösungsneugestaltungen zu einem späteren Zeitpunkt verbunden sind. Dies ermöglicht es Ihnen, sicherzustellen, dass Leistungsziele zukünftige Projektionen abdecken, damit Sie die aktuellen Anstrengungen an langfristigen Zielen ausrichten können.

Herausforderung von Contoso

  • Das Architekturteam hat grobe Ideen darüber, was akzeptabel sein könnte, aber noch keine Details. Die Architekten sind generell der Meinung, dass sie mit der von ihnen gewählten Anwendungsplattform Nacharbeiten vermeiden können, aber sie wären zuversichtlicher, wenn die Angaben etwas spezifischer wären, als es bisher der Fall war.
  • Bis zu diesem Zeitpunkt waren die Leistungsdiskussionen vage, mit Aussagen wie „Die Website muss schnell sein.“
  • Ohne genauere Angaben befürchten die Architekten, dass sie das Design zu sehr auf Leistung ausrichten oder mit Verzögerungen rechnen müssen, welche die Freigabe für die Produktion hinauszögern.

Umsetzung und Ergebnisse

  • Die Geschäftspartner und das technische Team treffen sich, um einen Konsens über allgemeine, aber realistische Ziele zu gewinnen und einige absolute Grenzwerte, die vermieden werden müssen. Auf dieser Grundlage können die Architekten im Rahmen ihres ersten Entwurfs Proof of Concepts durchführen, um eine breite Vereinbarung zur Anwendungsplattform zu erhalten, und einige Ergebnisse in Bezug auf Leistung und Preisgestaltung präsentieren.
  • Eines der Ergebnisse dieser Besprechung ist zu wissen, dass Contoso Bicycle plant, im ersten Jahr nur im Südwesten der USA tätig zu sein, aber im Jahr 2 landesweit expandieren wird. Diese Informationen werden in den Entwurf eingegliedert.

Entwerfen mit Flow-zentriertem Fokus

Identifizieren Sie die Workloadflows, und priorisieren Sie die Flows im Architekturdiagramm. Definieren Sie die Leistungstoleranz jedes Flows als einen Bereich von ehrgeiziger bis inakzeptabler Leistung. Bewerten Sie die Einstiegs- und Ausgangspunkte für jeden Flow unter Berücksichtigung der Kritikalität, der Nutzungshäufigkeit und der Architekturintensität des Pfads.

Durch priorisieren von Flows können Sie Ihre Ressourcen auf kritische Bereiche konzentrieren, die sich am meisten auf Benutzer- und Geschäftsergebnisse auswirken.

Indem Sie das System in seine Teile und Abhängigkeiten aufteilen, verstehen Sie die Funktion und den Einfluss jeder Komponente auf die Leistung. Sie werden auch auf mögliche Probleme aufmerksam.

Es hilft dabei, eine Leistungsbaseline zu erstellen und die Optimierung zu fördern.

Herausforderung von Contoso

  • Bisher hat das technische Team mit den Projektbeteiligten gearbeitet, um Leistungsziele auf hoher Ebene zu identifizieren, hat sich aber noch nicht auf einzelne Flows konzentriert. Damit das Designteam tiefer in die Flows eintauchen kann, z. B. den Dienstlocator und Zahlungsflüsse, müssen sie die Anforderungen für diese Flows verstehen.
  • Ohne diese spezifischen Anforderungen besteht die Gefahr, dass die Ressourcen für wichtige Flows zu wenig oder für Flows mit geringerer Priorität zu hoch zugeteilt werden.

Umsetzung und Ergebnisse

  • Nach der Überprüfung von Benutzerflows mit dem Unternehmen verfügt das Architekturteam jetzt über sehr spezifische Ziele, die für jeden Flow dokumentiert sind. Bei der Zerlegung der Workload wird nun der ehrgeizige bis unannehmbare Bereich pro Flow berücksichtigt.
  • Die Architekten werden sich bemühen, mit ihrem Entwurf ehrgeizige Ziele zu erreichen, damit das System im Laufe der Zeit mit zusätzlichen Funktionen weiterentwickelt werden kann, während sie gleichzeitig ein gewisses Maß an Kompromissen eingehen, um die Kosten und andere nichtfunktionale Anforderungen unter Kontrolle zu halten.
  • Das Team kann das Design rund um die vereinbarten Ziele abschließen, und jetzt wird das Implementierungsteam dafür verantwortlich sein, sicherzustellen, dass diese Grenzwerte berücksichtigt werden und Bedenken zu äußern, wenn sie nicht mit dem Design erreicht werden können, aus dem sie arbeiten.

Überprüfen Sie Ihr Wissen

1.

Warum musste das technische Team von Contoso Leistungsfunktionalitäten in Azure recherchieren?

2.

Welcher der folgenden Punkte ist ein Beispiel für die Art von Punkten, die Sie in einer Leistungszielverhandlung abdecken sollten?

3.

Richtig oder falsch: Leistungsziele sollten in Bezug auf Workloadflows und nicht für einzelne Ressourcen kontextualisiert werden.