Computing auswählen und verwalten.

Last reviewed 2023-10-03 UTC

In diesem Dokument des Google Cloud-Architektur-Frameworks finden Sie Best Practices zum Bereitstellen Ihres Systems auf Grundlage der Computeranforderungen. Sie erfahren, wie Sie eine Computing-Plattform und einen Migrationsansatz auswählen, Arbeitslasten entwerfen und skalieren sowie Vorgänge und VM-Migrationen verwalten.

Die Berechnung ist der Kern vieler Arbeitslasten, unabhängig davon, ob es sich um die Ausführung einer benutzerdefinierten Geschäftslogik oder die Anwendung komplexer Berechnungsalgorithmen auf Datasets handelt. Die meisten Lösungen verwenden in irgendeiner Form Rechenressourcen und es ist wichtig, dass Sie die richtigen Rechenressourcen für Ihre Anwendungsanforderungen auswählen.

Google Cloud bietet mehrere Optionen zur Verwendung der Zeit auf einer CPU. Die Optionen basieren auf CPU-Typen, der Leistung und der geplanten Ausführung des Codes, einschließlich der Nutzungsabrechnung.

Zu den Google Cloud-Computing-Optionen gehören:

  • VMs (Virtuelle Maschinen) mit cloudspezifischen Vorteilen wie Live-Migration
  • Bin-Packing von Containern auf Cluster-Maschinen, die sich CPUs teilen können.
  • Functions und serverlose Ansätze, bei denen Ihre CPU-Zeit auf die Arbeit angerechnet werden kann, die während einer einzelnen HTTP-Anfrage ausgeführt wird.

Computing auswählen

Dieser Abschnitt enthält Best Practices zum Auswählen und Migrieren zu einer Computing-Plattform.

Computing-Plattform auswählen

Berücksichtigen Sie bei der Auswahl einer Computing-Plattform für Ihre Arbeitslast die technischen Anforderungen der Arbeitslast, der Prozesse für die Lebenszyklusautomatisierung, der Regionalisierung und der Sicherheit.

Bewerten Sie die Art der CPU-Nutzung durch Ihre Anwendung und das gesamte unterstützende System, einschließlich der Art und Weise, wie Ihr Code verpackt und bereitgestellt, verteilt und aufgerufen wird. Während einige Szenarien mit mehreren Plattformoptionen kompatibel sein können, sollte eine portable Arbeitslast auf einer Reihe von Compute-Optionen geeignet und leistungsfähig sein.

Die folgende Tabelle gibt einen Überblick über die für verschiedene Anwendungsfälle empfohlenen Google Cloud-Computing-Dienste:

Rechenplattform Anwendungsfälle Empfohlene Produkte
Serverlos
  • Erste Anwendung bereitstellen.
  • Konzentrieren Sie sich auf die Daten- und Verarbeitungslogik sowie auf die Anwendungsentwicklung, anstatt sich um die Verwaltung der Infrastrukturvorgänge zu kümmern.
  • Cloud Run: Mit dieser vollständig verwalteten Option können Sie Ihre Geschäftslogik in Container verlagern. Cloud Run wurde für Arbeitslasten entwickelt, die rechenintensiv, aber nicht immer aktiviert sind. Skalieren Sie kostengünstig von 0 (kein Traffic) und definieren Sie die CPU und den RAM für Ihre Aufgaben und Dienste. Stellen Sie diese mit einem einzigen Befehl bereit. Google stellt automatisch die richtige Menge an Ressourcen bereit.
  • Cloud Functions: Trennen Sie Ihren Code in flexible Teile der Geschäftslogik, ohne sich um die Infrastruktur wie Load-Balancing, Aktualisierungen, Authentifizierung oder Skalierung kümmern zu müssen.
Kubernetes Komplexe Mikrodienstarchitekturen, die zusätzliche Dienste wie Istio zur Verwaltung der Service Mesh-Steuerung benötigen.
  • Google Kubernetes Engine: Eine Open-Source-Engine zur Containerorchestrierung, die die Bereitstellung, Skalierung und Verwaltung von Containeranwendungen automatisiert.
Virtuelle Maschinen (VMs) Führen Sie allgemeine und spezialisierte Arbeitslasten auf VMs aus.

Weitere Informationen finden Sie unter Anwendungen in Google Cloud hosten.

Ansatz der Compute-Migration auswählen

Wenn Sie Ihre bestehenden Anwendungen aus einer anderen Cloud oder aus der lokalen Umgebung migrieren, verwenden Sie eines der folgenden Google Cloud-Produkte, um Leistung, Skalierung, Kosten und Sicherheit zu optimieren.

