Cloud Deploy ti consente di analizzare il rendimento delle applicazioni di cui è stato eseguito il deployment utilizzando la piattaforma di monitoraggio e le metriche che preferisci. Puoi utilizzare i risultati di queste analisi per intraprendere azioni, ad esempio annullare rollback il deployment.
Cloud Deploy supporta Google Cloud Observability e può essere esteso per supportare altre piattaforme di monitoraggio, come Datadog o Prometheus.
Sebbene Cloud Deploy offra la verifica del deployment, che puoi utilizzare per eseguire container arbitrari per convalidare un deployment, l'analisi ti consente di utilizzare i dati di telemetria di Google Cloud Observability o del servizio di monitoraggio che preferisci per valutare le prestazioni delle tue applicazioni nel tempo.
Puoi eseguire job di analisi in qualsiasi ambiente di destinazione (ad esempio, staging o produzione).
Fornitori di metriche supportati
Cloud Deploy supporta l'analisi utilizzando le metriche fornite in uno dei seguenti modi:
Integrazione diretta con le policy di avviso di Google Cloud Observability, basate su telemetria e log in Google Cloud Observability
Integrazione con un sistema di metriche non Google (ad esempio Prometheus o Datadog)
Questo tipo di analisi personalizzata richiede che la tua organizzazione fornisca un contenitore con funzionalità per supportare il sistema di metriche specifico.
Google Cloud fornisce un'integrazione di esempio con Datadog.
Come funziona l'analisi di Cloud Deploy
Questa sezione descrive il funzionamento dell'analisi di Cloud Deploy utilizzando le policy di avviso di Google Cloud Observability. Se la tua organizzazione crea un container personalizzato per utilizzare un fornitore di metriche diverso, alcune di queste funzionalità vengono gestite dal container personalizzato.
Configura le metriche nel sistema di metriche che preferisci.
Cloud Deploy supporta Google Cloud Observability senza alcuna personalizzazione. Puoi anche utilizzare il fornitore di metriche che preferisci creando un contenitore personalizzato per elaborare la telemetria.
Configura un criterio di avviso
Se utilizzi Google Cloud Observability per raccogliere dati di telemetria, puoi utilizzare un criterio di avviso per rilevare quando questi dati indicano un problema.
Se utilizzi un altro provider di metriche, gli avvisi sono responsabilità di questo strumento o del tuo contenitore personalizzato.
Configurare un job di analisi
È costituita da una sezione
analysisnel file di configurazione per la pipeline di distribuzione.Il job di analisi è costituito da uno o più controlli di analisi, ognuno dei quali valuta il comportamento dell'applicazione di cui è stato eseguito il deployment in base ai log o alle metriche di Google Cloud Observability o del tuo fornitore di metriche. Il job di analisi viene eseguito per una durata specificata.
Esegui il deployment dell'applicazione
Il job di analisi viene eseguito dopo il job di deployment e dopo il job di verifica, se la release ne include uno, ma prima di qualsiasi job post-deployment, se la release ne include.
Viene eseguito il job di analisi
Dopo il deployment dell'applicazione (e dopo il completamento di qualsiasi job di verifica, se presente), il provider di metriche raccoglie la telemetria sull'applicazione in esecuzione. Il job di analisi attende il periodo di tempo che configuri (
duration). Se viene attivato un avviso (se utilizzi Google Cloud Observability come provider di metriche) o se il tuo container personalizzato restituisce un codice di uscita diverso da zero, il job di analisi non va a buon fine e nemmeno il rollout.Se nessuno dei controlli rileva un problema, l'analisi termina dopo la scadenza della durata e l'implementazione va a buon fine.
Utilizzare l'analisi con le automazioni
Puoi specificare le automazioni da utilizzare con i tuoi job di analisi.
Ad esempio, se vuoi eseguire un'analisi della tua applicazione dopo il deployment su staging, quindi promuovere automaticamente la release a prod se l'analisi viene completata senza avvisi, puoi utilizzare un'automazione promoteReleaseRule.
In alternativa, se vuoi eseguire automaticamente il rollback di una release se un job di analisi rileva un problema in prod, puoi utilizzare un'automazione repairRolloutRule.
Le automazioni non sono necessarie per utilizzare e trarre vantaggio dai job di analisi.
Analisi personalizzata
L'analisi di Cloud Deploy supporta avvisi e metriche di Google Cloud Observability. Tuttavia, puoi utilizzare l'analisi di Cloud Deploy anche con provider di metriche nonGoogle Cloud.
La configurazione per l'analisi personalizzata è simile a quella per un'analisi standard, tranne per il fatto che ogni controllo nell'analisi include un'attività che fa riferimento a un container fornito dall'utente, al comando o ai comandi da eseguire su quel container e a eventuali variabili di ambiente applicabili da passare al container. Ogni controllo in questa analisi personalizzata include anche una frequenza, ovvero la frequenza di esecuzione del controllo.
Utilizzo dell'analisi con un canary
Un utilizzo tipico dell'analisi di Cloud Deploy è con una strategia di deployment canary. Con canary, puoi utilizzare le metriche di Google Cloud Observability o del provider di tua scelta per determinare se far avanzare un rollout alla fase successiva.
Puoi utilizzare un'automazione advanceRolloutRule con l'analisi. Ad esempio, nella fase canary prima di stable, puoi
includere un job di analisi per garantire l'uptime
e utilizzare l'automazione per far avanzare l'implementazione a stable o meno, a seconda
dei risultati dell'analisi.
Se utilizzi un deployment canary personalizzato o personalizzato automatizzato, configura i job di analisi all'interno della configurazione per ogni fase che vuoi analizzare.
Scopri di più sui deployment canary.
Stati di esecuzione del job di analisi
Di seguito sono riportati i possibili stati di un'esecuzione del job di analisi :
IN_PROGRESSL'analisi è iniziata ed è ancora in corso. L'implementazione rimane
IN_PROGRESSa meno che tu non la annulli.FAILEDIl job di analisi ha rilevato un avviso da Google Cloud Observability o ha ricevuto un codice di uscita diverso da zero da un container personalizzato. Lo stato dell'implementazione è ora
FAILED. Tuttavia, se ignori o riprovi il job di analisi, lo stato dell'implementazione viene aggiornato aIN_PROGRESS.SUCCEEDEDL'analisi è terminata (il
durationè scaduto) e non ha ricevuto indicazioni di metriche sfavorevoli. Lo stato di implementazione cambia inSUCCEEDEDal termine di tutte le altre fasi e di tutti gli altri job.
Passaggi successivi
Prova la guida rapida: Analizza la tua applicazione utilizzando le metriche.
Scopri come configurare l'analisi del deployment utilizzando Google Cloud Observability o utilizzando un altro fornitore di metriche.
Consulta lo schema di configurazione per l'analisi nel riferimento alla configurazione di Cloud Deploy.
Scopri di più sull'automazione del deployment.
Scopri di più sulle strategie di deployment.