

# Bewährte Methoden
<a name="perf-bp"></a>

**Topics**
+ [Auswahl](perf-sel.md)
+ [Prüfen Sie die Angaben.](perf-review.md)
+ [Überwachung](perf-monitoring.md)
+ [Kompromisse](perf-tradeoffs.md)

# Auswahl
<a name="perf-sel"></a>

 Die optimale Lösung für einen bestimmten Workload variiert und Lösungen bestehen häufig aus einer Kombination mehrerer Ansätze. Gut geplante Workloads nutzen mehrere Lösungen und bieten verschiedene Möglichkeiten zur Leistungsoptimierung. 

 AWS-Ressourcen sind in vielen Typen und Konfigurationen verfügbar, wodurch es einfacher ist, einen Ansatz zu finden, der Ihren Workload-Anforderungen weitgehend entspricht. Sie können zudem Optionen nutzen, die sich in Ihrer lokalen Infrastruktur nicht ohne Weiteres umsetzen ließen. Nehmen wir beispielsweise den verwalteten Service Amazon DynamoDB. Dieser bietet eine vollständig verwaltete NoSQL-Datenbank mit einer Latenz im einstelligen Millisekundenbereich ungeachtet des Volumens. 

 In der folgenden Frage geht es um Überlegungen zur Leistungseffizienz. (Eine Liste der Fragen und bewährten Methoden zur Leistungseffizienz finden Sie im [Anhang](a-performance-efficiency.md)). 


| LEIST 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.  | 

 Verwenden Sie einen datengestützten Ansatz bei der Auswahl der Muster und der Implementierung Ihrer Architektur, um eine kostengünstige Lösung zu erzielen. AWS Solutions Architects, AWS Reference Architectures und AWS Partner Network (APN) können Sie mit Branchenwissen bei der Auswahl der Architektur unterstützen. Für ihre Optimierung sind jedoch anhand von Benchmarking oder Belastungstests erfasste Daten erforderlich. 

 Ihre Architektur wird vermutlich auf einer Reihe unterschiedlicher Ansätze basieren (z. B. ereignisgesteuert, ETL oder Pipeline). Implementiert wird sie mit den AWS-Services, die zur Optimierung ihrer Leistung beitragen. In den folgenden Abschnitten erörtern wir die vier Hauptressourcen, die berücksichtigt werden sollten (Datenverarbeitung, Speicher, Datenbank und Netzwerk). 

# Datenverarbeitung
<a name="perf-compute"></a>

 Durch die Auswahl von Rechenressourcen, die Ihre Bedürfnisse und Leistungsanforderungen erfüllen und dabei eine hohe Kosteneffizienz bieten, können Sie mit derselben Anzahl von Ressourcen mehr erreichen. Beachten Sie bei der Bewertung von Datenverarbeitungsoptionen Ihre Anforderungen im Hinblick auf die Workload-Leistung und die Kosten. Treffen Sie auf dieser Grundlage fundierte Entscheidungen. 

 In AWS gibt es drei Arten der Datenverarbeitung: Instances, Container und Funktionen. 
+  **Instances** sind virtualisierte Server, deren Funktionen mit einer Schaltfläche oder einem API-Aufruf geändert werden können. Da Ressourcenentscheidungen in der Cloud flexibel sind, können Sie mit verschiedenen Servertypen experimentieren. AWS bietet diese virtuellen Server-Instances in unterschiedlichen Varianten und Größen mit einer umfassenden Auswahl an Optionen, einschließlich Solid-State-Laufwerken (SSDs) und Grafikprozessoren (GPUs). 
+  **Container** dienen zur Virtualisierung des Betriebssystems. Sie können damit eine Anwendung und deren Abhängigkeiten in von der Ressource isolierten Prozessen ausführen. AWS Fargate bietet serverlose Datenverarbeitung für Container. Amazon EC2 kann verwendet werden, wenn Sie Kontrolle über die Installation, Konfiguration und Verwaltung Ihrer Datenverarbeitungsumgebung benötigen. Zudem haben Sie die Auswahl unter mehreren Plattformen zur Container-Orchestrierung: Amazon Elastic Container Service (ECS) oder Amazon Elastic Kubernetes Service (EKS). 
+  **Funktionen** Damit wird die Ausführungsumgebung vom auszuführenden Code abstrahiert. Mit AWS Lambda können Sie beispielsweise Code ohne eine Instance ausführen. 

 In der folgenden Frage geht es um Überlegungen zur Leistungseffizienz. 


