Elastizität nutzen

Last reviewed 2026-10-22 UTC

Dieses Prinzip in der Säule „Leistungsoptimierung“ des Google Cloud Well-Architected Framework enthält Empfehlungen, die Ihnen helfen, Elastizität einzubinden. Elastizität ist die Fähigkeit, Ressourcen dynamisch an Änderungen der Arbeitslastanforderungen anzupassen.

Dank der Elastizität können verschiedene Komponenten eines Systems unabhängig voneinander skaliert werden. Diese gezielte Skalierung kann die Leistung und Kosteneffizienz verbessern, da Ressourcen genau dort zugewiesen werden, wo sie benötigt werden, ohne dass Ressourcen über- oder unterdimensioniert werden.

Übersicht über die Prinzipien

Die Leistungsanforderungen eines Systems beeinflussen direkt, wann und wie das System vertikal oder horizontal skaliert wird. Sie müssen die Kapazität des Systems bewerten und die Last bestimmen, die das System voraussichtlich bei der Baseline bewältigen muss. Anschließend müssen Sie festlegen, wie das System auf Laststeigerungen und -senkungen reagieren soll.

Wenn die Last steigt, muss das System horizontal skalieren, vertikal skalieren oder beides. Fügen Sie für die horizontale Skalierung Replikatknoten hinzu, um sicherzustellen, dass das System insgesamt über genügend Kapazität verfügt, um die erhöhte Nachfrage zu erfüllen. Ersetzen Sie für die vertikale Skalierung die vorhandenen Komponenten der Anwendung durch Komponenten mit mehr Kapazität, mehr Arbeitsspeicher und mehr Speicherplatz.

Wenn die Last abnimmt, muss das System herunterskaliert werden (horizontal, vertikal oder beides).

Definieren Sie die Umstände, unter denen das System hoch- oder herunterskaliert wird. Planen Sie, Systeme für bekannte Zeiträume mit hohem Traffic manuell zu skalieren. Verwenden Sie Tools wie Autoscaling, die auf eine Erhöhung oder Verringerung der Last reagieren.

Empfehlungen

Wenn Sie die Elastizität nutzen möchten, beachten Sie die Empfehlungen in den folgenden Abschnitten.

Spitzenlastzeiten einplanen

Sie müssen einen effizienten Skalierungspfad für bekannte Ereignisse planen, z. B. erwartete Zeiträume mit erhöhter Kundennachfrage.

Erwägen Sie, Ihr System vor bekannten Zeiträumen mit hohem Traffic zu skalieren. Wenn Sie beispielsweise ein Einzelhandelsunternehmen sind, erwarten Sie, dass die Nachfrage während saisonaler Verkäufe steigt. Wir empfehlen, Ihre Systeme vor diesen Verkäufen manuell hoch- oder horizontal zu skalieren, damit Ihr System die erhöhte Last sofort bewältigen kann, oder vorhandene Limits sofort anzupassen. Andernfalls kann es einige Minuten dauern, bis das System Ressourcen als Reaktion auf Echtzeitänderungen hinzufügt. Die Kapazität Ihrer Anwendung erhöht sich möglicherweise nicht schnell genug, was bei einigen Nutzern zu Verzögerungen führen kann.

Bei unbekannten oder unerwarteten Ereignissen, z. B. einem plötzlichen Anstieg der Nachfrage oder des Traffics, können Sie Autoscaling-Funktionen verwenden, um eine elastische Skalierung basierend auf Messwerten auszulösen. Diese Messwerte können die CPU-Auslastung, die Bereitstellungskapazität des Load Balancers, die Latenz und sogar benutzerdefinierte Messwerte umfassen, die Sie in Cloud Monitoring definieren.

Angenommen, Sie haben eine Anwendung, die in einer verwalteten Instanzgruppe (MIG) von Compute Engine ausgeführt wird. Diese Anwendung erfordert, dass jede Instanz optimal funktioniert, bis die durchschnittliche CPU-Auslastung 75 % erreicht. In diesem Beispiel können Sie eine Autoscaling-Richtlinie definieren, die mehr Instanzen erstellt, wenn die CPU-Auslastung den Schwellenwert erreicht. Diese neu erstellten Instanzen tragen dazu bei, die Last zu bewältigen, sodass die durchschnittliche CPU-Auslastung auf einem optimalen Niveau bleibt, bis die maximale Anzahl von Instanzen erreicht ist, die Sie für die MIG konfiguriert haben. Wenn die Nachfrage sinkt, werden die nicht mehr benötigten Instanzen durch die Autoscaling-Richtlinie entfernt.

Planen Sie Ressourcen-Slot-Reservierungen in BigQuery oder passen Sie die Limits für Autoscaling-Konfigurationen in Spanner mit dem verwalteten Autoscaler an.

Vorausschauende Skalierung verwenden

Wenn Ihre Systemkomponenten Compute Engine enthalten, müssen Sie prüfen, ob vorausschauendes Autoscaling für Ihre Arbeitslast geeignet ist. Das vorausschauende Autoscaling prognostiziert die zukünftige Last anhand der Verlaufsdaten Ihrer Messwerte, z. B. der CPU-Auslastung. Prognosen werden alle paar Minuten neu berechnet, sodass das Autoscaling seine Prognose schnell an sehr aktuelle Laständerungen anpasst. Ohne vorausschauendes Autoscaling kann ein Autoscaling eine Gruppe nur reaktiv skalieren, basierend auf beobachteten Echtzeitänderungen der Last. Das vorausschauende Autoscaling funktioniert sowohl mit Echtzeitdaten als auch mit Verlaufsdaten, um sowohl auf die aktuelle als auch auf die prognostizierte Last zu reagieren.

Serverlose Architekturen implementieren

Erwägen Sie die Implementierung einer serverlosen Architektur mit serverlosen Diensten, die von Natur aus elastisch sind, z. B.:

Im Gegensatz zum Autoscaling bei anderen Diensten, die die Feinabstimmung von Regeln erfordern (z. B. Compute Engine), ist das serverlose Autoscaling sofort einsatzbereit und kann auf null Ressourcen heruntergefahren werden.

Autopilot-Modus für Kubernetes verwenden

Für komplexe Anwendungen, die mehr Kontrolle über Kubernetes erfordern, sollten Sie den Autopilot-Modus in Google Kubernetes Engine (GKE) in Betracht ziehen. Der Autopilot-Modus bietet standardmäßig Automatisierung und Skalierbarkeit. GKE skaliert Knoten und Ressourcen automatisch basierend auf dem Traffic. Die GKE verwaltet Knoten, erstellt neue Knoten für Ihre Anwendungen und konfiguriert automatische Upgrades und Reparaturen.