Google Cloud-Architektur-Framework

Last reviewed 2024-08-27 UTC

Das Google Cloud Architektur-Framework bietet Empfehlungen und beschreibt Best Practices, mit denen Architekten, Entwickler, Administratoren und andere Cloud-Experten eine Cloud-Topologie entwerfen und betreiben können, die sicher, effizient, stabil, leistungsstark und kostengünstig ist. Das Google Cloud-Architektur-Framework ist unsere Version eines gut Architektur-Frameworks.

Ein funktionsübergreifendes Team von Experten überprüft die Empfehlungen und Best Practices des Architektur-Frameworks. Das Team stellt das Architektur-Framework so zusammen, dass die zunehmenden Funktionen von Google Cloud, Best Practices der Branche, Community-Wissen und Feedback von Ihnen widergespiegelt werden. Eine Zusammenfassung der wichtigsten Änderungen finden Sie unter Das ist neu.

Die Designanleitung im Architektur-Framework gilt für Anwendungen, die für die Cloud entwickelt wurden, und für Arbeitslasten, die von lokalen Umgebungen zu Google Cloud migriert werden, Hybrid-Cloud-Bereitstellungen und Multi-Cloud-Umgebungen.

Kategorien des Architektur-Frameworks

Das Google Cloud Architektur-Framework ist in fünf Kategorien unterteilt (auch als Säulen bezeichnet), wie im folgenden Diagramm dargestellt:

Google Cloud-Architektur-Framework.

Operative Exzellenz
Cloud-Arbeitslasten effizient bereitstellen, betreiben, überwachen und verwalten.
Sicherheit, Datenschutz und Compliance
Maximieren Sie die Sicherheit Ihrer Daten und Arbeitslasten in der Cloud, entwickeln Sie sie für den Datenschutz und passen Sie sie an rechtliche Bestimmungen und Standards an.
Zuverlässigkeit
Entwickeln und betreiben Sie stabile und hochverfügbare Arbeitslasten in der Cloud.
Kostenoptimierung
Maximieren Sie den Wert Ihrer Investition in Google Cloud.
Leistungsoptimierung
Erstellen und optimieren Sie Ihre Cloud-Ressourcen für eine optimale Leistung.

Grundprinzipien

Bevor Sie sich mit den Empfehlungen in den einzelnen Kategorien des Architektur-Frameworks vertraut machen, lesen Sie die folgenden Grundprinzipien:

Design für Veränderungen

Kein System ist statisch. Die Anforderungen der Nutzer, die Ziele des Teams, das das System erstellt, und das System selbst ändern sich ständig. Berücksichtigen Sie die Notwendigkeit von Änderungen und entwickeln Sie einen Entwicklungs- und Produktionsprozess, mit dem Teams regelmäßig kleine Änderungen vornehmen und schnell Feedback zu diesen Änderungen erhalten können. Wenn Sie regelmäßig nachweisen, dass Sie Änderungen einführen können, stärken Sie das Vertrauen der Stakeholder, einschließlich der für das System zuständigen Teams und der Nutzer des Systems. Mit den Messwerten zur Softwarebereitstellung von DORA kann Ihr Team die Geschwindigkeit, Einfachheit und Sicherheit von Änderungen am System im Blick behalten.

Architektur dokumentieren

Wenn Sie mit dem Verschieben Ihrer Arbeitslasten in die Cloud oder mit dem Erstellen Ihrer Anwendungen beginnen, kann das Fehlen einer Dokumentation des Systems ein Hauptblock sein. Die Dokumentation ist besonders wichtig, um die Architektur Ihrer aktuellen Bereitstellungen korrekt zu visualisieren.

Eine qualitativ hochwertige Dokumentation ist nicht durch die Erstellung einer bestimmten Menge an Dokumentation zu erreichen, sondern durch die Klarheit der Inhalte, ihre Nützlichkeit und ihre Pflege bei Änderungen am System.

Eine ordnungsgemäß dokumentierte Cloud-Architektur legt eine gemeinsame Sprache und Standards fest, die es funktionsübergreifenden Teams ermöglichen, effektiv zu kommunizieren und zusammenzuarbeiten. Die Dokumentation enthält auch die Informationen, die zur Ermittlung und Steuerung zukünftiger Designentscheidungen erforderlich sind. Die Dokumentation sollte unter Berücksichtigung Ihrer Anwendungsfälle geschrieben werden, um Kontext für die Designentscheidungen zu bieten.

