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) Erstellen und führen Sie VMs aus vordefinierten und anpassbaren VM-Familien aus, die Ihre Anwendungs- und Arbeitslastanforderungen sowie Software und Dienste von Drittanbietern unterstützen.
  • Compute Engine: Fügen Sie Ihren VM-Instanzen Grafikprozessoren (GPUs) hinzu. Sie können diese GPUs nutzen, um bestimmte Arbeitslasten wie maschinelles Lernen und Datenverarbeitung auf Ihren Instanzen zu beschleunigen.

Weitere Informationen zum Auswählen geeigneter Maschinentypen gemäß Ihren Anforderungen finden Sie unter Empfehlungen für Maschinenfamilien.

Weitere Informationen finden Sie unter Computing-Optionen auswählen.

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 traditionelle Anwendungen in integrierte Container in Google Kubernetes Engine. Zu Containern migrieren

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) oderCompute 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 serverlosen Computing-Optionen 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 Startskripts und Shutdown-Skripts nach Möglichkeit, um den Anwendungsstatus 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 für jeden Startvorgang keine Anwendungsdaten neu ausgeführt werden, 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 der VM-Verwaltung verwenden

Wenn Sie Compute Engine-VMs verwenden, unterstützen verwaltete Instanzgruppen (Managed Instance Groups, MIGs) Funktionen wie automatische Reparatur, Load-Balancing, Autoscaling und Auto-Aktualisierung und zustandsorientierte Arbeitslasten. 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

Um Ihre Anwendungen global zu skalieren, verwenden Sie Cloud Load Balancing, um Ihre Anwendungsinstanzen auf mehrere Regionen oder Zonen zu verteilen. Load-Balancer optimieren das Paketrouting von Edge-Netzwerken von Google Cloud zur nächstgelegenen Zone, wodurch die Bereitstellungseffizienz des Traffics erhöht und die Bereitstellungskosten minimiert werden. Verwenden Sie zum Optimieren der Endnutzerlatenz Cloud CDN, um statische Inhalte nach Möglichkeit im Cache zu speichern.

Compute-Erstellung und -Verwaltung 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 Instanzsicherungen verwenden

Mit Snapshots können Sie Sicherungen für Ihre Instanzen 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-Instanzerstellung mit einem Maschinen-Image

Bei einem Snapshot werden neben den Daten nur ein Image der Daten auf einem Computer, aber auch ein Maschinen-Image erfasst Maschinenkonfigurationen und -einstellungen. Verwenden Sie ein Maschinen-Image, um alle Konfigurationen, Metadaten, Berechtigungen und Daten von einem oder mehreren Laufwerken zu speichern, 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.

Reservierungen für sichere Ressourcenverfügbarkeit verwenden

Mit Google Cloud können Sie Reservierungen für Ihre Arbeitslasten definieren, damit diese Ressourcen immer verfügbar sind. 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 die Google Cloud Marketplace-Angebote, um zu beurteilen, ob Ihre Anwendung unter einem unterstützten Anbieter aufgeführt wird. Google Cloud unterstützt die Ausführung verschiedener Open-Source-Systeme und verschiedener Drittanbietersoftware.

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

  • Verwenden Sie Compute Engine, um Ihre Anwendungen in Google Cloud auszuführen. 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.

  • Verwalten Sie mit VM Manager die Betriebssysteme für Ihre großen VM-Flotten unter Windows oder Linux auf Compute Engine und wenden Sie einheitliche Konfigurationsrichtlinien an.

  • Erwägen Sie die Verwendung von GKE Autopilot und lassen Sie Google SRE Ihre Cluster vollständig verwalten.

  • 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.