在 Cloud Deploy 中執行分析工作

Cloud Deploy 可讓您使用所選的監控平台和指標,分析已部署應用程式的效能。您可以根據這些分析結果採取行動,例如自動回溯部署作業

Cloud Deploy 支援 Google Cloud Observability,並可擴充支援其他監控平台,例如 DatadogPrometheus

雖然 Cloud Deploy 提供部署驗證功能,可讓您執行任意容器來驗證部署作業,但分析功能可讓您使用 Google Cloud Observability 或所選監控服務的遙測資料,評估應用程式的長期效能。

您可以在任何目標環境 (例如預先發布或正式版) 中執行分析工作

支援的指標供應商

Cloud Deploy 支援使用下列任一方式提供的指標進行分析:

  • 直接整合 Google Cloud Observability 警告政策,根據 Google Cloud Observability 中的遙測和記錄

  • 與非 Google 指標系統 (例如 Prometheus 或 Datadog) 整合

    這類自訂分析需要貴機構提供容器,其中包含支援特定指標系統的功能。

    Google Cloud 提供與 Datadog 的整合範例

Cloud Deploy 分析的運作方式

本節說明 Cloud Deploy 分析如何使用 Google Cloud Observability 警告政策。如果貴機構建立自訂容器來使用其他指標供應商,部分功能會由自訂容器處理。

  • 在所選指標系統中設定指標。

    Cloud Deploy 支援 Google Cloud Observability,不需進行任何自訂作業。您也可以建立自訂容器來處理遙測資料,藉此使用所選的指標供應商。

    瞭解詳情

  • 設定快訊政策

    如果您使用 Google Cloud Observability 收集遙測資料,可以透過快訊政策偵測遙測資料是否顯示問題。

    如果您使用其他指標供應商,警示功能是由該工具或自訂容器負責。

  • 設定分析工作

    這包括傳送管道設定檔中的 analysis 節。

    分析工作包含一或多項分析檢查,每項檢查都會根據 Google Cloud Observability 或指標供應商的記錄或指標,評估已部署應用程式的行為。分析工作會在指定時間內執行。

  • 部署應用程式

    分析工作會在部署工作之後執行,如果發布版本包含驗證工作,則會在驗證工作之後執行,但會在任何部署後工作之前執行 (如果發布版本包含任何部署後工作)。

  • 分析工作會執行

    部署應用程式後 (以及完成任何驗證作業後,如有),指標供應商會收集執行中應用程式的遙測資料。分析工作會等待您設定的時間量 (duration)。如果觸發快訊 (如果您使用 Google Cloud Observability 做為指標供應商),或自訂容器傳回非零的結束代碼,分析工作就會失敗,推出作業也會失敗。

    如果所有檢查都未發現問題,分析會在時間到期後完成,推出作業也會成功。

搭配自動化功能使用分析

您可以指定要用於分析作業的自動化動作

舉例來說,如果想在應用程式部署至 staging後執行分析,並在分析完成且沒有任何快訊時,自動將版本升級至 prod,可以使用promoteReleaseRule自動化

或者,如果想在分析工作於 prod 中發現問題時,自動回復版本,可以使用 repairRolloutRule 自動化功能

您不必使用自動化功能,也能執行分析作業並從中獲益。

自訂分析

Cloud Deploy 分析功能支援 Google Cloud Observability 的快訊和指標。不過,您也可以搭配非Google Cloud指標供應商使用 Cloud Deploy 分析。

自訂分析的設定與標準分析的設定類似,但分析中的每項檢查都包含一項工作,該工作會參照您提供的容器、要在該容器上執行的指令,以及要傳遞至該容器的任何適用環境變數。這項自訂分析中的每項檢查也包含頻率,也就是執行檢查的頻率。

瞭解詳情

使用初期測試進行分析

Cloud Deploy 分析的常見用途是搭配初期測試版部署策略。透過 Canary,您可以使用 Google Cloud Observability 的指標,或選擇的供應商,判斷是否要將推出作業推進至下一個階段。

您也可以搭配使用advanceRolloutRule自動化功能和分析。舉例來說,在初期測試階段之前 stable,您可以納入分析工作,確保正常運作時間,並根據分析結果,使用自動化功能將推出作業推進至 stable 或不推進。

如果您使用自訂或自訂自動化初期測試部署作業,請在要分析的每個階段設定中設定分析工作

進一步瞭解初期測試部署

分析工作執行狀態

分析工作執行可能處於下列狀態:

  • IN_PROGRESS

    分析作業已開始,目前仍在執行中。除非取消,否則推出作業會繼續進行。IN_PROGRESS

  • FAILED

    分析作業偵測到 Google Cloud Observability 的警報,或收到自訂容器的非零結束代碼。推出狀態現在為「FAILED」。但如果忽略或重試分析工作,推出作業狀態會更新為 IN_PROGRESS

  • SUCCEEDED

    分析已完成 (duration已過期),且未收到任何不利指標的跡象。所有其他階段和工作完成後,推出狀態會變更為 SUCCEEDED

後續步驟