| LEIST 2: Was ist bei der Wahl der Datenverarbeitungslösung zu beachten? | 
| --- | 
| Die optimale Datenverarbeitungslösung für eine Workload ist vom Anwendungsdesign sowie von Nutzungsmustern und Konfigurationseinstellungen abhängig. Architekturen können unterschiedliche Datenverarbeitungslösungen für verschiedene Komponenten verwenden und unterschiedliche Funktionen zur Leistungsverbesserung unterstützen. Die Wahl der falschen Datenverarbeitungslösung für eine Architektur kann die Leistungseffizienz schmälern. | 

 Machen Sie sich bei der Datenverarbeitung die verfügbaren Elastizitätsmechanismen zunutze, um eine ausreichende Kapazität sicherzustellen und die Leistung bei sich ändernden Anforderungen aufrechtzuerhalten. 

# Speicher
<a name="perf-storage"></a>

 Cloud-Speicher ist eine entscheidende Komponente des Cloud Computing, da hier die Informationen vorgehalten werden, die von der Workload genutzt werden. Cloud-Speicher ist in der Regel zuverlässiger, skalierbarer und sicherer als herkömmliche lokale Speichersysteme. Für Ihre Workload stehen Objekt-, Block- und Dateispeicherservices sowie verschiedene Optionen zur Cloud-Datenmigration zur Auswahl. 

 In AWS ist Speicher in drei Formen verfügbar: Objekt-, Block- und Dateispeicher: 
+  **Objektspeicher** bietet eine skalierbare, robuste Plattform, damit Daten überall im Internet zugänglich sind. Das gilt für benutzergenerierte Inhalte, aktive Archive, serverlose Datenverarbeitung, Big Data-Speicher oder die Sicherung und Wiederherstellung. Bei Amazon Simple Storage Service (Amazon S3) handelt es sich um einen Objektspeicherservice mit branchenführender Skalierbarkeit, Datenverfügbarkeit, Sicherheit und Leistung. Amazon S3 ist auf eine Verfügbarkeit von 99,999999999 % (elf Neunen) ausgelegt und speichert Daten für Millionen von Anwendungen für Unternehmen weltweit. 
+  **Blockspeicher** bietet hochverfügbaren, konsistenten Blockspeicher mit geringer Latenz für virtuelle Hosts. Er ist vergleichbar mit Direct Attached Storage (DAS) oder einem Storage Area Network (SAN). Amazon Elastic Block Store (Amazon EBS) ist auf Workloads ausgelegt, die einen persistenten, für EC2-Instances zugänglichen Speicher benötigen. So können Sie Anwendungen in Sachen Speicherkapazität, Leistung und Kosten optimieren. 
+  **Dateispeicher** bietet auf mehreren Systemen Zugriff auf ein gemeinsam genutztes Dateisystem. Dateispeicherlösungen wie Amazon Elastic File System (EFS) eignen sich ideal für Anwendungsfälle wie große Inhalts-Repositorys, Entwicklungsumgebungen, Medienspeicher oder Hauptverzeichnisse von Benutzern. Amazon FSx macht das Starten und Ausführen beliebter Dateisysteme einfach und kostengünstig. Somit können Sie die umfangreichen Funktionen und die hohe Leistung weit verbreiteter Open-Source- und kommerzieller Dateisysteme nutzen. 

 In der folgenden Frage geht es um Überlegungen zur Leistungseffizienz. 


