

# KOSTEN 9 Wie verwalten Sie die Nachfrage und stellen Ressourcen bereit?
<a name="w2aac19c13c11b5"></a>

Stellen Sie bei einem Workload mit ausgewogenen Ausgaben und Leistungen sicher, dass alles, wofür Sie bezahlen, genutzt wird, und vermeiden Sie eine erhebliche Unterauslastung der Instances. Eine verschobene Auslastungsmetrik in einer der Richtungen wirkt sich nachteilig auf Ihr Unternehmen aus, entweder im Hinblick auf die Betriebskosten (verschlechterte Leistung aufgrund von Überbelegung) oder auf die verschwendeten AWS-Ausgaben (aufgrund von Überversorgung).

**Topics**
+ [COST09-BP01 Analyse des Workload-Bedarfs](cost_manage_demand_resources_cost_analysis.md)
+ [COST09-BP02 Implementieren eines Puffers oder einer Drosselung zur Bedarfsverwaltung](cost_manage_demand_resources_buffer_throttle.md)
+ [COST09-BP03 Dynamische Bereitstellung von Ressourcen](cost_manage_demand_resources_dynamic.md)

# COST09-BP01 Analyse des Workload-Bedarfs
<a name="cost_manage_demand_resources_cost_analysis"></a>

 Analysieren Sie den Bedarf des Workloads im gesamten Zeitverlauf. Stellen Sie sicher, dass die Analyse saisonale Trends berücksichtigt und die Betriebsbedingungen über die gesamte Lebensdauer des Workloads genau wiedergibt. Der Analyseaufwand sollte in einem angemessenen Verhältnis zum potenziellen Nutzen stehen, z. B. muss der Zeitaufwand den Workload-Kosten entsprechen. 

 **Risikostufe, wenn diese bewährte Methode nicht eingeführt wird:** Hoch 

## Implementierungsleitfaden
<a name="implementation-guidance"></a>

Informieren Sie sich über die Anforderungen des Workloads. Die Anforderungen des Unternehmen sollten die Reaktionszeiten des Workloads für Anforderungen angeben. Die Reaktionszeit kann verwendet werden, um zu bestimmen, ob der Bedarf verwaltet wird oder ob sich das Angebot an Ressourcen ändert, um der Nachfrage gerecht zu werden.

Die Analyse sollte die Vorhersehbarkeit und Wiederholbarkeit der Nachfrage, die Änderungsrate der Nachfrage und die Menge der Nachfrageänderungen umfassen. Stellen Sie sicher, dass die Analyse über einen ausreichend langen Zeitraum ausgeführt wird, um saisonale Abweichungen wie die Verarbeitung am Ende des Monats oder Feiertagsspitzen einzubeziehen.

Stellen Sie sicher, dass der Analyseaufwand die potenziellen Vorteile der Implementierung der Skalierung widerspiegelt. Sehen Sie sich die erwarteten Gesamtkosten der Komponente sowie etwaige Erhöhungen oder Verringerungen der Nutzung und der Kosten während der Lebensdauer des Workloads an.