Migrationsziel Anwendungsfall Empfohlenes Produkt
Lift-and-Shift Migrieren Sie Ihre VMware-Arbeitslasten in wenigen Minuten zu Google Cloud. Google Cloud VMware Engine
Lift-and-Shift Verschieben Sie Ihre VM-basierten Anwendungen in Compute Engine. Migrate to Virtual Machines
Upgrade auf Container Modernisieren Sie Anwendungen in integrierte Container in Google Kubernetes Engine. Migrate to Containers

Informationen zum Migrieren Ihrer Arbeitslasten bei der Ausrichtung interner Teams finden Sie unter VM-Migrationslebenszyklus und Umfangreiches Migrationsprogramm mit Google Cloud erstellen.

Arbeitslasten entwerfen

Dieser Abschnitt enthält Best Practices zum Entwerfen von Arbeitslasten, die Ihr System unterstützen.

Serverlose Optionen für einfache Logik bewerten

Einfache Logik ist ein Computing-Typ, der keine speziellen Hardware oder Maschinentypen wie CPU-optimierte Maschinen erfordert. Bevor Sie in Google Kubernetes Engine (GKE)- oder Compute Engine-Implementierungen investieren, um den operativen Aufwand zu abstrahieren und Kosten und Leistung zu optimieren, evaluieren Sie die serverlosen Optionen für eine einfache Logik.

Anwendungen als zustandslos entkoppeln

Entkoppeln Sie Ihre Anwendungen nach Möglichkeit als zustandslos, um die Verwendung von Optionen für serverloses Computing zu maximieren. Mit diesem Ansatz können Sie verwaltete Computing-Angebote verwenden, Anwendungen nach Bedarf skalieren und Kosten und Leistung optimieren. Weitere Informationen zum Entkoppeln Ihrer Anwendung für die Skalierung und Hochverfügbarkeit finden Sie unter Für Skalierung und Hochverfügbarkeit entwerfen.

Caching-Logik zum Entkoppeln von Architekturen verwenden

Wenn Ihre Anwendung zustandsorientiert ist, verwenden Sie Caching-Logik, um Ihre Arbeitslast zu entkoppeln und skalierbar zu machen. Weitere Informationen finden Sie unter Best Practices für Datenbanken.

Live-Migrationen zur Vereinfachung von Upgrades verwenden

Verwenden Sie Live-Migration, indem Sie Instanzverfügbarkeitsrichtlinien festlegen, um Google-Wartungsupgrades zu erleichtern. Weitere Informationen finden Sie unter Wartungsrichtlinie für VM-Host festlegen.

Arbeitslasten skalieren

Dieser Abschnitt enthält Best Practices zum Skalieren von Arbeitslasten zur Unterstützung Ihres Systems.

Start- und Shutdown-Skripts verwenden

Verwenden Sie für zustandsorientierte Anwendungen nach Möglichkeit Startskripts und Shutdown-Skripts, um die Anwendung ordnungsgemäß zu starten und zu beenden. Ein ordnungsgemäßer Start ist, wenn ein Computer durch eine Softwarefunktion aktiviert wird und das Betriebssystem seine Aufgaben für das sichere Starten von Prozessen und das Öffnen von Verbindungen ausführen darf.

Ein ordnungsgemäßes Starten und Herunterfahren ist wichtig, da zustandsorientierte Anwendungen von der sofortigen Verfügbarkeit für die Daten abhängen, die sich in der Nähe der Rechenleistung befinden, normalerweise auf lokalen oder nichtflüchtigen Speichern oder im RAM. Damit nicht für jeden Startvorgang Anwendungsdaten neu ausgeführt werden müssen, verwenden Sie ein Startskript, um die zuletzt gespeicherten Daten neu zu laden und den Prozess auszuführen, bei dem sie zuvor beim Herunterfahren beendet wurden. Verwenden Sie ein Shutdown-Script, um den Speicherstatus der Anwendung zu speichern, damit kein Fortschritt beim Herunterfahren verloren geht. Verwenden Sie beispielsweise ein Shutdown-Script, wenn eine VM aufgrund von Herunterskalierung oder Google-Wartungsereignissen heruntergefahren wird.

MIGs zur Unterstützung des VM-Managements verwenden

Wenn Sie Compute Engine-VMs verwenden, können Sie verwaltete Instanzgruppen (Managed Instance Groups, MIGs) verwenden und von Funktionen wie automatischer Reparatur, Load-Balancing, Autoscaling, automatischer Aktualisierung und zustandsorientierten Arbeitslasten profitieren. Sie können zonale oder regionale MIGs anhand Ihrer Verfügbarkeitsziele erstellen. Sie können MIGs für zustandslose Bereitstellungs- oder Batcharbeitslasten und für zustandsorientierte Anwendungen verwenden, die den eindeutigen Zustand jeder VM beibehalten müssen.

Mit Pod-Autoscaling die GKE-Arbeitslasten skalieren

Verwenden Sie horizontale und vertikale Pod-Autoscaler, um Ihre Arbeitslasten zu skalieren, und verwenden Sie die automatische Knotenbereitstellung, um die zugrunde liegenden Rechenressourcen zu skalieren.

Anwendungstraffic verteilen

Skalieren Sie Ihre Anwendungen global mit Cloud Load Balancing. So können Sie Ihre Anwendungsinstanzen auf mehrere Regionen oder Zonen verteilen. Load-Balancer optimieren das Paketrouting von Edge-Netzwerken von Google Cloud zur nächstgelegenen Zone, was die Bereitstellungseffizienz des Traffics erhöht und die Bereitstellungskosten minimiert. Mit Cloud CDN können Sie die Endnutzerlatenz optimieren und statische Inhalte nach Möglichkeit im Cache speichern.

Erstellung und Verwaltung von Computing-Ressourcen automatisieren

Minimieren Sie menschliche Fehler in Ihrer Produktionsumgebung, indem Sie das Erstellen und Verwalten von Computing automatisieren.

Vorgänge verwalten

Dieser Abschnitt enthält Best Practices für das Managen von Vorgängen zur Unterstützung Ihres Systems.

Von Google bereitgestellte öffentliche Images verwenden

Öffentliche Images verwenden, die von Google Cloud bereitgestellt werden Die öffentlichen Images von Google Cloud werden regelmäßig aktualisiert. Weitere Informationen finden Sie unter Liste der in Compute Engine verfügbaren öffentlichen Images.

Sie können auch eigene Images mit bestimmten Konfigurationen und Einstellungen erstellen. Die Image-Erstellung sollte nach Möglichkeit in einem separaten Projekt automatisiert und zentralisiert werden, das Sie für autorisierte Nutzer innerhalb Ihrer Organisation freigeben können. Wenn Sie ein benutzerdefiniertes Image in einem separaten Projekt erstellen und auswählen, können Sie eine VM mit Ihren eigenen Konfigurationen aktualisieren, patchen und erstellen. Sie können dann das ausgewählte VM-Image für relevante Projekte freigeben.

Snapshots für Laufwerkssicherungen verwenden

Mit Snapshots können Sie Sicherungen Ihrer Laufwerke erstellen. Snapshots sind besonders nützlich für zustandsorientierte Anwendungen, die nicht flexibel genug sind, um den Status zu erhalten, oder den Fortschritt speichern, wenn bei einem abrupten Herunterfahren ein Fehler auftritt. Wenn Sie häufig Snapshots verwenden, um neue Instanzen zu erstellen, können Sie Ihren Sicherungsprozess optimieren, indem Sie aus diesem Snapshot ein Basis-Image erstellen.

VM-Instanz mit einem Maschinen-Image erstellen

Bei einem Snapshot wird nur ein Image der Daten auf einem Computer erfasst, ein Maschinen-Image hingegen erfasst neben den Daten auch noch die Maschinenkonfigurationen und -einstellungen. Verwenden Sie ein Maschinen-Image, wenn Sie alle Konfigurationen, Metadaten, Berechtigungen und Daten von einem oder mehreren Laufwerken speichern möchten, die zum Erstellen einer VM-Instanz erforderlich sind.

Wenn Sie eine Maschine aus einem Snapshot erstellen, müssen Sie die Instanzeinstellungen auf den neuen VM-Instanzen konfigurieren, was viel Arbeit erfordert. Mithilfe von Maschinen-Images können Sie diese bekannten Einstellungen auf neue Maschinen kopieren und so den Aufwand reduzieren. Weitere Informationen finden Sie unter Gründe für die Verwendung von Maschinen-Images.

Kapazität, Reservierungen und Isolation

Dieser Abschnitt enthält Best Practices zum Verwalten von Kapazität, Reservierungen und Isolation, um das System zu unterstützen.

Rabatte für zugesicherte Nutzung zur Kostensenkung verwenden

Mit Rabatten für zugesicherte Nutzung können Sie die Betriebskosten für Arbeitslasten, die immer aktiviert sind, reduzieren. Weitere Informationen finden Sie unter Kostenoptimierungskategorie.

Maschinentypen zur Unterstützung von Kosten und Leistung auswählen

Google Cloud bietet Maschinentypen, mit denen Sie Computing basierend auf Kosten- und Leistungsparametern auswählen können. Sie können sich für ein Angebot mit geringerer Leistung entscheiden, um die Kosten zu optimieren, oder eine Hochleistungs-Computing-Option zu höheren Kosten wählen. Weitere Informationen finden Sie unter Kostenoptimierungskategorie.

Knoten für einzelne Mandanten verwenden, um Compliance-Anforderungen zu erfüllen

