SUS02-BP01 Dynamisches Skalieren der Workload-Infrastruktur - AWS Well-Architected Framework

SUS02-BP01 Dynamisches Skalieren der Workload-Infrastruktur

Nutzen Sie die Elastizität der Cloud und skalieren Sie Ihre Infrastruktur dynamisch, um das Angebot an Cloud-Ressourcen an die Nachfrage anzupassen und eine Überbereitstellung bei Ihren Workloads zu vermeiden.

Typische Anti-Muster:

  • Sie skalieren Ihre Infrastruktur nicht mit der Benutzerlast.

  • Sie skalieren Ihre Infrastruktur stets manuell.

  • Sie belassen die erhöhte Kapazität nach dem Hochskalieren, anstatt wieder herunterzuskalieren.

Vorteile der Einführung dieser bewährten Methode: Das Konfigurieren und Testen der Workload-Elastizität trägt dazu bei, das Angebot an Cloud-Ressourcen effizient an die Nachfrage anzupassen und eine Überbereitstellung von Kapazitäten zu vermeiden. Sie können die Vorteile der Elastizität in der Cloud nutzen, um die Kapazität während und nach Nachfragespitzen automatisch zu skalieren und so sicherzustellen, dass Sie nur die richtige Anzahl von Ressourcen nutzen, die für die Erfüllung Ihrer Geschäftsanforderungen erforderlich ist.

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

Implementierungsleitfaden

Die Cloud bietet Ihnen die Flexibilität, Ressourcen dynamisch durch verschiedene Mechanismen zu erweitern oder zu reduzieren, um einem veränderten Bedarf gerecht zu werden. Eine optimale Abstimmung von Angebot und Nachfrage führt zu den geringsten Auswirkungen auf die Umgebung für einen bestimmten Workload.

Die Nachfrage kann fest oder variabel sein und erfordert Metriken und Automatisierung, um sicherzustellen, dass die Verwaltung nicht zur Last wird. Anwendungen können vertikal (nach oben oder unten) skaliert werden, indem die Instance-Größe geändert wird, horizontal (nach innen oder außen), indem die Anzahl der Instances geändert wird, oder eine Kombination aus beidem.

Sie können verschiedene Ansätze nutzen, um das Angebot an Ressourcen auf die Nachfrage abzustimmen.

  • Zielverfolgungsansatz: Überwachen Sie Ihre Skalierungsmetriken und erhöhen oder verringern Sie die Kapazität automatisch Ihrem Bedarf entsprechend.

  • Prädiktives Skalieren: Skalieren Sie entsprechend der erwarteten täglichen und wöchentlichen Entwicklungen.

  • Zeitplanbasierter Ansatz: Legen Sie Ihren eigenen Skalierungsplan entsprechend den vorhersehbaren Auslastungsänderungen fest.

  • Service-Skalierung: Wählen Sie Services (wie Serverless), die nativ planmäßig skalierbar sind oder das Auto-Scaling als Funktion bieten.

Identifizieren Sie Zeiträume mit geringer oder gar keiner Nutzung und skalieren Sie Ressourcen, um überschüssige Kapazitäten zu entfernen und die Effizienz zu verbessern.

Implementierungsschritte

  • Elastizität ermöglicht das Anpassen der verfügbaren Ressourcen an den Bedarf. Instances, Container und Funktionen bieten Mechanismen für Elastizität, entweder in Kombination mit Auto-Scaling oder als Funktion des Services. AWS bietet eine Reihe von Mechanismen für das Auto-Scaling, um sicherzustellen, dass Workloads in Zeiten geringer Benutzerlast schnell und einfach herunterskaliert werden können. Hier sind einige Beispiele für Auto-Scaling-Mechanismen:

    Auto scaling mechanism Where to use

    Amazon EC2 Auto Scaling

    Verwenden Sie diesen Mechanismus, um zu überprüfen, ob Sie die richtige Anzahl an Amazon EC2-Instances zur Verfügung haben, um die Benutzerlast für Ihre Anwendung zu bewältigen.

    Application Auto Scaling

    Verwenden Sie diesen Mechanismus,um die Ressourcen für einzelne AWS-Services über Amazon EC2 hinaus automatisch zu skalieren, z. B. Lambda-Funktionen oder Amazon Elastic Container Service (Amazon ECS)-Services.

    Kubernetes Cluster Autoscaler

    Verwenden Sie diesen Mechanismus, um Kubernetes-Cluster in AWS automatisch zu skalieren.

  • Das Skalieren wird häufig im Zusammenhang mit Datenverarbeitungsservices wie Amazon EC2-Instances oder AWS Lambda-Funktionen genannt. Ziehen Sie die Konfiguration von nicht Daten verarbeitenden Services wie Amazon DynamoDB-Lese- und Schreibkapazitätseinheiten oder Amazon Kinesis Data Streams-Shards in Betracht, um die Nachfrage zu decken.

  • Prüfen Sie, ob die Metriken zum Hoch- oder Herunterskalieren für die jeweilige Art des bereitgestellten Workloads überprüft werden. Wenn Sie eine Anwendung zur Video-Transkodierung bereitstellen, wird eine CPU-Auslastung von 100 % erwartet, weshalb dies nicht die Hauptmetrik sein sollte. Sie können bei Bedarf eine benutzerdefinierte Metrik (z. B. die Speichernutzung) für Ihre Skalierungsrichtlinie verwenden. Beachten Sie zur Auswahl der geeigneten Metriken die folgenden Hinweise zu Amazon EC2:

    • Es sollte sich um eine gültige Nutzungsmetrik handeln, die beschreibt, wie stark eine Instance genutzt wird.

    • Der Metrikwert muss proportional zur Anzahl der Instances in der Auto Scaling-Gruppe steigen oder sinken.

  • Verwenden Sie für Ihre Auto Scaling-Gruppe eine dynamische Skalierung anstelle einer manuellen Skalierung. Wir empfehlen außerdem, dass Sie bei der dynamischen Skalierung Richtlinien zur Zielverfolgung verwenden.

  • Stellen Sie sicher, dass Workload-Bereitstellungen sowohl Hoch- als auch Herunterskalierungsereignisse verarbeiten können. Erstellen Sie Testszenarien für Herunterskalierungsereignisse, um zu überprüfen, ob sich der Workload wie erwartet verhält und die Benutzererfahrung nicht beeinträchtigt (z. B. Verlust von Sticky Sessions). Sie können die Aktivitätshistorie verwenden, um eine Skalierungsaktivität für eine Auto Scaling-Gruppe zu überprüfen.

  • Evaluieren Sie Ihren Workload auf vorhersagbare Muster und skalieren Sie proaktiv, wenn Sie vorhergesagte und geplante Änderungen der Nachfrage erwarten. Mit der prädiktiven Skalierung können Sie die Notwendigkeit einer Überbereitstellung von Kapazität vermeiden. Weitere Einzelheiten finden Sie unter Prädiktive Skalierung mit Amazon EC2 Auto Scaling.

Ressourcen

Zugehörige Dokumente:

Zugehörige Videos:

Zugehörige Beispiele: