

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