Dieses Prinzip in der Zuverlässigkeitssäule des Google Cloud Well-Architected Framework enthält Empfehlungen zur Verwendung horizontaler Skalierbarkeit. Durch die horizontale Skalierbarkeit können Sie dafür sorgen, dass Ihre Arbeitslasten inGoogle Cloud effizient skaliert werden und die Leistung beibehalten wird.
Dieser Grundsatz ist für den Fokusbereich Umfang der Zuverlässigkeit relevant.
Übersicht über die Grundsätze
Stellen Sie Ihr System auf eine horizontale Architektur um. Um dem Wachstum von Traffic oder Daten gerecht zu werden, können Sie weitere Ressourcen hinzufügen. Sie können auch Ressourcen entfernen, wenn sie nicht verwendet werden.
Um den Wert der horizontalen Skalierung zu verstehen, sollten Sie sich die Einschränkungen der vertikalen Skalierung ansehen.
Ein häufiges Szenario für die vertikale Skalierung ist die Verwendung einer MySQL-Datenbank als primäre Datenbank mit kritischen Daten. Mit zunehmender Datenbanknutzung sind mehr RAM und CPU erforderlich. Irgendwann erreicht die Datenbank das Speicherlimit auf dem Hostcomputer und muss aktualisiert werden. Möglicherweise müssen Sie diesen Vorgang mehrmals wiederholen. Das Problem ist, dass es feste Grenzen für das Wachstum einer Datenbank gibt. Die VM-Größen sind nicht unbegrenzt. Es kann ein Punkt erreicht werden, an dem der Datenbank keine weiteren Ressourcen mehr hinzugefügt werden können.
Auch wenn Ressourcen unbegrenzt wären, kann eine große VM zu einem Single Point of Failure werden. Jedes Problem mit der primären Datenbank-VM kann zu Fehlerantworten oder zu einem systemweiten Ausfall führen, der alle Nutzer betrifft. Vermeiden Sie Single Points of Failure, wie unter Hochverfügbare Systeme durch Ressourcenredundanz erstellen beschrieben.
Abgesehen von diesen Skalierungsgrenzen ist die vertikale Skalierung in der Regel teurer. Die Kosten können exponentiell steigen, wenn Maschinen mit mehr Rechenleistung und Arbeitsspeicher angeschafft werden.
Die horizontale Skalierung kann dagegen weniger kosten. Das Potenzial für die horizontale Skalierung ist in einem System, das für die Skalierung konzipiert ist, praktisch unbegrenzt.
Empfehlungen
Um von einer Architektur mit einer einzelnen VM zu einer horizontalen Architektur mit mehreren Maschinen zu wechseln, müssen Sie sorgfältig planen und die richtigen Tools verwenden. Die folgenden Unterabschnitte enthalten Empfehlungen, die Ihnen bei der horizontalen Skalierung helfen können.
Verwaltete Dienste verwenden
Bei verwalteten Diensten ist keine manuelle Verwaltung der horizontalen Skalierung erforderlich. Mit verwalteten Instanzgruppen (Managed Instance Groups, MIGs) in Compute Engine können Sie beispielsweise VMs hinzufügen oder entfernen, um Ihre Anwendung horizontal zu skalieren. Cloud Run ist eine serverlose Plattform für containerisierte Anwendungen, die Ihre zustandslosen Container automatisch auf Grundlage des eingehenden Traffics skaliert.
Modulares Design fördern
Modulare Komponenten und übersichtliche Schnittstellen ermöglichen es Ihnen, einzelne Komponenten nach Bedarf zu skalieren, anstatt die gesamte Anwendung. Weitere Informationen finden Sie unter Modulares Design fördern in der Spalte „Leistungsoptimierung“.
Zustandslose Architektur implementieren
Entwickeln Sie Anwendungen so, dass sie zustandslos sind, d. h., dass keine Daten lokal gespeichert werden. So können Sie Instanzen hinzufügen oder entfernen, ohne sich um die Datenkonsistenz sorgen zu müssen.