| LEIST 3: Was ist bei der Wahl der Speicherlösung zu beachten? | 
| --- | 
|  Die optimale Speicherlösung für ein System richtet sich nach der Zugriffsmethode (Block, Datei oder Objekt), den Zugriffsmustern (Zufallsprinzip oder sequenziell), dem erforderlichen Durchsatz, der Zugriffshäufigkeit (online, offline, Archiv), der Aktualisierungshäufigkeit (WORM, dynamisch) sowie den Einschränkungen hinsichtlich Verfügbarkeit und Langlebigkeit. Gut geplante Systeme nutzen mehrere Speicherlösungen und bieten unterschiedliche Möglichkeiten zur Leistungsoptimierung und effizienten Ressourcennutzung.  | 

 Bei der Auswahl einer Speicherlösung ist wichtig, dass diese Ihren Zugriffsmustern entspricht, um die gewünschte Leistung zu erzielen. 

# Datenbank
<a name="perf-db"></a>

 Die Cloud bietet speziell entwickelte Datenbankservices, die verschiedene Probleme in Verbindung mit Ihrer Workload lösen. Sie haben die Wahl aus zahlreichen speziell entwickelten Datenbankmodulen, darunter relationale, Schlüssel-Werte-, Dokument-, In-Memory-, Graph-, Zeitreihen- und Ledger-Datenbanken. Durch die Auswahl der besten Datenbank zur Lösung eines bestimmten Problems (oder mehrerer Probleme) können Sie sich von restriktiven, einheitlichen monolithischen Datenbanken lösen und sich auf die Entwicklung von Anwendungen konzentrieren, die den Leistungsanforderungen Ihrer Kunden gerecht werden. 

 In AWS haben Sie die Wahl aus zahlreichen speziell entwickelten Datenbankmodulen, darunter relationale, Schlüssel-Werte-, Dokument-, In-Memory-, Graph-, Zeitreihen- und Ledger-Datenbanken. Mit AWS-Datenbanken müssen Sie sich nicht um Aufgaben zur Datenbankverwaltung kümmern, wie etwa die Bereitstellung von Servern, das Einspielen von Patches, die Einrichtung, die Konfiguration, Backups oder die Wiederherstellung. AWS überwacht kontinuierlich Ihre Cluster, damit Ihre Workloads unterbrechungsfrei ausgeführt werden, und bietet selbstreparierenden Speicher und eine automatisierte Skalierung. So können Sie sich ganz auf die Entwicklung höherwertiger Anwendungen konzentrieren. 

 In der folgenden Frage geht es um Überlegungen zur Leistungseffizienz. 


| LEIST 4: Was ist bei der Wahl der Datenbanklösung zu beachten? | 
| --- | 
|  Welche Datenbanklösung sich am besten für ein System eignet, hängt von der erforderlichen Verfügbarkeit, Konsistenz, Partitionstoleranz, Latenz, Langlebigkeit, Skalierbarkeit und Abfragefähigkeit ab. Viele Systeme nutzen für verschiedene Untersysteme unterschiedliche Datenbanklösungen und unterstützen unterschiedliche Funktionen zur Leistungsoptimierung. Die Wahl der falschen Datenbanklösung und -funktionen kann die Leistungseffizienz eines Systems schmälern.  | 

 Das Datenbankkonzept für Ihre Workload hat erhebliche Auswirkungen auf die Leistungseffizienz. Häufig erfolgt die Auswahl in diesem Bereich nach Unternehmensvorgaben statt auf der Grundlage eines datenbasierten Ansatzes. Ebenso wie beim Speicher sollten auch hier unbedingt die Zugriffsmuster der Workload berücksichtigt werden. Auch gilt zu prüfen, ob andere nicht datenbankgestützte Lösungen möglicherweise effizienter wären (z. B. eine Graph-, Zeitreihen- oder -In-Memory-Datenbank). 