Knoten für einzelne Mandanten sind physische Compute Engine-Server, auf denen ausschließlich die VMs Ihres Projekts gehostet werden. Mit Knoten für einzelne Mandanten können Sie Complianceanforderungen für die physische Isolation erfüllen, darunter:

  • Ihre VMs bleiben physisch von VMs in anderen Projekten getrennt.
  • Ihre VMs auf derselben Hosthardware gruppieren.
  • Die Arbeitslasten zur Zahlungsverarbeitung isolieren.

Weitere Informationen finden Sie unter Knoten für einzelne Mandanten.

Mit Reservierungen für eine sichere Ressourcenverfügbarkeit sorgen

Mit Google Cloud können Sie Reservierungen für Ihre Arbeitslasten festlegen und damit für eine sichere Ressourcenverfügbarkeit sorgen. Für das Erstellen von Reservierungen fallen keine zusätzlichen Gebühren an. Sie zahlen jedoch für die reservierten Ressourcen, auch wenn Sie sie nicht verwenden. Weitere Informationen finden Sie unter Reservierungen nutzen und verwalten.

VM-Migration

Dieser Abschnitt enthält Best Practices zum Migrieren von VMs zur Unterstützung Ihres Systems.

Integrierte Migrationstools bewerten

Prüfen Sie mit integrierten Migrationstools Ihre Arbeitslasten aus einer anderen Cloud oder einer lokalen Umgebung. Weitere Informationen finden Sie unter Migration zu Google Cloud. Google Cloud bietet Tools und Dienste, mit denen Sie Ihre Arbeitslasten migrieren und Kosten und Leistung optimieren können. Unter Google Cloud-Programm "Rapid Assessment & Migration Program" finden Sie eine kostenlose Bewertung der Migrationskosten anhand Ihrer aktuellen IT-Landschaft.

Import virtueller Laufwerke für benutzerdefinierte Betriebssysteme verwenden

Informationen zum Importieren benutzerdefinierter unterstützter Betriebssysteme finden Sie unter Virtuelle Laufwerke importieren. Knoten für einzelne Mandanten können Ihnen helfen, Ihre Anforderungen an die Lizenznutzung für die eigene Lizenz zu erfüllen. Weitere Informationen finden Sie unter Eigene Lizenz verwenden (Bring your own License, BYOL).

Empfehlungen

Befolgen Sie diese Empfehlungen, um die Anleitung im Architektur-Framework auf Ihre eigene Umgebung anzuwenden:

  • Prüfen Sie in den Google Cloud Marketplace-Angeboten, ob Ihre Anwendung unter einem der unterstützten Anbieter aufgeführt wird. Google Cloud unterstützt die Ausführung verschiedener Open-Source-Systeme und verschiedener Drittanbietersoftware.

  • Mit Migrate to Containers und GKE können Sie Ihre VM-basierte Anwendung als containerisierte Anwendung, die in GKE ausgeführt wird, extrahieren und verpacken.

  • Führen Sie Ihre Anwendungen mit der Compute Engine aus. Wenn Legacy-Abhängigkeiten in einer VM-basierten Anwendung ausgeführt werden, prüfen Sie, ob sie Ihren Anbieteranforderungen entsprechen.

  • Prüfen Sie die Verwendung eines internen Google Cloud-Passthrough-Netzwerk-Load-Balancers zur Skalierung Ihrer entkoppelten Architektur. Weitere Informationen finden Sie unter Übersicht über internen Passthrough-Netzwerk-Load-Balancer.

  • Prüfen Sie die Optionen für den Wechsel von herkömmlichen lokalen Anwendungsfällen wie der HA-Proxy-Nutzung. Weitere Informationen finden Sie unter Best Practice für Floating-IP-Adresse.

  • Mit VM Manager können Sie die Betriebssysteme für Ihre großen VM-Flotten unter Windows oder Linux auf der Compute Engine verwalten und einheitliche Konfigurationsrichtlinien anwenden.

  • Sie könnten GKE Autopilot verwenden und Google SRE Ihre Cluster vollständig verwalten lassen

  • Verwenden Sie Policy Controller und Config Sync für die Richtlinien- und Konfigurationsverwaltung in Ihren GKE-Clustern.

  • Gewährleistung der Verfügbarkeit und Skalierbarkeit von Maschinen in bestimmten Regionen und Zonen Google Cloud kann gemäß Ihren Computing-Anforderungen skaliert werden. Wenn Sie jedoch viele spezifische Maschinentypen in einer bestimmten Region oder Zone benötigen, wenden Sie sich an Ihre Account-Management-Teams, um die Verfügbarkeit zu gewährleisten. Weitere Informationen finden Sie unter Reservierungen für Compute Engine.

Nächste Schritte

Weitere Informationen zu Netzwerkdesignprinzipien, darunter:

Weitere Kategorien im Architektur-Framework kennenlernen, z. B. Zuverlässigkeit, operative Exzellenz sowie Sicherheit, Datenschutz und Compliance.