Cloud Deploy vous permet d'analyser les performances de vos applications déployées à l'aide de la plate-forme de surveillance et des métriques de votre choix. Vous pouvez utiliser les résultats de ces analyses pour effectuer des actions, comme annuler automatiquement le déploiement.
Cloud Deploy est compatible avec Google Cloud Observability et peut être étendu pour prendre en charge d'autres plates-formes de surveillance, telles que Datadog ou Prometheus.
Bien que Cloud Deploy propose la validation du déploiement, que vous pouvez utiliser pour exécuter des conteneurs arbitraires afin de valider un déploiement, l'analyse vous permet d'utiliser les données de télémétrie de Google Cloud Observability ou du service de surveillance de votre choix pour évaluer les performances de vos applications au fil du temps.
Vous pouvez exécuter des jobs d'analyse dans n'importe quel environnement cible (par exemple, staging ou production).
Fournisseurs de métriques acceptés
Cloud Deploy permet d'effectuer des analyses à l'aide de métriques fournies de l'une des manières suivantes :
Intégration directe aux règles d'alerte Google Cloud Observability, basée sur la télémétrie et les journaux dans Google Cloud Observability
Intégration à un système de métriques non Google (par exemple, Prometheus ou Datadog)
Ce type d'analyse personnalisée nécessite que votre organisation fournisse un conteneur avec des fonctionnalités permettant de prendre en charge le système de métriques spécifique.
Google Cloud fournit un exemple d'intégration à Datadog.
Fonctionnement de l'analyse Cloud Deploy
Cette section explique comment fonctionne l'analyse Cloud Deploy à l'aide des règles d'alerte Google Cloud Observability. Si votre organisation crée un conteneur personnalisé pour utiliser un autre fournisseur de métriques, certaines de ces fonctionnalités sont gérées par votre conteneur personnalisé.
Configurez les métriques dans le système de métriques de votre choix.
Cloud Deploy est compatible avec Google Cloud Observability sans aucune personnalisation. Vous pouvez également utiliser le fournisseur de métriques de votre choix en créant un conteneur personnalisé pour traiter la télémétrie.
Configurer une règle d'alerte
Si vous utilisez Google Cloud Observability pour collecter des données de télémétrie, vous pouvez utiliser une règle d'alerte pour détecter quand ces données indiquent un problème.
Si vous utilisez un autre fournisseur de métriques, les alertes sont la responsabilité de cet outil ou de votre conteneur personnalisé.
Configurer une tâche d'analyse
Il s'agit d'une strophe
analysisdans le fichier de configuration de votre pipeline de déploiement.Le job d'analyse se compose d'un ou de plusieurs contrôles d'analyse, chacun évaluant le comportement de votre application déployée en fonction des journaux ou des métriques de Google Cloud Observability ou de votre fournisseur de métriques. Le job d'analyse s'exécute pendant une durée spécifiée.
Déployer votre application
Le job d'analyse s'exécute après le job de déploiement et après le job de validation, si votre version en inclut un, mais avant tout job post-déploiement, si votre version en inclut un.
L'analyse s'exécute
Une fois votre application déployée (et une fois tout job de validation terminé, le cas échéant), votre fournisseur de métriques collecte des données de télémétrie sur votre application en cours d'exécution. Le job d'analyse attend la durée que vous configurez (
duration). Si une alerte est déclenchée (si vous utilisez Google Cloud Observability comme fournisseur de métriques) ou si votre conteneur personnalisé renvoie un code de sortie non nul, le job d'analyse échoue, tout comme votre déploiement.Si aucune des vérifications ne détecte de problème, l'analyse se termine à l'expiration de la durée et le déploiement réussit.
Utiliser l'analyse avec les automatisations
Vous pouvez spécifier les automatisations à utiliser avec vos jobs d'analyse.
Par exemple, si vous souhaitez exécuter une analyse sur votre application après son déploiement sur staging, puis promouvoir automatiquement la version sur prod si l'analyse se termine sans alerte, vous pouvez utiliser une automatisation promoteReleaseRule.
Vous pouvez également utiliser une automatisation repairRolloutRule si vous souhaitez rétablir automatiquement une version si une tâche d'analyse détecte un problème dans prod.
Les automatisations ne sont pas nécessaires pour utiliser les jobs d'analyse et en tirer parti.
Analyse personnalisée
L'analyse Cloud Deploy est compatible avec les alertes et les métriques de Google Cloud Observability. Toutefois, vous pouvez également utiliser l'analyse Cloud Deploy avec des fournisseurs de métriques autres queGoogle Cloud.
La configuration d'une analyse personnalisée est semblable à celle d'une analyse standard, sauf que chaque vérification de l'analyse inclut une tâche qui fait référence à un conteneur que vous fournissez, à la ou aux commandes à exécuter sur ce conteneur, ainsi qu'à toutes les variables d'environnement applicables à transmettre à ce conteneur. Chaque vérification de cette analyse personnalisée inclut également une fréquence, qui indique à quelle fréquence exécuter la vérification.
Utiliser l'analyse avec un déploiement Canary
L'analyse Cloud Deploy est généralement utilisée avec une stratégie de déploiement Canary. Avec Canary, vous pouvez utiliser les métriques de Google Cloud Observability ou du fournisseur de votre choix pour déterminer si vous devez passer à la phase suivante du déploiement.
Vous pouvez également utiliser une automatisation advanceRolloutRule avec l'analyse. Par exemple, dans la phase Canary avant stable, vous pouvez inclure un job d'analyse pour assurer la disponibilité et utiliser l'automatisation pour faire passer le déploiement à stable ou non, en fonction des résultats de cette analyse.
Si vous utilisez un déploiement Canary personnalisé ou personnalisé et automatisé, vous devez configurer des jobs d'analyse dans la configuration de chaque phase que vous souhaitez analyser.
En savoir plus sur les déploiements Canary
États d'exécution des tâches d'analyse
Voici les états possibles d'une exécution de job d'analyse :
IN_PROGRESSL'analyse a commencé et est toujours en cours. Le déploiement reste
IN_PROGRESS, sauf si vous l'annulez.FAILEDLe job d'analyse a détecté une alerte de Google Cloud Observability ou a reçu un code de sortie non nul d'un conteneur personnalisé. L'état du déploiement est désormais
FAILED. Toutefois, si vous ignorez ou relancez le job d'analyse, l'état du déploiement passe àIN_PROGRESS.SUCCEEDEDL'analyse est terminée (le
durationa expiré) et n'a reçu aucune indication de métriques défavorables. L'état du déploiement passe àSUCCEEDEDune fois que toutes les autres phases et tous les autres jobs sont terminés.
Étapes suivantes
Suivez le guide de démarrage rapide : Analyser votre application à l'aide de métriques.
Découvrez comment configurer l'analyse des déploiements avec Google Cloud Observability ou avec un autre fournisseur de métriques.
Consultez le schéma de configuration pour l'analyse dans la documentation de référence sur la configuration Cloud Deploy.
En savoir plus sur l'automatisation du déploiement
En savoir plus sur les stratégies de déploiement