# Netzwerk
<a name="perf-network"></a>

 Da das Netzwerk alle Workload-Komponenten miteinander verbindet, kann es große positive und negative Auswirkungen auf die Leistung und das Verhalten von Workloads haben. Zudem gibt es Workloads, die stark von der Netzwerkleistung abhängig sind. Ein Beispiel hierfür ist das High Performance Computing (HPC), für das zur Steigerung der Cluster-Leistung umfassende Netzwerkkenntnisse benötigt werden. Sie müssen die Workload-Anforderungen für Bandbreite, Latenz, Jitter und Durchsatz ermitteln. 

 In AWS wird das Netzwerk virtualisiert und es sind unterschiedliche Typen und Konfigurationen verfügbar. Das erleichtert Ihnen die Anpassung Ihrer Netzwerkmethoden an die eigenen Anforderungen. AWS bietet zur Optimierung des Netzwerkdatenverkehrs Produktfunktionen wie Enhanced Networking, für Amazon EBS optimierte Instances, Amazon S3 Transfer Acceleration sowie den dynamischen Amazon CloudFront-Service. Zur Verbesserung der Latenz und der Stabilität des Netzwerks finden Sie in AWS zudem Netzwerkfunktionen wie die latenzbasierte Weiterleitung mit Amazon Route 53, Amazon VPC-Endpunkte, AWS Direct Connect und AWS Global Accelerator). 

 In der folgenden Frage geht es um Überlegungen zur Leistungseffizienz. 


| LEIST 5: Was ist beim Konfigurieren der Netzwerklösung zu beachten? | 
| --- | 
|  Welche Netzwerklösung für eine Workload optimal ist, richtet sich nach der Latenz, dem erforderlichen Durchsatz, dem Jitter und der Bandbreite. Die Standortoptionen sind von den physischen Einschränkungen abhängig, z. B. von Benutzer- oder lokalen Ressourcen. Diese Einschränkungen können durch Edge-Standorte oder die Ressourcenplatzierung wettgemacht werden.  | 

 Bei der Bereitstellung des Netzwerks müssen Sie den Standort berücksichtigen. Zur Reduzierung der Latenz haben Sie die Möglichkeit, Ressourcen in der Nähe ihres Verwendungsorts zu platzieren. Verwenden Sie Netzwerkmetriken, um Änderungen an der Netzwerkkonfiguration vorzunehmen, wenn sich der Workload ändert. Mit den entsprechenden Regionen, Platzierungsgruppen und Edge-Services können Sie die Leistung erheblich steigern. Da cloudbasierte Netzwerke schnell umgebaut oder geändert werden können, müssen Sie Ihre Netzwerkarchitektur im Laufe der Zeit weiterentwickeln, um weiterhin eine effiziente Leistung zu erzielen. 

# Prüfen Sie die Angaben.
<a name="perf-review"></a>

 Da sich Cloud-Technologien schnell weiterentwickeln, müssen Sie zur kontinuierlichen Leistungssteigerung dafür sorgen, dass für Workload-Komponenten die neuesten Technologien und Ansätze verwendet werden. Sie müssen kontinuierlich Änderungen an Ihren Workload-Komponenten in Erwägung ziehen, damit Sie die Leistungs- und Kostenziele erreichen. Mit neuen Technologien wie Machine Learning und künstlicher Intelligenz (KI) können Sie Kundenerfahrungen ganz neu gestalten und für alle geschäftlichen Workloads Neuerungen einführen. 

 Profitieren Sie von den ständigen AWS-Innovationen, deren Grundlage die Anforderungen der Kunden sind. Wir stellen regelmäßig neue Regionen, Edge-Standorte, Services und Funktionen zur Verfügung. Jedes Release kann eine positive Auswirkung auf die Leistungseffizienz Ihrer Architektur haben. 

 In der folgenden Frage geht es um Überlegungen zur Leistungseffizienz. 


| LEIST 6: Wie profitiert Ihr Workload von neuen Releases? | 
| --- | 
|  Bei der Architektur von Workloads sind die Wahlmöglichkeiten begrenzt. Im Laufe der Zeit werden jedoch immer wieder neue Technologien und Ansätze zur Leistungsoptimierung von Workloads entwickelt.  | 

 Wenn Architekturen eine schlechte Leistung aufweisen, liegt dies normalerweise daran, dass ein Prozess zur Überprüfung der Leistung fehlt oder fehlerhaft ist. Sie können ein solches Leistungsprüfverfahren jederzeit implementieren, um durch Anwendung des PDCA-Zyklus (Plan-Do-Check-Act) von Deming iterative Verbesserungen zu fördern. 

