Dieses Prinzip in der Säule „Betriebliche Exzellenz“ des Google Cloud Well-Architected Framework hilft Ihnen, die Betriebsbereitschaft und Leistung Ihrer Cloud arbeitslasten sicherzustellen. Es betont die Festlegung klarer Erwartungen und Verpflichtungen für die Dienstleistung, die Implementierung eines robusten Monitorings und Benachrichtigung, die Durchführung von Leistungstests und die proaktive Planung des Kapazitätsbedarfs.
Übersicht über das Prinzip
Verschiedene Organisationen interpretieren die Betriebsbereitschaft möglicherweise unterschiedlich. Die Betriebsbereitschaft beschreibt, wie Ihre Organisation sich darauf vorbereitet, Arbeitslasten erfolgreich in auszuführen Google Cloud. Die Vorbereitung auf den Betrieb einer komplexen, mehrschichtigen Cloudarbeitslast erfordert eine sorgfältige Planung sowohl für den Start als auch für den day-2 Betrieb. Diese Vorgänge werden oft als CloudOps bezeichnet.
Schwerpunktbereiche der Betriebsbereitschaft
Die Betriebsbereitschaft besteht aus vier Schwerpunktbereichen. Jeder Schwerpunktbereich umfasst eine Reihe von Aktivitäten und Komponenten, die erforderlich sind, um eine komplexe Anwendung oder Umgebung in Google Cloudzu betreiben. 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
Wenn Sie die Betriebsbereitschaft und Leistung mit CloudOps sicherstellen möchten, sollten Sie die Empfehlungen in den folgenden Abschnitten berücksichtigen. Jede Empfehlung in diesem Dokument ist für einen oder mehrere der Schwerpunktbereiche der Betriebsbereitschaft relevant.
SLOs und SLAs definieren
Eine der Hauptaufgaben des Cloudbetriebsteams ist die Definition von Service Level Objectives (SLOs) und Service Level Agreements (SLAs) für alle kritischen Arbeitslasten. Diese Empfehlung ist für den Schwerpunktbereich „Governance“ der Betriebsbereitschaft relevant.
SLOs müssen spezifisch, messbar, erreichbar, relevant und terminiert (SMART) sein und das gewünschte Service- und Leistungsniveau widerspiegeln.
- Spezifisch: Das erforderliche Service- und Leistungsniveau wird klar formuliert.
- Messbar: Quantifizierbar und nachvollziehbar.
- Erreichbar: Innerhalb der Grenzen der Fähigkeiten und Ressourcen Ihrer Organisation erreichbar.
- Relevant: Auf Geschäftsziele und Prioritäten abgestimmt.
- Terminiert: Hat einen definierten Zeitrahmen 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. Solche SLOs definieren klar das erforderliche Service- und Leistungsniveau für die Webanwendung und können im Zeitverlauf gemessen und nachverfolgt werden.
In SLAs werden die Verpflichtungen gegenüber Kunden in Bezug auf Dienstverfügbarkeit, Leistung und Support festgelegt, einschließlich aller Strafen oder Abhilfemaßnahmen bei Nichteinhaltung. SLAs müssen spezifische Details zu den bereitgestellten Diensten, dem zu erwartenden Servicelevel, den Verantwortlichkeiten des Dienstanbieters und des Kunden sowie allen Strafen oder Abhilfemaßnahmen bei Nichteinhaltung enthalten. SLAs dienen als vertragliche Vereinbarung zwischen den beiden Parteien und sorgen dafür, dass beide ein klares Verständnis der Erwartungen und Verpflichtungen haben, die mit dem Clouddienst verbunden sind.
Google Cloud bietet Tools wie Cloud Monitoring und Service Level Indicators (SLIs), mit denen Sie SLOs definieren und nachverfolgen können. Cloud Monitoring bietet umfassende Überwachungs- und Beobachtbarkeitsfunktionen, mit denen Ihre Organisation Messwerte zur Verfügbarkeit, Leistung und Latenz cloudbasierter Anwendungen und Dienste erfassen und analysieren kann. SLIs sind spezifische Messwerte, mit denen Sie SLOs im Zeitverlauf messen und nachverfolgen können. Mit diesen Tools können Sie Clouddienste effektiv überwachen und verwalten und sicherstellen, dass sie die SLOs und SLAs erfüllen.
Durch die klare Definition und Kommunikation von SLOs und SLAs für alle kritischen Clouddienste können Sie die Zuverlässigkeit und Leistung Ihrer bereitgestellten Anwendungen und Dienste sicherstellen.
Umfassende Beobachtbarkeit implementieren
Um Echtzeiteinblick in den Zustand und die Leistung Ihrer Cloud umgebung zu erhalten, empfehlen wir die Verwendung einer Kombination aus Google Cloud Observability-Tools und Drittanbieterlösungen. Diese Empfehlung ist für die folgenden Schwerpunktbereiche der Betriebsbereitschaft: Prozesse und Tools relevant.
Durch die Implementierung einer Kombination von Beobachtbarkeitslösungen erhalten Sie eine umfassende Beobachtbarkeitsstrategie, die verschiedene Aspekte Ihrer Cloudinfrastruktur und -anwendungen abdeckt. Google Cloud Observability ist eine einheitliche Plattform zum Erfassen, Analysieren und Visualisieren von Messwerten, Logs und Traces aus verschiedenen Google Cloud Diensten, Anwendungen und externen Quellen. Mit Cloud Monitoring erhalten Sie Einblick in die Ressourcennutzung, die Leistungsmerkmale und den allgemeinen Zustand Ihrer Ressourcen.
Für eine umfassende Überwachung sollten Sie wichtige Messwerte im Blick behalten, die mit Systemstatusindikatoren wie CPU-Auslastung, Arbeitsspeichernutzung, Netzwerkverkehr, Festplatten-E/A und Reaktionszeiten von Anwendungen übereinstimmen. 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.
Um Ihre Überwachungsfunktionen weiter zu verbessern, können Sie Drittanbieterlösungen in Google Cloud Observability einbinden. Diese Lösungen können zusätzliche Funktionen bieten, z. B. erweiterte Analysen, ML-gestützte Anomalieerkennung und Funktionen zur Vorfallverwaltung. Mit dieser Kombination aus Google Cloud Observability-Tools und Drittanbieterlösungen können Sie ein robustes und anpassbares Monitoring-Ökosystem erstellen, das auf Ihre spezifischen Anforderungen zugeschnitten ist. Mit diesem Kombinationsansatz können Sie Probleme proaktiv erkennen und beheben, die Ressourcennutzung optimieren und die allgemeine Zuverlässigkeit und Verfügbarkeit Ihrer Cloudanwendungen und -dienste sicherstellen.
Leistungs- und Lasttests implementieren
Durch regelmäßige Leistungstests können Sie sicherstellen, dass Ihre cloudbasierten Anwendungen und Ihre Infrastruktur Spitzenlasten bewältigen und eine optimale Leistung aufrechterhalten können. Bei Lasttests werden realistische Trafficmuster simuliert. Bei Stresstests wird das System an seine Grenzen gebracht, um potenzielle Engpässe und Leistungsbeschränkungen zu erkennen. Diese Empfehlung ist für die folgenden Schwerpunktbereiche der Betriebsbereitschaft: Prozesse und Tools relevant.
Mit Tools wie Cloud Load Balancing und Lasttestdiensten können Sie realistische Trafficmuster simulieren und Ihre Anwendungen Stresstests unterziehen. Diese Tools liefern wertvolle Einblicke in das Verhalten Ihres Systems unter verschiedenen Lastbedingungen und können Ihnen helfen, Bereiche zu identifizieren, die optimiert werden müssen.
Anhand der Ergebnisse von Leistungstests können Sie Entscheidungen treffen, um Ihre Cloud-Infrastruktur und -anwendungen für optimale Leistung und Skalierbarkeit zu optimieren. Diese Optimierung kann die Anpassung der Ressourcenzuweisung, die Optimierung von Konfigurationen oder die Implementierung von Caching-Mechanismen umfassen.
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. Alternativ müssen Sie möglicherweise die Konfiguration Ihres Webservers oder Ihrer Datenbank anpassen, um die Leistung zu verbessern.
Durch regelmäßige Leistungstests und die Implementierung der erforderlichen Optimierungen können Sie sicherstellen, dass Ihre cloudbasierten Anwendungen und Ihre Infrastruktur immer mit maximaler Leistung laufen und Ihren Nutzern eine nahtlose und reaktionsschnelle Nutzung ermöglichen. So können Sie einen Wettbewerbsvorteil erzielen und das Vertrauen Ihrer Kunden gewinnen.
Kapazität planen und verwalten
Durch die proaktive Planung des zukünftigen Kapazitätsbedarfs – sowohl organisch als auch anorganisch – können Sie den reibungslosen Betrieb und die Skalierbarkeit Ihrer cloudbasierten Systeme sicherstellen. Diese Empfehlung ist für den Schwerpunktbereich „Prozesse“ der Betriebsbereitschaft relevant.
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. Durch die Analyse von Nutzungsmustern aus der Vergangenheit, Wachstumsprognosen und Geschäftsanforderungen können Sie den zukünftigen Kapazitätsbedarf genau vorhersagen. Mit Tools wie Cloud Monitoring und BigQuery können Sie Nutzungsdaten erfassen und analysieren, Trends erkennen und die zukünftige Nachfrage prognostizieren.
Nutzungsmuster aus der Vergangenheit liefern wertvolle Einblicke in die Ressourcennutzung im Zeitverlauf. Anhand von Messwerten wie CPU-Auslastung, Arbeitsspeichernutzung und Netzwerkverkehr können Sie Zeiträume mit hoher Nachfrage und potenzielle Engpässe erkennen. Außerdem können Sie den zukünftigen Kapazitätsbedarf schätzen, indem Sie Wachstumsprognosen auf der Grundlage von Faktoren wie dem Wachstum der Nutzerbasis, neuen Produkten und Funktionen sowie Marketingkampagnen erstellen. Bei der Bewertung des Kapazitätsbedarfs sollten Sie auch Geschäftsanforderungen wie SLAs und Leistungsziele berücksichtigen.
Bei der Bestimmung der Ressourcengröße für eine Arbeitslast sollten Sie Faktoren berücksichtigen, die sich auf die Ressourcennutzung auswirken können. Saisonale Schwankungen wie die Weihnachtseinkaufszeit oder der Quartalsabschluss können zu vorübergehenden Nachfragespitzen führen. Geplante Ereignisse wie Produkteinführungen oder Marketingkampagnen können den Traffic ebenfalls erheblich steigern. Damit Ihr primäres System und Ihr Disaster Recovery-System unerwartete Nachfragespitzen bewältigen können, planen Sie Kapazitäten ein, die ein reibungsloses Failover bei Unterbrechungen wie Naturkatastrophen und Cyberangriffen unterstützen.
Autoscaling ist eine wichtige Strategie, um Ihre Cloudressourcen dynamisch an Schwankungen der Arbeitslast anzupassen. Mit Autoscaling-Richtlinien können Sie Compute-Instanzen, Speicher und andere Ressourcen automatisch entsprechend der sich ändernden Nachfrage skalieren. So wird eine optimale Leistung in Spitzenzeiten gewährleistet und gleichzeitig die Kosten minimiert, wenn die Ressourcennutzung gering ist. Autoscaling-Algorithmen verwenden Messwerte wie CPU-Auslastung, Arbeitsspeichernutzung und Warteschlangentiefe, um zu bestimmen, wann Ressourcen skaliert werden sollen.
Kontinuierlich überwachen und optimieren
Um Cloudarbeitslasten zu verwalten und zu optimieren, müssen Sie einen Prozess für die kontinuierliche Überwachung und Analyse von Leistungsmesswerten einrichten. Diese Empfehlung ist für die folgenden Schwerpunktbereiche der Betriebsbereitschaft: Prozesse und Tools relevant.
Um einen Prozess für die kontinuierliche Überwachung und Analyse einzurichten, müssen Sie Daten zu verschiedenen Aspekten Ihrer Cloudumgebung erfassen und auswerten. Anhand dieser Daten können Sie proaktiv Bereiche für Verbesserungen identifizieren, die Ressourcennutzung optimieren und sicherstellen, dass Ihre Cloudinfrastruktur Ihre Leistungserwartungen stets erfüllt oder übertrifft.
Ein wichtiger Aspekt der Leistungsüberwachung ist die regelmäßige Überprüfung von Logs und Traces. Logs liefern wertvolle Einblicke in Systemereignisse, Fehler und Warnungen. Traces enthalten detaillierte Informationen zum Fluss von Anfragen durch Ihre Anwendung. Durch die Analyse von Logs und Traces können Sie potenzielle Probleme erkennen, die Grundursachen von Problemen ermitteln und besser verstehen, wie sich Ihre Anwendungen unter verschiedenen Bedingungen verhalten. Messwerte wie die Umlaufzeit zwischen Diensten können Ihnen helfen, Engpässe in Ihren Arbeitslasten zu erkennen und zu verstehen.
Darüber hinaus können Sie Techniken zur Leistungsoptimierung verwenden, um die Reaktionszeiten von Anwendungen und die allgemeine Effizienz erheblich zu verbessern. Hier einige Beispiele für Techniken, die Sie verwenden können:
- Caching: Speichern Sie häufig aufgerufene Daten im Arbeitsspeicher, um den Bedarf an wiederholten Datenbankabfragen oder API-Aufrufen zu reduzieren.
- Datenbankoptimierung: Verwenden Sie Techniken wie die Indexierung und Abfrage optimierung, um die Leistung von Datenbankvorgängen zu verbessern.
- Code-Profiling: Identifizieren Sie Bereiche Ihres Codes, die übermäßig viele Ressourcen verbrauchen oder Leistungsprobleme verursachen.
Durch die Anwendung dieser Techniken können Sie Ihre Anwendungen optimieren und sicherstellen, dass sie effizient in der Cloud ausgeführt werden.