Dieser Grundsatz in der Säule „Zuverlässigkeit“ des Google Cloud Well-Architected Framework enthält Empfehlungen zur Verwendung der horizontalen Skalierbarkeit. Durch die Verwendung der horizontalen Skalierbarkeit können Sie dazu beitragen, dass Ihre Arbeitslasten in Google Cloud effizient skaliert werden können und die Leistung erhalten bleibt.
Dieser Grundsatz ist für den Umfang Fokusbereich der Zuverlässigkeit relevant.
Grundsatzübersicht
Architektur Ihres Systems zu einer horizontalen Architektur umgestalten. Um dem Anstieg des Traffics oder der 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 die Einschränkungen der vertikalen Skalierung berücksichtigen.
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. Schließlich erreicht die Datenbank das Arbeitsspeicherlimit 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. Die VM-Größen sind nicht unbegrenzt. Die Datenbank kann einen Punkt erreichen, an dem es nicht mehr möglich ist, weitere Ressourcen hinzuzufügen.
Auch wenn die 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.
Neben 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 entwickelt wurde, nahezu 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 Empfehlungen in den folgenden Unterabschnitten können Ihnen bei der horizontalen Skalierung helfen.
Verwaltete Dienste verwenden
Bei verwalteten Diensten ist keine manuelle Verwaltung der horizontalen Skalierung erforderlich. Mit verwalteten Instanzgruppen (Managed Instance Groups, MIGs) von Compute Engine 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 basierend auf dem eingehenden Traffic skalieren kann.
Modulares Design fördern
Modulare Komponenten und klare Schnittstellen helfen Ihnen, einzelne Komponenten nach Bedarf zu 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 so gestalten, dass sie zustandslos sind, d. h. keine lokal gespeicherten Daten haben. So können Sie Instanzen hinzufügen oder entfernen, ohne sich um die Datenkonsistenz sorgen zu müssen.