# Überwachung
<a name="perf-monitoring"></a>

 Nach Implementierung des Workloads müssen Sie die Leistung überwachen, damit Sie vorhandene Probleme beheben können, bevor sich Auswirkungen für Ihre Kunden ergeben. Lassen Sie sich mithilfe von Überwachungsmetriken benachrichtigen, wenn Schwellenwerte überschritten werden. 

 Amazon CloudWatch ist ein Überwachungsservice, der Ihnen Daten und verwertbare Einblicke bietet. Damit können Sie den Workload überwachen, auf systemweite Leistungsänderungen reagieren und die Ressourcennutzung optimieren. Zudem erhalten Sie einen Gesamtüberblick über den Betriebszustand. CloudWatch erfasst Überwachungs- und Betriebsdaten in Form von Protokollen, Metriken und Ereignissen von Workloads, die in AWS und auf lokalen Servern ausgeführt werden. AWS X-Ray hilft Entwicklern beim Analysieren und Debuggen von verteilten Produktionsanwendungen. Mit AWS X-Ray können Sie Einblicke in die Leistung von Anwendungen gewinnen, Ursachen erkennen und Leistungsengpässe ermitteln. Anhand dieser Informationen können Sie schnell reagieren und die kontinuierliche Verfügbarkeit Ihres Workloads sicherstellen. 

 In der folgenden Frage geht es um Überlegungen zur Leistungseffizienz. 


| LEIST 7: Wie lassen sich Ressourcen überwachen, um sicherzustellen, dass sie funktionieren? | 
| --- | 
|  Die Systemleistung kann sich mit der Zeit verschlechtern. Überwachen Sie die Systemleistung, um eine Verschlechterung frühzeitig zu erkennen und ihr entgegenzuwirken, etwa indem Sie interne oder externe Faktoren wie das Betriebssystem oder die Anwendungslast korrigieren.  | 

 Dass keine Falschmeldungen (False Positives) angezeigt werden, ist für eine effektive Überwachungslösung von entscheidender Bedeutung. Automatisierte Trigger vereiteln Benutzerfehler und können die Fehlerbehebung beschleunigen. Planen Sie Ernstfallübungen ein, bei denen Sie Ihre Benachrichtigungslösung mithilfe von Simulationen in der Produktionsumgebung testen, damit Probleme richtig erkannt werden. 

# Kompromisse
<a name="perf-tradeoffs"></a>

 Bei der Entwicklung von Lösungen können Kompromisse helfen, den optimalen Ansatz zu wählen. Je nach Situation können Sie beispielsweise die Latenz oder die Zeit reduzieren, um die Leistung zu erhöhen, indem Sie bedingte Abstriche bei der Konsistenz, der Langlebigkeit und dem Speicherplatz machen. 

 AWS ermöglicht Ihnen, globale Veröffentlichungen innerhalb weniger Minuten vorzunehmen. Sie können damit Ressourcen weltweit an verschiedenen Standorten bereitstellen, um die Entfernung zu Endbenutzern und damit die Latenz zu reduzieren. Des Weiteren haben Sie die Möglichkeit, in Informationsspeichern (z. B. Datenbanksystemen) Lesereplikate bereitzustellen, um die Last für die primäre Datenbank zu reduzieren. 

 In der folgenden Frage geht es um Überlegungen zur Leistungseffizienz. 


| LEIST 8: Wie lässt sich Leistung durch Kompromisse verbessern? | 
| --- | 
|  Durch die Festlegung von Kompromissen beim Gestalten von Lösungen lässt sich der optimale Ansatz einfacher bestimmen. Leistung lässt sich oft durch Zugeständnisse in anderen Bereichen verbessern, etwa bei Konsistenz, Beständigkeit, Zeit und Latenz.  | 

 Wenn Sie Änderungen an Ihrer Workload vornehmen, sollten Sie Metriken erfassen und bewerten, um die Auswirkungen dieser Änderungen eindeutig zu bestimmen. Messen Sie die Auswirkungen auf System und Endbenutzer, um nachzuvollziehen, wie Ihre Kompromisse den Workload beeinflussen. Stellen Sie anhand eines systematischen Ansatzes fest (z. B. Lasttests), ob sich die Leistung durch den Kompromiss tatsächlich verbessert. 