REL 7: Wie lässt sich die Workload so gestalten, dass sie sich an Bedarfsänderungen anpasst?
Eine skalierbare Workload bietet die Elastizität, Ressourcen automatisch entsprechend dem aktuellen Bedarf hinzuzufügen oder zu entfernen.
Ressourcen
AWS Auto Scaling: How Scaling Plans Work
What Is Amazon EC2 Auto Scaling?
Managing Throughput Capacity Automatically with DynamoDB Auto Scaling
What is Amazon CloudFront?
Distributed Load Testing on AWS: simulate thousands of connected users
Telling Stories About Little's Law
AWS Marketplace: products that can be used with auto scaling
APN Partner: partners that can help you create automated compute solutions
Bewährte Methoden:
-
Automatisiertes Abrufen oder Skalieren von Ressourcen: Wenn Sie beeinträchtigte Ressourcen ersetzen oder Ihre Workload skalieren, können Sie den Prozess mithilfe von verwalteten AWS-Services wie Amazon S3 und AWS Auto Scaling automatisieren. Die Skalierung können Sie auch mit Tools von Drittanbietern und AWS SDKs automatisieren.
-
Abrufen von Ressourcen bei Erkennung einer Beeinträchtigung einer Workload: Skalieren Sie Ressourcen bei Bedarf reaktiv, wenn die Verfügbarkeit beeinträchtigt ist, um die Verfügbarkeit der Workload wiederherzustellen.
-
Abrufen von Ressourcen bei Feststellung, dass für eine Workload mehr Ressourcen benötigt werden: Skalieren Sie Ressourcen proaktiv, um den Bedarf zu erfüllen und Auswirkungen auf die Verfügbarkeit zu vermeiden.
-
Durchführen von Lasttests für die Workload: Messen Sie anhand von Lasttests, ob die Skalierung den Workload-Anforderungen gerecht wird.
Verbesserungsplan
Automatisiertes Abrufen oder Skalieren von Ressourcen
What is AWS Auto Scaling?
- Sie können Auto Scaling nach Bedarf für Amazon EC2-Instances und Spot-Flotten, Amazon
ECS-Aufgaben, Amazon DynamoDB-Tabellen und -Indizes, Amazon Aurora Replicas und Appliances
aus AWS Marketplace konfigurieren.
Managing throughput capacity automatically with DynamoDB Auto Scaling- Legen Sie über die Service-API Alarme, Skalierungsrichtlinien sowie Aufwärm- und Abkühlungszeiten fest.
What is Elastic Load Balancing?
- Application Load Balancer können Lasten nach Pfaden verteilen.
What is an Application Load Balancer?- Konfigurieren Sie einen Application Load Balancer, um Datenverkehr basierend auf dem Pfad unter dem Domänennamen auf verschiedene Workloads zu verteilen.
- Mit Application Load Balancern können Sie Lasten entsprechend dem AWS Auto Scaling
verteilen, um den Bedarf zu verwalten.
Using a load balancer with an Auto Scaling group
- Network Load Balancer können Lasten nach Verbindungen verteilen.
What is a Network Load Balancer?- Konfigurieren Sie einen Network Load Balancer, um Datenverkehr auf verschiedene Workloads mit TCP zu verteilen oder einen konstanten Satz von IP-Adressen für die Workload festzulegen.
- Mit Network Load Balancern können Sie Lasten entsprechend dem AWS Auto Scaling verteilen, um den Bedarf zu verwalten.
- Nutzen von Amazon Route 53 oder eines vertrauenswürdigen DNS-Anbieters
What is Amazon Route 53? - Mit Route 53 können Sie Ihre CloudFront-Verteilungen und Load Balancer verwalten.
- Ermitteln Sie die zu verwaltenden Domänen und Subdomänen.
- Erstellen Sie entsprechende Datensätze mithilfe von ALIAS- oder CNAME-Datensätzen.
Working with records
- Bei AWS Global Accelerator handelt es sich um einen Service, der die Verfügbarkeit
und Leistung der Anwendungen bei lokalen oder weltweiten Benutzern verbessert. Er
stellt statische IP-Adressen bereit, die als fester Einstiegspunkt zu den Anwendungsendpunkten
in einer einzelnen oder in mehreren AWS-Regionen fungieren, z. B. Application Load
Balancer, Network Load Balancer oder Amazon EC2-Instances.
What Is AWS Global Accelerator?
What is Amazon CloudFront?
- Konfigurieren Sie Amazon CloudFront-Verteilungen für Ihre Workloads oder verwenden
Sie das CDN eines Drittanbieters.
- Sie können festlegen, dass die Workloads nur über CloudFront zugänglich sind. Legen Sie hierfür die IP-Bereiche für CloudFront in den Sicherheitsgruppen oder Zugriffsrichtlinien der Endpunkte fest.
Abrufen von Ressourcen bei Erkennung einer Beeinträchtigung einer Workload
- Verwenden Sie Skalierungspläne; sie bilden die Kernkomponente von AWS Auto Scaling.
Dort konfigurieren Sie Anweisungen für die Skalierung Ihrer Ressourcen. Wenn Sie mit
AWS CloudFormation arbeiten oder Tags zu AWS-Ressourcen hinzufügen, können Sie pro
Anwendung Skalierungspläne für verschiedene Ressourcengruppen einrichten. AWS Auto
Scaling bietet Empfehlungen für Skalierungsstrategien, die an die einzelnen Ressourcen
angepasst sind. Nachdem Sie einen Skalierungsplan erstellt haben, kombiniert AWS Auto
Scaling zur Unterstützung Ihrer Skalierungsstrategie Methoden für die dynamische und
prädiktive Skalierung.
AWS Auto Scaling: How Scaling Plans Work - Mit Amazon EC2 Auto Scaling können Sie sicherstellen, dass Ihnen die richtige Anzahl
von Amazon EC2-Instances zur Verfügung steht, um die Anwendungslast zu bewältigen.
Sie erstellen Sammlungen von EC2-Instances, die als Auto Scaling-Gruppen bezeichnet
werden. In jeder Auto Scaling-Gruppe können Sie die Mindestanzahl von Instances angeben.
Amazon EC2 Auto Scaling stellt dann sicher, dass die Gruppe diese Größe nie unterschreitet.
In jeder Auto Scaling-Gruppe können Sie die Höchstzahl von Instances angeben. Amazon
EC2 Auto Scaling stellt dann sicher, dass die Gruppe diese Größe nie überschreitet.
What Is Amazon EC2 Auto Scaling? - Bei der automatischen Skalierung von Amazon DynamoDB wird der AWS Application Auto
Scaling-Service genutzt, um die bereitgestellte Durchsatzleistung in Ihrem Auftrag
dynamisch an die Muster des tatsächlichen Datenverkehrs anzupassen. So kann eine Tabelle
oder ein globaler Sekundärindex die bereitgestellte Lese- und Schreibkapazität erhöhen,
um einen plötzlichen Anstieg des Datenverkehrs ohne Drosselung zu bewältigen.
Managing Throughput Capacity Automatically with DynamoDB Auto Scaling
Abrufen von Ressourcen bei Feststellung, dass für eine Workload mehr Ressourcen benötigt
werden
- Berechnen Sie, wie viele Rechenressourcen Sie benötigen (Gleichzeitigkeit der Datenverarbeitung),
um eine bestimmte Anfragerate zu verarbeiten.
Telling Stories About Little's Law - Wenn Sie über ein Verlaufsmuster für die Nutzung verfügen, richten Sie die geplante
Skalierung für Amazon EC2 Auto Scaling ein.
Scheduled Scaling for Amazon EC2 Auto Scaling - Verwenden der vorausschauenden Skalierung von AWS
Predictive Scaling for EC2, Powered by Machine Learning
Durchführen von Lasttests für die Workload
Distributed Load Testing on AWS: simulate thousands of connected users
- Ermitteln der Zusammensetzung von Anfragen: Möglicherweise haben Sie unterschiedliche Zusammensetzungen von Anfragen. Daher sollten Sie sich bei der Ermittlung der Zusammensetzung des Datenverkehrs verschiedene Zeiträume ansehen.
- Implementieren eines Lasttreibers: Zum Implementieren eines Lasttreibers können Sie Software mit eigenem Code, Open-Source-Software oder kommerzielle Software verwenden.
- Durchführen von Lasttests zunächst mit geringer Kapazität: Schon bei der Erhöhung der Last für eine Einheit mit geringerer Kapazität, etwa einer einzelnen Instance oder einem einzelnen Container, stellen Sie unmittelbare Auswirkungen fest.
- Durchführen von Lasttests mit größerer Kapazität: Bei einer verteilten Last sehen die Auswirkungen anders aus. Daher müssen Sie bei Tests Bedingungen herstellen, die der Produktionsumgebung möglichst nahekommen.