Dieses Prinzip in der Zuverlässigkeitssäule des Google Cloud Well-Architected Framework enthält Empfehlungen zur Verwendung der horizontalen Skalierbarkeit. Durch die horizontale Skalierbarkeit können Sie dafür sorgen, dass Ihre Arbeitslasten inGoogle Cloud effizient skaliert werden und die Leistung beibehalten wird.
Dieses Prinzip ist für den Schwerpunktbereich Umfang der Zuverlässigkeit relevant.
Übersicht über die Prinzipien
Strukturieren Sie Ihr System in eine horizontale Architektur um. Wenn der Traffic oder die Datenmenge zunimmt, können Sie weitere Ressourcen hinzufügen. Sie können Ressourcen auch entfernen, wenn sie nicht verwendet werden.
Um den Wert der horizontalen Skalierung zu verstehen, sollten Sie die Einschränkungen der vertikalen Skalierung berücksichtigen.
Ein gängiges Szenario für die vertikale Skalierung ist die Verwendung einer MySQL-Datenbank als primäre Datenbank mit kritischen Daten. Mit zunehmender Datenbanknutzung werden mehr RAM und CPU benötigt. Irgendwann erreicht die Datenbank das Speicherlimit auf dem Hostcomputer und muss aktualisiert werden. Dieser Vorgang muss möglicherweise mehrmals wiederholt werden. Das Problem ist, dass es feste Limits für das Wachstum einer Datenbank gibt. VM-Größen sind nicht unbegrenzt. Die Datenbank kann einen Punkt erreichen, an dem es nicht mehr möglich ist, weitere Ressourcen hinzuzufügen.
Selbst wenn die Ressourcen unbegrenzt wären, kann eine große VM zu einem Single Point of Failure werden. Probleme mit der primären Datenbank-VM können 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 Skalierungslimits ist die vertikale Skalierung in der Regel teurer. Die Kosten können exponentiell steigen, wenn Maschinen mit mehr Rechenleistung und Arbeitsspeicher erworben 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
Für den Übergang von einer Architektur mit einer einzelnen VM zu einer horizontalen Architektur mit mehreren Maschinen ist eine sorgfältige Planung und die Verwendung der richtigen Tools erforderlich. Beachten Sie die Empfehlungen in den folgenden Unterabschnitten, um eine horizontale Skalierung zu erreichen.
Verwaltete Dienste verwenden
Bei verwalteten Diensten müssen Sie die horizontale Skalierung nicht manuell verwalten. Mit verwalteten Compute Engine-Instanzgruppen (MIGs) können Sie beispielsweise VMs hinzufügen oder entfernen, um Ihre Anwendung horizontal zu skalieren. Für containerisierte Anwendungen ist Cloud Run eine serverlose Plattform, die Ihre zustandslosen Container automatisch anhand des eingehenden Traffics skalieren kann.
Modulares Design fördern
Mit modularen Komponenten und klaren Schnittstellen können Sie einzelne Komponenten nach Bedarf skalieren, anstatt die gesamte Anwendung zu skalieren. Weitere Informationen finden Sie unter Modulares Design fördern in der Säule „Leistungsoptimierung“.
Zustandsloses Design implementieren
Anwendungen sollten zustandslos sein, d. h. es werden keine Daten lokal gespeichert. So können Sie Instanzen hinzufügen oder entfernen, ohne sich Gedanken über die Datenkonsistenz machen zu müssen.