Leistungseffizienz

Die (Säule) Säule beinhaltet (Beschreibung)

Die Säule der Leistungseffizienz bietet einen Überblick über Designprinzipien, bewährte Methoden und Fragen. Verbindliche Anleitungen zur Implementierung finden Sie im Whitepaper zur Säule der Leistungseffizienz.

Designprinzipien

Es gibt in der Cloud (Anzahl) konzeptionelle Grundsätze für (untere Säule):

Definition

Es gibt in der Cloud (Anzahl) Bereiche, in denen bewährte Methoden für (untere Säule) zur Anwendung kommen:

Um eine leistungsstarke Architektur sicherzustellen, empfiehlt sich für deren Entwicklung ein datenbasierter Ansatz. Sammeln Sie zu allen Aspekten der Architektur Daten, angefangen vom allgemeinen Design bis hin zur Auswahl und Konfiguration der Ressourcentypen.

Durch regelmäßiges Überprüfen Ihrer Auswahl stellen Sie die bestmögliche Nutzung der sich fortlaufend weiterentwickelnden AWS Cloud sicher. Durch Überwachung erkennen Sie Abweichungen von der erwarteten Leistung. Zur Leistungssteigerung der Architektur können Sie auch Kompromisse eingehen, beispielsweise durch Komprimierung oder Caching, oder indem Sie hinsichtlich der Konsistenz mehr Toleranz einräumen.

Bewährte Methoden

Auswahl

Die optimale Lösung für eine bestimmte 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 den folgenden Fragen geht es um diese Überlegungen zu (untere Säule).

PERF 1: Was ist bei der Wahl einer leistungsfähigen Architektur zu beachten?

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 APN-Partner (AWS Partner Network) 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

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 ist die Datenverarbeitung in drei Formen verfügbar: Instances, Container und Funktionen:

  • Instances sind virtualisierte Server, mit denen Sie deren Leistungsmerkmale über eine Schaltfläche oder einen API-Aufruf ändern 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 abstrahieren die Ausführungsumgebung vom auszuführenden Code. Mit AWS Lambda können Sie beispielsweise Code ohne eine Instance ausführen.

In den folgenden Fragen geht es um diese Überlegungen zu (untere Säule).

PERF 2: Was ist bei der Wahl der Datenverarbeitungslösung zu beachten?

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

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 % 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 den folgenden Fragen geht es um diese Überlegungen zu (untere Säule).

PERF 3: Was ist bei der Wahl der Speicherlösung zu beachten?

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

Datenbank

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. Bei 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 selbst reparierenden Speicher und eine automatisierte Skalierung. So können Sie sich ganz auf die Entwicklung höherwertiger Anwendungen konzentrieren.

In den folgenden Fragen geht es um diese Überlegungen zu (untere Säule).

PERF 4: Was ist bei der Wahl der Datenbanklösung zu beachten?

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

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 den folgenden Fragen geht es um diese Überlegungen zu (untere Säule).

PERF 5: Was ist beim Konfigurieren der Netzwerklösung zu beachten?

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üfung

Da sich Cloud-Technologien schnell weiterentwickeln, müssen Sie zur kontinuierlichen Leistungssteigerung dafür sorgen, dass für Workload-Komponenten neue 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 den folgenden Fragen geht es um diese Überlegungen zu (untere Säule).

PERF 6: Wie profitiert Ihren Workload von neuen Releases?

Wenn Architekturen eine schlechte Leistung aufweisen, liegt dies normalerweise daran, dass ein Prozess zu Ü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

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 den folgenden Fragen geht es um diese Überlegungen zu (untere Säule).

PERF 7: Wie lassen sich Ressourcen überwachen, um sicherzustellen, dass sie funktionieren?

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

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 den folgenden Fragen geht es um diese Überlegungen zu (untere Säule).

PERF 8: Wie lässt sich Leistung durch Kompromisse verbessern?

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 sich Ihre Kompromisse auf die Workload niederschlagen. Stellen Sie anhand eines systematischen Ansatzes fest (z. B. Lasttests), ob sich die Leistung durch den Kompromiss tatsächlich verbessert.

Ressourcen

Werfen Sie einen Blick auf die folgenden Ressourcen, um mehr über unsere bewährten Methoden für (Säule) zu erfahren.

Performance Efficiency Pillar
Amazon S3 Performance Optimization
Amazon EBS Volume Performance
AWS re:Invent 2019: Amazon EC2 foundations (CMP211-R2)
AWS re:Invent 2019: Leadership session: Storage state of the union (STG201-L)
AWS re:Invent 2019: Leadership session: AWS purpose-built databases (DAT209-L)
AWS re:Invent 2019: Connectivity to AWS and hybrid AWS network architectures (NET317-R1)
AWS re:Invent 2019: Powering next-gen Amazon EC2: Deep dive into the Nitro system (CMP303-R2)
AWS re:Invent 2019: Scaling up to your first 10 million users (ARC211-R)