Sie können [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) oder [Amazon Quick](https://aws.amazon.com/quicksight/) mit AWS Cost and Usage Report (CUR) oder Ihren Anwendungsprotokollen verwenden, um eine visuelle Analyse des Workload-Bedarfs durchzuführen.

**Implementierungsschritte**
+ ** Analysieren vorhandener Workload-Daten: **Analysieren Sie Daten aus dem vorhandenen Workload, früheren Versionen des Workloads oder vorhergesagten Nutzungsmustern. Verwenden Sie Protokolldateien und Überwachungsdaten, um Einblicke in die Nutzung des Workloads durch Kunden zu erhalten. Typische Metriken sind der tatsächliche Bedarf nach Anfragen pro Sekunde, die Zeiten, in denen sich die Bedarfsrate ändert, oder wenn sie sich auf verschiedenen Ebenen befindet, sowie die Rate der Bedarfsänderung. Stellen Sie sicher, dass Sie einen vollständigen Workload-Zyklus analysieren und dass Sie Daten für saisonale Änderungen erfassen, z. B. Ereignisse am Monatsende oder am Ende des Jahres. Der in der Analyse reflektierte Aufwand sollte die Workload-Merkmale widerspiegeln. Der größte Aufwand sollte für hochwertige Workloads mit den größten Nachfrageänderungen betrieben werden. Der geringste Aufwand sollte für Workloads mit geringfügigen Nachfrageänderungen betrieben werden. Häufige Metriken für den Wert sind Risiko, Markenbewusstsein, Umsatz oder Workload-Kosten. 
+ ** Vorhersage externer Einflüsse: **Treffen Sie Teammitglieder aus der gesamten Organisation, die die Nachfrage im Workload beeinflussen oder ändern können. Häufig betroffene Teams sind Vertrieb, Marketing oder Geschäftsentwicklung. Arbeiten Sie mit ihnen zusammen, um die Zyklen kennenzulernen, mit denen sie arbeiten, und um zu erfahren, ob es Ereignisse gibt, die die Nachfrage des Workloads ändern könnten. Erstellen Sie eine Prognose des Workload-Bedarfs anhand dieser Daten. 

## Ressourcen
<a name="resources"></a>

 **Zugehörige Dokumente:** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [AWS Instance Scheduler](https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/) 
+  [Erste Schritte mit Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html) 
+ [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/)
+ [Amazon Quick](https://aws.amazon.com/quicksight/)

# COST09-BP02 Implementieren eines Puffers oder einer Drosselung zur Bedarfsverwaltung
<a name="cost_manage_demand_resources_buffer_throttle"></a>

 Pufferung und Drosselung ändern den Bedarf Ihres Workloads und glätten alle Spitzen. Implementieren Sie die Drosselung, wenn Ihre Clients Wiederholungen durchführen. Implementieren Sie die Pufferung, um die Anforderung zu speichern und die Verarbeitung auf einen späteren Zeitpunkt zu verschieben. Stellen Sie sicher, dass Ihre Drosselungen und Puffer so konzipiert sind, dass Clients in der erforderlichen Zeit eine Antwort erhalten. 

 **Risikostufe, wenn diese bewährte Methode nicht eingeführt wird:** Niedrig 

## Implementierungsleitfaden
<a name="implementation-guidance"></a>

**Drosselung:** Wenn die Quelle der Nachfrage über eine Wiederholungsfunktion verfügt, können Sie die Drosselung implementieren. Die Drosselung teilt der Quelle mit, dass wenn sie die Anforderung zum aktuellen Zeitpunkt nicht bedienen kann, sie es später erneut versuchen sollte. Die Quelle wartet einen bestimmten Zeitraum und wiederholt die Anforderung. Die Implementierung der Drosselung hat den Vorteil, dass die maximale Menge an Ressourcen und Kosten des Workloads begrenzt wird. In AWS können Sie [Amazon API Gateway](https://aws.amazon.com/api-gateway/) verwenden, um die Drosselung zu implementieren. Weitere Informationen zur Implementierung der Drosselung finden Sie im [Well-Architected Whitepaper zur Säule "Zuverlässigkeit"](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html) .

**Pufferung: **Ähnlich wie bei der Drosselung verschiebt ein Puffer die Anforderungsverarbeitung, sodass Anwendungen, die mit unterschiedlichen Raten ausgeführt werden, effektiv kommunizieren können. Bei der Pufferung werden Nachrichten (Arbeitseinheiten) von Produzenten in eine Warteschlange gestellt. Nachrichten können dadurch von Verbrauchern in der für ihre Geschäftsanforderungen passenden Geschwindigkeit gelesen und verarbeitet werden. Sie brauchen sich keine Gedanken darüber zu machen, wie Produzenten mit Drosselungsproblemen, z. B. der Datenbeständigkeit und dem Gegendruck, umgehen. Bei Gegendruck werden die Produzenten langsamer, damit die langsameren Verbraucher die Daten aufnehmen können.

In AWS können Sie zur Implementierung eines pufferbasierten Ansatzes aus mehreren Services wählen. [Amazon Simple Queue Service(Amazon SQS)](https://aws.amazon.com/sqs/) ist ein verwalteter Service, der Warteschlangen bietet, die es einem einzelnen Verbraucher ermöglichen, individuelle Nachrichten zu lesen. [Amazon Kinesis](https://aws.amazon.com/kinesis/) stellt einen Stream bereit, der es vielen Verbrauchern ermöglicht, dieselben Nachrichten zu lesen.

Stellen Sie bei der Architektur mit einem pufferbasierten Ansatz sicher, dass Sie Ihren Workload so gestalten, dass er die Anforderung in der erforderlichen Zeit erfüllt, und dass Sie doppelte Arbeitsanfragen verarbeiten können.

**Implementierungsschritte**
+ ** Analysieren der Client-Anforderungen: **Analysieren Sie die Client-Anforderungen, um zu bestimmen, ob sie Wiederholungen durchführen können. Für Clients, die keine Wiederholungen durchführen können, müssen Puffer implementiert werden. Analysieren Sie den Gesamtbedarf, die Änderungsrate und die erforderliche Reaktionszeit, um die Größe der erforderlichen Drosselung oder des Puffers zu bestimmen. 
+ ** Implementieren eines Puffers oder einer Drosselung:** Implementieren Sie einen Puffer oder eine Drosselung im Workload. Eine Warteschlange wie Amazon Simple Queue Service (Amazon SQS) kann für Ihre Workload-Komponenten einen Puffer bereitstellen. Amazon API Gateway kann eine Drosselung für Ihre Workload-Komponenten bereitstellen. 

## Ressourcen
<a name="resources"></a>

 **Zugehörige Dokumente:** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [AWS Instance Scheduler](https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/) 
+  [Amazon API Gateway](https://aws.amazon.com/api-gateway/) 
+  [Amazon Simple Queue Service](https://aws.amazon.com/sqs/) 
+  [Erste Schritte mit Amazon SQS](https://aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html) 
+  [Amazon Kinesis](https://aws.amazon.com/kinesis/) 

# COST09-BP03 Dynamische Bereitstellung von Ressourcen
<a name="cost_manage_demand_resources_dynamic"></a>

 Ressourcen werden geplant bereitgestellt. Dies kann bedarfsbasiert sein, z. B. durch Auto Scaling, oder zeitbasiert, wobei der Bedarf vorhersehbar ist und Ressourcen basierend auf der Zeit bereitgestellt werden. Diese Methoden führen dazu, dass die Über- oder Unterversorgung am geringsten ist. 

 **Risikostufe, wenn diese bewährte Methode nicht eingeführt wird:** Niedrig 

## Implementierungsleitfaden
<a name="implementation-guidance"></a>

Sie können [AWS Auto Scaling](https://aws.amazon.com/autoscaling/)verwenden oder die Skalierung in Ihren Code mit der [AWS API oder dem SDK einbinden](https://aws.amazon.com/developer/tools/). Dies reduziert Ihre Gesamtkosten für den Workload, da die Betriebskosten durch manuelle Änderungen an Ihrer Umgebung wegfallen, und kann viel schneller durchgeführt werden. Auf diese Weise wird sichergestellt, dass die Workload-Ressourcen jederzeit am besten mit der Nachfrage übereinstimmen.

**Nachfragebasiertes Angebot:** Nutzen Sie die Elastizität der Cloud, um Ressourcen bereitzustellen, die sich ändernde Anforderungen erfüllen. Nutzen Sie die Vorteile von APIs oder Service-Funktionen, um die Menge der Cloud-Ressourcen in Ihrer Architektur dynamisch zu variieren. Auf diese Weise können Sie Komponenten in Ihrer Architektur skalieren und die Anzahl der Ressourcen in Bedarfsspitzenzeiten zur Aufrechterhalten der Leistung automatisch erhöhen und die Kapazität zur Reduzierung der Kosten herabsetzen, wenn der Bedarf abklingt.

[AWS Auto Scaling](https://aws.amazon.com/autoscaling/) können Sie Ihre Kapazität anpassen, um eine stabile, vorhersehbare Leistung zu möglichst niedrigen Kosten aufrechtzuerhalten. Es handelt sich um einen vollständig verwalteten und kostenlosen Service, der sich in Amazon Elastic Compute Cloud-Instances (Amazon EC2) und Spot-Flotten, Amazon Elastic Container Service (Amazon ECS), Amazon DynamoDB und Amazon Aurora integrieren lässt.

Auto Scaling bietet eine automatische Ressourcenerkennung, um zu helfen, Ressourcen in Ihrem Workload zu finden, die konfiguriert werden können. Es verfügt über integrierte Skalierungsstrategien zur Optimierung der Leistung, der Kosten oder eines Gleichgewichts zwischen beiden Ressourcen und bietet eine prädiktive Skalierung, um regelmäßig auftretende Spitzen zu unterstützen.

Auto Scaling kann eine manuelle, geplante oder bedarfsbasierte Skalierung implementieren. Sie können auch Metriken und Alarme von [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) verwenden, um Skalierungsereignisse für Ihren Workload auszulösen. Typische Metriken können Amazon EC2-Standardmetriken sein, z. B. CPU-Auslastung, Netzwerkdurchsatz und [von Elastic Load Balancing(ELB) ](https://aws.amazon.com/elasticloadbalancing/)beobachtete Anforderungs-/Antwortlatenz. Wenn möglich, sollten Sie eine Metrik verwenden, die auf das Kundenerlebnis hinweist. In der Regel handelt es sich um eine benutzerdefinierte Metrik, die aus Anwendungscode innerhalb Ihres Workloads stammen kann.

Beim Aufbau der Architektur mit einem bedarfsbasierten Ansatz sollten Sie die folgenden beiden wichtigen Aspekte berücksichtigen: 1. Machen Sie sich damit vertraut, wie schnell Sie neue Ressourcen bereitstellen müssen. 2. Machen Sie sich damit vertraut, dass sich die Größe der Marge zwischen Angebot und Nachfrage ändern wird. Sie müssen darauf vorbereitet sein, das Intervall der Änderung in Bezug auf die Nachfrage zu verarbeiten, und auch Ressourcenfehler einkalkulieren.

[ELB](https://aws.amazon.com/elasticloadbalancing/) unterstützt Sie bei der Skalierung durch die Verteilung der Nachfrage auf mehrere Ressourcen. Wenn Sie weitere Ressourcen implementieren, fügen Sie sie dem Load Balancer hinzu, um die Nachfrage zu erfüllen. Elastic Load Balancing unterstützt Amazon EC2-Instances, Container, IP-Adressen und AWS Lambda-Funktionen.

**Zeitbasiertes Angebot:** Ein zeitbasierter Ansatz richtet die Ressourcenkapazität an Bedarfen aus, die prognostizierbar sind oder zeitlich gut definiert werden können. Dieser Ansatz ist in der Regel nicht abhängig vom Nutzungsgrad der Ressourcen. Mit einem zeitbasierten Ansatz können Sie sicherstellen, dass Ressourcen zu dem Zeitpunkt zur Verfügung stehen, zu dem sie benötigt werden, und ohne Verzögerung aufgrund von Startverfahren und System- oder Konsistenzprüfungen bereitgestellt werden können. Durch die Verwendung eines zeitbasierten Ansatzes können Sie zusätzliche Ressourcen hinzufügen oder die Kapazität in Spitzenzeiten erhöhen.

Sie können geplantes Auto Scaling verwenden, um einen zeitbasierten Ansatz zu implementieren. Workloads können zu bestimmten Zeiten auf Basis eines Zeitplans hoch- oder runterskaliert werden, z. B. zu Beginn der Geschäftszeiten, und damit sicherstellen, dass ausreichende Ressourcen verfügbar sind, wenn die Benutzer oder Nachfrage ankommen.

Sie können die [AWS-APIs und SDKs](https://aws.amazon.com/developer/tools/) und [AWS CloudFormation](https://aws.amazon.com/cloudformation/) nutzen, um vollständige Umgebungen bei Bedarf bereitzustellen oder zu deaktivieren. Dieser Ansatz eignet sich hervorragend für Entwicklungs- und Testumgebungen, die nur zu Geschäftszeiten oder in bestimmten Zeiträumen ausgeführt werden.

Mit APIs können Sie die Größe der Ressourcen innerhalb einer Umgebung skalieren (Stichwort: vertikales Skalieren). So könnten Sie beispielsweise einen Produktions-Workload hochskalieren, indem Sie die Instance-Größe oder -Klasse ändern. Stoppen und starten Sie dazu die Instance, und wählen Sie eine andere Instance-Größe oder -Klasse aus. Diese Technik kann auch auf andere Ressourcen angewendet werden, z. B. Amazon Elastic Block Store (Amazon EBS), bei denen Sie im laufenden Betrieb die Größe ändern, die Leistung anpassen (IOPS) oder den Volume-Typ ändern können.

Beim Aufbau der Architektur mit einem zeitbasierten Ansatz sollten Sie die beiden folgenden wichtigen Aspekte berücksichtigen: 1: Wie konsistent ist das Nutzungsmuster? 2. Wie wirken sich Musteränderungen aus? Sie können die Treffergenauigkeit für Prognosen durch die Überwachung Ihrer Workloads und die Verwendung von Business Intelligence erhöhen. Wenn Sie signifikante Änderungen im Nutzungsmuster erkennen, können Sie die Zeiten ändern, um eine Deckung zu gewährleisten.

**Implementierungsschritte**
+ ** Konfigurieren der zeitbasierten Planung: **Für vorhersehbare Änderungen des Bedarfs kann die zeitbasierte Skalierung die richtige Anzahl an Ressourcen in einem angemessenen Zeitraum bereitstellen. Es ist auch nützlich, wenn die Ressourcenerstellung und -konfiguration nicht schnell genug ist, um bei Bedarf auf Änderungen zu reagieren. Mithilfe der Workload-Analyse konfigurieren Sie die geplante Skalierung mithilfe von AWS Auto Scaling. 
+ ** Konfigurieren von Auto Scaling: **Verwenden Sie Amazon Auto Scaling, um die Skalierung basierend auf aktiven Workload-Metriken zu konfigurieren. Verwenden Sie die Analyse und konfigurieren Sie Auto Scaling so, dass es auf den richtigen Ressourcenebenen ausgelöst wird. Stellen Sie sicher, dass der Workload in der erforderlichen Zeit skaliert wird. 

## Ressourcen
<a name="resources"></a>

 **Zugehörige Dokumente:** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [AWS Instance Scheduler](https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/) 
+  [Erste Schritte mit Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [Erste Schritte mit Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html) 
+  [Geplante Skalierung für Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html) 