Dieses Prinzip im Bereich „Operative Exzellenz“ des Google Cloud Architektur-Frameworks hilft Ihnen, die Betriebsbereitschaft und Leistung Ihrer Cloud-Arbeitslasten zu gewährleisten. Es wird darauf geachtet, klare Erwartungen und Zusagen für die Dienstleistung zu definieren, eine robuste Überwachung und Benachrichtigung zu implementieren, Leistungstests durchzuführen und proaktiv die Kapazitätsanforderungen zu planen.
Grundsatzübersicht
Unterschiedliche Organisationen können die Betriebsbereitschaft unterschiedlich interpretieren. Die Betriebsbereitschaft ist die Vorbereitung Ihrer Organisation auf die erfolgreiche Ausführung von Arbeitslasten auf Google Cloud. Die Vorbereitung auf den Betrieb einer komplexen, mehrschichtigen Cloud-Arbeitslast erfordert eine sorgfältige Planung sowohl für die Markteinführung als auch für den Tag-2-Betrieb. Diese Vorgänge werden oft als CloudOps bezeichnet.
Schwerpunktbereiche der Betriebsbereitschaft
Die Betriebsbereitschaft besteht aus vier Schwerpunktbereichen. Jeder Schwerpunktbereich besteht aus einer Reihe von Aktivitäten und Komponenten, die für die Vorbereitung auf den Betrieb einer komplexen Anwendung oder Umgebung in Google Clouderforderlich sind. In der folgenden Tabelle sind die Komponenten und Aktivitäten der einzelnen Schwerpunktbereiche aufgeführt:
Schwerpunktbereich der Betriebsbereitschaft | Aktivitäten und Komponenten |
---|---|
Belegschaft |
|
Prozesse |
|
Tools | Tools, die zur Unterstützung von CloudOps-Prozessen erforderlich sind. |
Governance |
|
Empfehlungen
Beachten Sie die Empfehlungen in den folgenden Abschnitten, um mit CloudOps die Betriebsbereitschaft und Leistung zu gewährleisten. Jede Empfehlung in diesem Dokument ist für mindestens einen der Schwerpunktbereiche der Betriebsbereitschaft relevant.
SLOs und SLAs definieren
Eine Hauptaufgabe des Cloud-Operations-Teams besteht darin, Service Level Objectives (SLOs) und Service Level Agreements (SLAs) für alle kritischen Arbeitslasten zu definieren. Diese Empfehlung bezieht sich auf den Fokusbereich „Betriebsbereitschaft“ der Governance.
SLOs müssen spezifisch, messbar, erreichbar, relevant und terminiert (SMART) sein und das gewünschte Service- und Leistungsniveau widerspiegeln.
- Konkret: Sie formulieren klar das erforderliche Service- und Leistungsniveau.
- Messbar: Quantifizierbar und nachvollziehbar.
- Umsetzbar: Umsetzbar im Rahmen der Fähigkeiten und Ressourcen Ihrer Organisation.
- Relevanz: Sie stimmen mit den Geschäftszielen und -prioritäten überein.
- Zeitlich begrenzt: Es gibt einen festgelegten Zeitraum für Messung und Bewertung.
Ein SLO für eine Webanwendung könnte beispielsweise „99, 9% Verfügbarkeit“ oder „durchschnittliche Antwortzeit unter 200 ms“ lauten. Mit solchen SLOs wird der erforderliche Dienst- und Leistungsgrad für die Webanwendung klar definiert. Die SLOs können im Zeitverlauf gemessen und beobachtet werden.
SLAs enthalten die Verpflichtungen gegenüber Kunden in Bezug auf Verfügbarkeit, Leistung und Support, einschließlich etwaiger Strafen oder Rechtsbehelfen bei Nichteinhaltung. SLAs müssen spezifische Details zu den erbrachten Dienstleistungen, zum zu erwartenden Leistungsniveau, zu den Verantwortlichkeiten des Dienstanbieters und des Kunden sowie zu Strafen oder Rechtsbehelfen bei Nichteinhaltung enthalten. SLAs dienen als vertragliche Vereinbarung zwischen den beiden Parteien, damit beide Parteien die Erwartungen und Verpflichtungen im Zusammenhang mit dem Cloud-Dienst klar verstehen.
Google Cloud bietet Tools wie Cloud Monitoring und Service Level Indicators (SLIs), mit denen Sie SLOs definieren und verfolgen können. Cloud Monitoring bietet umfassende Überwachungs- und Observability-Funktionen, mit denen Ihr Unternehmen Messwerte zur Verfügbarkeit, Leistung und Latenz von cloudbasierten Anwendungen und Diensten erfassen und analysieren kann. SLIs sind spezifische Messwerte, mit denen Sie SLOs im Zeitverlauf messen und verfolgen können. Mit diesen Tools können Sie Cloud-Dienste effektiv überwachen und verwalten und dafür sorgen, dass sie die SLOs und SLAs einhalten.
Wenn Sie SLOs und SLAs für alle Ihre kritischen Cloud-Dienste klar definieren und kommunizieren, können Sie die Zuverlässigkeit und Leistung Ihrer bereitgestellten Anwendungen und Dienste gewährleisten.
Umfassende Sichtbarkeit implementieren
Um Echtzeitdaten zum Zustand und zur Leistung Ihrer Cloud-Umgebung zu erhalten, empfehlen wir eine Kombination aus Google Cloud-Tools zur Beobachtbarkeit und Lösungen von Drittanbietern. Diese Empfehlung bezieht sich auf die folgenden Schwerpunktbereiche der Betriebsbereitschaft: Prozesse und Tools.
Wenn Sie eine Kombination aus Lösungen zur Observability implementieren, erhalten Sie eine umfassende Observability-Strategie, die verschiedene Aspekte Ihrer Cloud-Infrastruktur und ‑Anwendungen abdeckt. Google Cloud Observability ist eine einheitliche Plattform zum Erfassen, Analysieren und Visualisieren von Messwerten, Protokollen und Traces aus verschiedenenGoogle Cloud Diensten, Anwendungen und externen Quellen. Mit Cloud Monitoring erhalten Sie Einblicke in die Ressourcennutzung, Leistungsmerkmale und den Gesamtstatus Ihrer Ressourcen.
Für ein umfassendes Monitoring sollten Sie wichtige Messwerte im Blick behalten, die Aufschluss über den Systemstatus geben, z. B. CPU-Auslastung, Arbeitsspeichernutzung, Netzwerkverkehr, Laufwerk-E/A und Anwendungsantwortzeiten. Sie müssen auch unternehmensspezifische Messwerte berücksichtigen. Wenn Sie diese Messwerte im Blick behalten, können Sie potenzielle Engpässe, Leistungsprobleme und Ressourcenbeschränkungen erkennen. Außerdem können Sie Benachrichtigungen einrichten, um die zuständigen Teams proaktiv über potenzielle Probleme oder Anomalien zu informieren.
Sie können Lösungen von Drittanbietern in Google Cloud Observability einbinden, um Ihre Monitoring-Funktionen weiter zu verbessern. Diese Lösungen können zusätzliche Funktionen wie erweiterte Analysen, die mithilfe von maschinellem Lernen unterstützte Anomalieerkennung und Funktionen zur Fehlerbehebung bieten. Mit dieser Kombination aus Google Cloud-Tools zur Beobachtbarkeit und Lösungen von Drittanbietern können Sie ein robustes und anpassbares Monitoring-System erstellen, das auf Ihre spezifischen Anforderungen zugeschnitten ist. Mit diesem kombinierten Ansatz können Sie Probleme proaktiv erkennen und beheben, die Ressourcennutzung optimieren und die allgemeine Zuverlässigkeit und Verfügbarkeit Ihrer Cloud-Anwendungen und ‑Dienste gewährleisten.
Leistungs- und Lasttests implementieren
Regelmäßige Leistungstests sorgen dafür, dass Ihre cloudbasierten Anwendungen und Ihre Infrastruktur Spitzenlasten bewältigen und eine optimale Leistung aufrechterhalten können. Bei Lasttests werden realistische Traffic-Muster simuliert. Bei Stresstests wird das System an seine Grenzen gebracht, um potenzielle Engpässe und Leistungseinschränkungen zu identifizieren. Diese Empfehlung bezieht sich auf die folgenden Schwerpunktbereiche der Betriebsbereitschaft: Prozesse und Tools.
Mit Tools wie Cloud Load Balancing und Lasttestdiensten können Sie reale Traffic-Muster simulieren und Ihre Anwendungen einem Stresstest unterziehen. Diese Tools liefern wertvolle Informationen dazu, wie sich Ihr System unter verschiedenen Lastbedingungen verhält, und können Ihnen helfen, Bereiche zu identifizieren, die optimiert werden müssen.
Anhand der Ergebnisse der Leistungstests können Sie Entscheidungen treffen, um Ihre Cloud-Infrastruktur und Anwendungen für optimale Leistung und Skalierbarkeit zu optimieren. Dazu kann die Anpassung der Ressourcenzuweisung, die Optimierung von Konfigurationen oder die Implementierung von Caching-Mechanismen gehören.
Wenn Sie beispielsweise feststellen, dass Ihre Anwendung bei hohem Traffic langsamer wird, müssen Sie möglicherweise die Anzahl der virtuellen Maschinen oder Container erhöhen, die der Anwendung zugewiesen sind. Möglicherweise müssen Sie auch die Konfiguration Ihres Webservers oder Ihrer Datenbank anpassen, um die Leistung zu verbessern.
Wenn Sie regelmäßig Leistungstests durchführen und die erforderlichen Optimierungen implementieren, können Sie dafür sorgen, dass Ihre cloudbasierten Anwendungen und Infrastrukturen immer mit Spitzenleistung laufen und Ihren Nutzern eine nahtlose und reaktionsschnelle Nutzung bieten. So können Sie einen Wettbewerbsvorteil bewahren und das Vertrauen Ihrer Kunden gewinnen.
Kapazität planen und verwalten
Wenn Sie proaktiv zukünftige Kapazitätsanforderungen planen – sowohl organische als auch anorganische –, können Sie den reibungslosen Betrieb und die Skalierbarkeit Ihrer cloudbasierten Systeme gewährleisten. Diese Empfehlung bezieht sich auf die Prozesse im Fokusbereich „Betriebsbereitschaft“.
Die Planung der zukünftigen Kapazität umfasst das Verständnis und die Verwaltung von Kontingenten für verschiedene Ressourcen wie Compute-Instanzen, Speicher und API-Anfragen. Wenn Sie bisherige Nutzungsmuster, Wachstumsprognosen und Geschäftsanforderungen analysieren, können Sie zukünftige Kapazitätsanforderungen genau vorhersagen. Mit Tools wie Cloud Monitoring und BigQuery können Sie Nutzungsdaten erfassen und analysieren, Trends erkennen und die zukünftige Nachfrage prognostizieren.
Vergangene Nutzungsmuster liefern wertvolle Informationen zur Ressourcennutzung im Zeitverlauf. Anhand von Messwerten wie CPU-Auslastung, Arbeitsspeichernutzung und Netzwerkverkehr können Sie Zeiten mit hoher Nachfrage und potenzielle Engpässe erkennen. Außerdem können Sie zukünftige Kapazitätsanforderungen schätzen, indem Sie Wachstumsprognosen anhand von Faktoren wie dem Wachstum der Nutzerbasis, neuen Produkten und Funktionen sowie Marketingkampagnen erstellen. Berücksichtigen Sie bei der Beurteilung der Kapazitätsanforderungen auch Geschäftsanforderungen wie SLAs und Leistungsziele.
Berücksichtigen Sie beim Bestimmen der Ressourcengröße für eine Arbeitslast Faktoren, die sich auf die Ressourcenauslastung auswirken können. Saisonale Schwankungen wie die Festtagssaison oder Quartalsendverkäufe können zu vorübergehenden Nachfragespitzen führen. Geplante Veranstaltungen wie Produktveröffentlichungen oder Marketingkampagnen können die Zugriffszahlen ebenfalls deutlich steigern. Damit Ihr primäres System und Ihr Notfallwiederherstellungssystem (Disaster Recovery, DR) mit unerwarteten Nachfragespitzen umgehen können, planen Sie eine Kapazität, die ein reibungsloses Failover bei Störungen wie Naturkatastrophen und Cyberangriffen unterstützt.
Das Autoscaling ist eine wichtige Strategie, um Ihre Cloud-Ressourcen dynamisch an Arbeitslastschwankungen anzupassen. Mit Autoscaling-Richtlinien können Sie Recheninstanzen, Speicher und andere Ressourcen automatisch an den sich ändernden Bedarf anpassen. So wird eine optimale Leistung in Spitzenzeiten sichergestellt und gleichzeitig die Kosten minimiert, wenn die Ressourcennutzung niedrig ist. Autoscaling-Algorithmen verwenden Messwerte wie CPU-Auslastung, Arbeitsspeichernutzung und Warteschlangentiefe, um zu bestimmen, wann Ressourcen skaliert werden sollen.
Kontinuierlich überwachen und optimieren
Um Cloud-Arbeitslasten zu verwalten und zu optimieren, müssen Sie einen Prozess zum kontinuierlichen Überwachen und Analysieren von Leistungsmesswerten einrichten. Diese Empfehlung gilt für die folgenden Schwerpunktbereiche der Betriebsbereitschaft: Prozesse und Tools.
Um einen Prozess für die kontinuierliche Überwachung und Analyse einzurichten, erfassen, erfassen und bewerten Sie Daten, die sich auf verschiedene Aspekte Ihrer Cloud-Umgebung beziehen. Anhand dieser Daten können Sie proaktiv Verbesserungsmöglichkeiten erkennen, die Ressourcennutzung optimieren und dafür sorgen, dass Ihre Cloud-Infrastruktur Ihre Leistungserwartungen regelmäßig erfüllt oder übertrifft.
Ein wichtiger Aspekt der Leistungsüberwachung ist die regelmäßige Prüfung von Protokollen und Traces. Protokolle liefern wertvolle Informationen zu Systemereignissen, Fehlern und Warnungen. Traces enthalten detaillierte Informationen zum Ablauf von Anfragen in Ihrer Anwendung. Durch die Analyse von Protokollen und Traces können Sie potenzielle Probleme erkennen, die Grundursachen von Problemen ermitteln und besser nachvollziehen, wie sich Ihre Anwendungen unter verschiedenen Bedingungen verhalten. Mithilfe von Messwerten wie der Laufzeit zwischen Diensten können Sie Engpässe in Ihren Arbeitslasten identifizieren und nachvollziehen.
Außerdem können Sie mithilfe von Leistungsoptimierungstechniken die Reaktionszeiten der Anwendung und die Gesamteffizienz erheblich verbessern. Im Folgenden finden Sie Beispiele für Methoden, die Sie verwenden können:
- Caching: Häufig aufgerufene Daten werden im Arbeitsspeicher gespeichert, um wiederholte Datenbankabfragen oder API-Aufrufe zu reduzieren.
- Datenbankoptimierung: Mithilfe von Techniken wie Indexierung und Abfrageoptimierung lässt sich die Leistung von Datenbankabläufen verbessern.
- Code-Profilierung: Sie können Bereiche Ihres Codes ermitteln, die zu viel Ressourcen verbrauchen oder Leistungsprobleme verursachen.
Mit diesen Verfahren können Sie Ihre Anwendungen optimieren und dafür sorgen, dass sie effizient in der Cloud ausgeführt werden.