Analyse-Jobs in Cloud Deploy ausführen

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:

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.

    Weitere Informationen

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

Weitere Informationen

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_PROGRESS

    Die Analyse hat begonnen und wird noch ausgeführt. Die Einführung bleibt IN_PROGRESS, bis Sie sie abbrechen.

  • FAILED

    Der 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 in IN_PROGRESS aktualisiert.

  • SUCCEEDED

    Die Analyse ist abgeschlossen (die duration ist abgelaufen) und es gibt keine Hinweise auf ungünstige Messwerte. Der Roll-out-Status ändert sich in SUCCEEDED, nachdem alle anderen Phasen und Jobs abgeschlossen sind.

Nächste Schritte