Mit Cloud Deploy können Sie die Leistung Ihrer bereitgestellten Anwendungen mit der Monitoring-Plattform und den Messwerten Ihrer Wahl analysieren. Sie können die Ergebnisse dieser Analysen nutzen, um Maßnahmen zu ergreifen, z. B. die Bereitstellung automatisch zurückzusetzen.
Cloud Deploy unterstützt Google Cloud Observability und kann erweitert werden, um andere Monitoring-Plattformen wie Datadog oder Prometheus zu unterstützen.
Cloud Deploy bietet zwar die Bereitstellungsüberprüfung, mit der Sie beliebige Container ausführen können, um eine Bereitstellung zu validieren. Mit der Analyse können Sie jedoch Telemetriedaten aus Google Cloud Observability oder dem Monitoring-Dienst Ihrer Wahl verwenden, um die Leistung Ihrer Anwendungen im Zeitverlauf zu bewerten.
Sie können Analyse-Jobs in jeder Zielumgebung (z. B. Staging oder Produktion) ausführen.
Unterstützte Anbieter von Messwerten
Cloud Deploy unterstützt die Analyse mit Messwerten, die auf eine der folgenden Arten bereitgestellt werden:
Direkte Einbindung in Benachrichtigungsrichtlinien von Google Cloud Observability basierend auf Telemetrie und Logs in Google Cloud Observability
Einbindung in ein Messwertsystem, das nicht von Google stammt (z. B. Prometheus oder Datadog)
Für diese Art von benutzerdefinierter Analyse muss Ihre Organisation einen Container bereitstellen, der Funktionen zur Unterstützung des jeweiligen Messwertsystems enthält.
Google Cloud bietet eine Beispielintegration mit Datadog.
Funktionsweise der Cloud Deploy-Analyse
In diesem Abschnitt wird beschrieben, wie die Cloud Deploy-Analyse mit Google Cloud Observability-Benachrichtigungsrichtlinien funktioniert. Wenn Ihre Organisation einen benutzerdefinierten Container erstellt, um einen anderen Messwertanbieter zu verwenden, wird ein Teil dieser Funktionen von Ihrem benutzerdefinierten Container übernommen.
Konfigurieren Sie Messwerte im Messwertsystem Ihrer Wahl.
Cloud Deploy unterstützt Google Cloud Observability ohne Anpassung. Sie können auch den Messwertanbieter Ihrer Wahl verwenden, indem Sie einen benutzerdefinierten Container zum Verarbeiten der Telemetriedaten erstellen.
Benachrichtigungsrichtlinie konfigurieren
Wenn Sie Google Cloud Observability zum Erfassen von Telemetriedaten verwenden, können Sie eine Benachrichtigungsrichtlinie verwenden, um zu erkennen, wann diese Telemetriedaten auf ein Problem hinweisen.
Wenn Sie einen anderen Anbieter für Messwerte verwenden, ist entweder dieses Tool oder Ihr benutzerdefinierter Container für Benachrichtigungen verantwortlich.
Analysejob konfigurieren
Dazu gehört ein
analysis-Abschnitt in der Konfigurationsdatei für Ihre Bereitstellungspipeline.Der Analysejob besteht aus einem oder mehreren Analyseprüfungen, mit denen das Verhalten Ihrer bereitgestellten Anwendung anhand von Logs oder Messwerten aus Google Cloud Observability oder von Ihrem Messwertanbieter bewertet wird. Der Analysejob wird für einen bestimmten Zeitraum ausgeführt.
Anwendung bereitstellen
Der Analysejob wird nach dem Bereitstellungsjob und nach dem Bestätigungsjob ausgeführt, sofern Ihre Version einen enthält, aber vor allen Jobs nach der Bereitstellung, sofern Ihre Version solche enthält.
Der Analysejob wird ausgeführt
Nachdem Ihre Anwendung bereitgestellt wurde (und nachdem ein eventueller Bestätigungsjob abgeschlossen ist), erfasst Ihr Messwertanbieter Telemetriedaten zu Ihrer laufenden Anwendung. Der Analysejob wartet die von Ihnen konfigurierte Zeit (
duration) ab. Wenn eine Benachrichtigung ausgelöst wird (wenn Sie Google Cloud Observability als Messwertanbieter verwenden) oder Ihr benutzerdefinierter Container einen Exitcode ungleich null zurückgibt, schlägt der Analysejob fehl und damit auch die Einführung.Wenn bei keiner der Prüfungen ein Problem festgestellt wird, wird die Analyse nach Ablauf des Zeitraums beendet und das Roll-out ist erfolgreich.
Analysen mit automatisierten Abläufen verwenden
Sie können Automatisierungen für Ihre Analysejobs angeben.
Wenn Sie beispielsweise eine Analyse für Ihre Anwendung ausführen möchten, nachdem sie in staging bereitgestellt wurde, und die Version dann automatisch in prod hochstufen möchten, wenn die Analyse ohne Warnungen abgeschlossen wird, können Sie eine promoteReleaseRule-Automatisierung verwenden.
Wenn Sie eine Version automatisch zurücksetzen möchten, falls bei einem Analysejob ein Problem in prod gefunden wird, können Sie eine repairRolloutRule-Automatisierung verwenden.
Automatisierte Abläufe sind nicht erforderlich, um Analysejobs zu verwenden und davon zu profitieren.
Benutzerdefinierte Analyse
Die Cloud Deploy-Analyse unterstützt Benachrichtigungen und Messwerte aus Google Cloud Observability. Sie können die Cloud Deploy-Analyse aber auch mit anderen Messwertanbietern alsGoogle Cloudverwenden.
Die Konfiguration für benutzerdefinierte Analysen ähnelt der Konfiguration für Standardanalysen. Der Unterschied besteht darin, dass jede Prüfung in der Analyse eine Aufgabe enthält, die auf einen von Ihnen bereitgestellten Container verweist, die Befehle, die für diesen Container ausgeführt werden sollen, und alle anwendbaren Umgebungsvariablen, die an diesen Container übergeben werden sollen. Jede Prüfung in dieser benutzerdefinierten Analyse enthält auch eine Häufigkeit, die angibt, wie oft die Prüfung ausgeführt werden soll.
Analyse mit einem Canary verwenden
Die Cloud Deploy-Analyse wird in der Regel mit einer Canary-Bereitstellungsstrategie verwendet. Mit Canary können Sie Messwerte aus Google Cloud Observability oder dem Anbieter Ihrer Wahl verwenden, um zu bestimmen, ob ein Roll-out in die nächste Phase übergehen soll.
Sie können auch eine advanceRolloutRule-Automatisierung mit der Analyse verwenden. In der Canary-Phase vor stable können Sie beispielsweise einen Analysejob einfügen, um die Betriebszeit zu prüfen. Je nach den Ergebnissen dieser Analyse können Sie den Roll-out dann automatisch auf stable ausweiten oder nicht.
Wenn Sie eine benutzerdefinierte oder benutzerdefinierte automatisierte Canary-Bereitstellung verwenden, konfigurieren Sie Analysejobs in der Konfiguration für jede Phase, die Sie analysieren möchten.
Weitere Informationen zu Canary-Deployments
Status von Analysejob-Ausführungen
Folgende Status sind für einen Joblauf einer Analyse möglich:
IN_PROGRESSDie Analyse hat begonnen und wird noch ausgeführt. Die Einführung bleibt
IN_PROGRESS, bis Sie sie abbrechen.FAILEDDer Analysejob hat eine Benachrichtigung von Google Cloud Observability erkannt oder einen Exitcode ungleich null von einem benutzerdefinierten Container erhalten. Der Roll-out-Status ist jetzt
FAILED. Wenn Sie den Analysejob jedoch ignorieren oder wiederholen, wird der Roll-out-Status inIN_PROGRESSaktualisiert.SUCCEEDEDDie Analyse ist abgeschlossen (die
durationist abgelaufen) und es gibt keine Hinweise auf ungünstige Messwerte. Der Roll-out-Status ändert sich inSUCCEEDED, nachdem alle anderen Phasen und Jobs abgeschlossen sind.
Nächste Schritte
Informationen zum Einrichten der Bereitstellungsanalyse mit Google Cloud Observability Informationen zum Einrichten der Bereitstellungsanalyse mit einem anderen Messwertanbieter
Das Konfigurationsschema für die Analyse finden Sie in der Cloud Deploy-Konfigurationsreferenz.