Im Laufe der Zeit werden sich Ihre Designentscheidungen weiterentwickeln und ändern. Der Änderungsverlauf liefert die Kontextinformationen, die Ihre Teams benötigen, um Initiativen abzustimmen, Duplikate zu vermeiden und Leistungsänderungen im Zeitverlauf effektiv zu messen. Änderungslogs sind besonders nützlich, wenn Sie einen neuen Cloud-Architekten einrichten, der mit Ihrem aktuellen Design, Ihrer Strategie oder Ihrem Verlauf noch nicht vertraut ist.

Eine Analyse von DORA hat einen klaren Zusammenhang zwischen der Qualität der Dokumentation und der Leistung der Organisation gezeigt – also der Fähigkeit der Organisation, ihre Leistungs- und Rentabilitätsziele zu erreichen.

Design vereinfachen und vollständig verwaltete Dienste nutzen

Einfachheit ist für das Design entscheidend. Wenn Ihre Architektur zu komplex ist, um sie zu verstehen, ist es schwierig, das Design zu implementieren und im Laufe der Zeit zu verwalten. Verwenden Sie nach Möglichkeit vollständig verwaltete Dienste, um die Risiken, den Zeit- und Arbeitsaufwand für die Verwaltung und Wartung von Basissystemen zu minimieren.

Wenn Sie Ihre Arbeitslasten bereits in der Produktion laufen lassen, sollten Sie mit verwalteten Diensten testen, wie sie Ihnen helfen können, die betriebliche Komplexität zu verringern. Wenn Sie neue Arbeitslasten entwickeln, fangen Sie einfach an, erstellen Sie ein minimales Viable Product (MVP) und widerstehen Sie dem Drang zum Over-Engineering. Sie können außergewöhnliche Anwendungsfälle identifizieren, Ihre Systeme iterieren und im Laufe der Zeit verbessern.

Architektur entkoppeln

Studien von DORA haben ergeben, dass die Architektur für die erfolgreiche Umsetzung von Continuous Delivery eine entscheidende Rolle spielt. Entkoppeln ist eine Technik, die zum Trennen Ihrer Anwendungen und Dienstkomponenten in kleinere Komponenten verwendet wird, die unabhängig voneinander ausgeführt werden können. Sie können beispielsweise ein monolithisches Anwendungspaket in einzelne Dienstkomponenten unterteilen. In einer lose gekoppelten Architektur kann eine Anwendung ihre Funktionen unabhängig von den verschiedenen Abhängigkeiten ausführen.

Eine entkoppelte Architektur bietet Ihnen mehr Flexibilität bei den folgenden Aufgaben:

  • Unabhängige Upgrades anwenden.
  • Bestimmte Sicherheitskontrollen durchsetzen.
  • Zuverlässigkeitsziele für jedes Subsystem festlegen.
  • Zustand überwachen.
  • Granulare Leistung und Kostenparameter steuern.

Sie können bereits früh in Ihrer Designphase entkoppeln oder sie als Teil Ihrer Systemupgrades integrieren, wenn Sie skalieren.

Zustandslose Architektur verwenden

Eine zustandslose Architektur kann sowohl die Zuverlässigkeit als auch die Skalierbarkeit Ihrer Anwendungen erhöhen.

Zustandsorientierte Anwendungen benötigen verschiedene Abhängigkeiten, um Aufgaben wie das lokale Caching von Daten auszuführen. Zustandsorientierte Anwendungen erfordern oft zusätzliche Mechanismen, um den Fortschritt zu erfassen und ordnungsgemäß neu zu starten. Zustandslose Anwendungen können Aufgaben ohne signifikante lokale Abhängigkeiten ausführen, indem sie freigegebenen Speicher oder im Cache gespeicherte Dienste verwenden. Eine zustandslose Architektur ermöglicht es Ihnen, Anwendungen mit minimalen Boot-Abhängigkeiten schnell zu skalieren. Die Anwendungen können soliden Neustarts standhalten, eine geringere Ausfallzeit aufweisen und eine bessere Leistung für Endnutzer bieten.