PERF 1: Was ist bei der Wahl einer leistungsfähigen Architektur zu beachten?
Oft sind mehrere Ansätze erforderlich, um die optimale Leistung für eine Workload
zu erzielen. Gut geplante Systeme nutzen mehrere Lösungen und Funktionen zur Leistungsoptimierung.
Ressourcen
Introducing The Amazon Builders’ Library (DOP328)
Bewährte Methoden:
-
Auseinandersetzen mit verfügbaren Services und Ressourcen:
Informieren Sie sich über die vielfältigen Services und Ressourcen, die Ihnen in der
Cloud zur Verfügung stehen. Bestimmen Sie die für Ihre Workload relevanten Services
und Konfigurationsoptionen und bringen Sie in Erfahrung, wie Sie damit eine optimale
Leistung erzielen.
-
Definieren eines Prozesses für die Wahl der Architektur:
Nutzen Sie interne Erfahrungen und Kenntnisse im Zusammenhang mit der Cloud oder ziehen
Sie externe Ressourcen heran, wie etwa veröffentlichte Anwendungsbeispiele, relevante
Dokumentation oder Whitepapers, um einen Prozess zur Auswahl der geeigneten Ressourcen
und Services festzulegen. Sie sollten einen Prozess definieren, der das Experimentieren
und Benchmarking mit den Services fördert, die in Ihrer Workload verwendet werden
könnten.
-
Einbeziehen von Kostenanforderungen in Entscheidungen :
Für den Betrieb von Workloads gelten oft bestimmte Kostenanforderungen. Verwenden
Sie interne Kostenkontrollen, um Ressourcentypen und -größen entsprechend dem prognostizierten
Ressourcenbedarf auszuwählen.
-
Verwenden von Richtlinien oder Referenzarchitekturen:
Maximieren Sie die Leistung und Effizienz, indem Sie interne Richtlinien und vorhandene
Referenzarchitekturen evaluieren und anhand Ihrer Analyse Services und Konfigurationen
für Ihre Workload auswählen.
-
Einholen von Rat beim Cloud-Anbieter oder einem geeigneten Partner:
Greifen Sie bei Ihren Entscheidungen auf die Ressourcen von Cloud-Unternehmen, wie
etwa Lösungsarchitekten, oder auf professionelle Services oder einen geeigneten Partner
zurück. Diese Ressourcen können Ihnen dabei helfen, Ihre Architektur zu überprüfen
und zu verbessern, um so die Leistung zu optimieren.
-
Benchmarking vorhandener Workloads:
Führen Sie einen Benchmark-Vergleich für eine vorhandene Workload durch, um sich ein
Bild über deren Leistung in der Cloud zu verschaffen. Nutzen Sie die beim Benchmarking
erfassten Daten als Grundlage für architektonische Entscheidungen.
-
Durchführen von Lasttests für die Workload:
Stellen Sie Ihre neueste Workload-Architektur mit verschiedenen Ressourcentypen und
-größen in der Cloud bereit. Überwachen Sie die Bereitstellung, um Leistungsmetriken
zu erfassen, die Engpässe oder überschüssige Kapazität erkennen lassen. Nutzen Sie
diese Leistungsdaten, um die Architektur zu entwerfen oder zu verbessern und eine
bessere Auswahl von Ressourcen zu treffen.
Verbesserungsplan
Auseinandersetzen mit verfügbaren Services und Ressourcen
Inventarisieren der Workload-Software und -Architektur für verwandte Services: Erstellen Sie ein Inventar Ihrer Workload und entscheiden Sie, über welche Kategorie
von Produkten Sie mehr erfahren möchten.Ermitteln Sie die Workload-Komponenten, die zur Leistungssteigerung und Verminderung
der betrieblichen Komplexität durch verwaltete Services ersetzt werden können.
Definieren eines Prozesses für die Wahl der Architektur
Auswählen eines Architekturansatzes: Machen Sie die Art von Architektur ausfindig, die Ihre Leistungsanforderungen erfüllt.Ermitteln Sie Einschränkungen, etwa in Bezug auf die Medien für die Bereitstellung
(Desktop, Web, Mobilgeräte, IoT), Anforderungen für Legacy-Systeme und Integrationen.Bestimmen Sie die Möglichkeiten der Wiederverwendung, einschließlich Refactoring.
Konsultieren Sie andere Teams, Architekturdiagramme und Ressourcen wie AWS Solution
Architects, AWS-Referenzarchitekturen und APN-Partner, damit Ihnen die Wahl der Architektur
leichter fällt.
Definieren von Leistungsanforderungen: Ermitteln Sie anhand der Kundenerfahrungen die wichtigsten Metriken. Legen Sie für
jede Metrik das Ziel, das Messverfahren und die Priorität fest.Definieren Sie das Kundenerlebnis. Dokumentieren Sie die vom Kunden erwartete Leistung.
Berücksichtigen Sie hierbei auch, wie Kunden die Leistung der Workload beurteilen.Räumen Sie bei kritischen User Stories problematischen Erlebnissen Priorität ein.
Beziehen Sie Leistungsanforderungen mit ein und implementieren Sie skriptbasierte
User Journeys, damit Sie nachvollziehen können, wie die Stories verglichen mit Ihren
Anforderungen abschneiden.
Einbeziehen von Kostenanforderungen in Entscheidungen
Optimieren der Workload-Komponenten zur Kostensenkung: Dimensionieren Sie Workload-Komponenten richtig und ermöglichen Sie Elastizität, um
Kosten zu senken und die Effizienz der Komponenten zu maximieren.Ermitteln Sie, welche Workload-Komponenten gegebenenfalls durch verwaltete Services
ersetzt werden können, z. B. verwaltete Datenbanken, In-Memory-Caches und Reverse-Proxys.
Verwenden von Richtlinien oder Referenzarchitekturen
Bereitstellen der Workload mithilfe vorhandener Richtlinien oder Referenzarchitekturen: Integrieren Sie die Services in Ihre Cloud-Bereitstellung. Stellen Sie anschließend
anhand von Leistungstests sicher, dass Sie die eigenen Leistungsanforderungen weiterhin
erfüllen können.
Einholen von Rat beim Cloud-Anbieter oder einem geeigneten Partner
Anfordern von Unterstützung bei AWS-Ressourcen: AWS Solutions Architects und Professional Services liefern Ratschläge für die Implementierung
von Lösungen.APN-Partner bieten AWS-Fachwissen, damit Sie in Ihrem Unternehmen flexibel agieren
und Innovationen nutzen können.
Benchmarking vorhandener Workloads
Überwachen der Leistung während der Entwicklung: Implementieren Sie Prozesse, die Ihnen bei der Veränderung Ihrer Workload Einblicke
in die Leistung gewähren.
Integrieren in eigene Bereitstellungspipeline: Führen Sie automatisch Lasttests in Ihrer Bereitstellungspipeline aus. Vergleichen
Sie die Testergebnisse mit vordefinierten Key Performance Indicators (KPIs, Leistungskennzahlen)
und Schwellenwerten, damit die Leistungsanforderungen weiterhin erfüllt werden.
Testen von User Journeys: Verwenden Sie für Lasttests synthetische oder bereinigte Daten (d. h. entfernen Sie
sensible oder personenbezogene Informationen). Testen Sie die gesamte Architektur,
indem Sie wiedergegebene oder vorprogrammierte User Journeys im großen Maßstab in
Ihrer Anwendung ausführen.
Durchführen von Lasttests für die Workload
Validieren des Ansatzes mittels Lasttests: Führen Sie einen Lasttest für einen Machbarkeitsnachweis durch, um festzustellen,
ob die Leistungsanforderungen erfüllt werden. Mithilfe von AWS-Services können Sie
Umgebungen im Produktionsmaßstab ausführen und damit Ihre Architektur testen. Da Sie
für die Testumgebung nur bei Nutzung bezahlen, können Sie umfassende Tests zu einem
Bruchteil der Kosten durchführen, die bei Verwendung einer lokalen Umgebung anfallen
würden. Amazon EC2-Testrichtlinie
Überwachen von Metriken: Mit Amazon CloudWatch lassen sich Kennzahlen aus sämtlichen Ressourcen Ihrer Architektur
erfassen. Außerdem können Sie benutzerdefinierte Metriken erfassen und veröffentlichen,
um geschäftliche oder abgeleitete Metriken zu ermitteln. Richten Sie mit CloudWatch
oder mit Lösungen von Drittanbietern Alarme ein, die auf das Überschreiten von Schwellenwerten
hinweisen.
Bedarfsgerechte Tests
: Bei Lasttests wird die tatsächliche Workload herangezogen. So lässt sich feststellen,
wie leistungsfähig Ihre Lösung in einer Produktionsumgebung ist. Mithilfe von AWS-Services
können Sie Umgebungen im Produktionsmaßstab ausführen und damit Ihre Architektur testen.
Da Sie für die Testumgebung nur bei Nutzung bezahlen, können Sie umfassende Tests
zu geringeren Kosten durchführen, als bei Verwendung einer lokalen Umgebung anfallen
würden. Testen Sie Ihre Workload mithilfe der AWS Cloud, um zu ermitteln, an welcher
Stelle sie nicht skalierbar ist oder ob die Skalierung nicht-linear erfolgt. Nutzen
Sie beispielsweise Spot-Instances, um kostengünstig Lasten zu erzeugen und Engpässe
zu identifizieren, bevor diese in der Produktionsumgebung auftreten.