launchdarkly-guarded-rollout

Par launchdarkly · agent-skills

Configurez des déploiements progressifs sécurisés avec des augmentations graduelles du trafic, une surveillance des métriques et un rollback automatique. À utiliser lors de la mise en production progressive de fonctionnalités avec des seuils de sécurité.

npx skills add https://github.com/launchdarkly/agent-skills --skill launchdarkly-guarded-rollout

Déploiements Contrôlés LaunchDarkly

Vous utilisez une skill qui vous guidera dans la configuration de déploiements contrôlés dans LaunchDarkly. Votre travail consiste à concevoir les étapes de déploiement, sélectionner les métriques de monitoring, configurer les seuils de régression et lancer le déploiement.

Prérequis

Cette skill nécessite que le serveur MCP LaunchDarkly hébergé à distance soit configuré dans votre environnement.

Outils MCP requis :

  • start-guarded-rollout -- lancer un déploiement progressif avec monitoring
  • get-flag -- inspecter le flag et ses variations
  • list-metrics -- trouver les métriques à surveiller pendant le déploiement

Outils MCP optionnels :

  • stop-guarded-rollout -- arrêter immédiatement un déploiement actif
  • toggle-flag -- s'assurer que le flag est activé avant de lancer
  • create-metric -- créer des métriques si elles n'existent pas

Concepts Clés

Qu'est-ce qu'un Déploiement Contrôlé ?

Un déploiement contrôlé augmente progressivement le trafic vers une nouvelle variation de flag à travers une série d'étapes. À chaque étape, LaunchDarkly surveille les métriques sélectionnées pour détecter les régressions. Si une régression est détectée, le déploiement peut automatiquement se mettre en pause et notifier l'équipe — ou même se rétracter.

Composants Clés

Composant Description
Variation test La nouvelle variation déployée
Variation contrôle La variation existante/baseline
Étapes Phases avec pourcentage de trafic croissant et fenêtres de monitoring
Métriques Ce qu'il faut surveiller pour les régressions (taux d'erreur, latence, etc.)
Seuil de régression Combien une métrique peut se dégrader avant de déclencher une action
En cas de régression Notifier, se rétracter, ou les deux quand un seuil est dépassé

Unités de Poids de Déploiement

Les poids de déploiement utilisent les millièmes (points de base) :

  • 1000 = 1%
  • 10000 = 10%
  • 50000 = 50%
  • 100000 = 100%

Fenêtre de Monitoring

La fenêtre de monitoring est spécifiée en millisecondes :

  • 3600000 = 1 heure
  • 86400000 = 24 heures
  • 604800000 = 7 jours

Principes Fondamentaux

  1. Commencez Petit : Débutez avec un faible pourcentage (1-5%) pour détecter les problèmes tôt
  2. Surveillez Ce Qui Importe : Choisissez des métriques qui reflètent l'expérience utilisateur
  3. Définissez des Seuils Réalistes : Trop stricts = fausses alarmes ; trop lâches = régressions manquées
  4. Laissez du Temps : Chaque étape a besoin de suffisamment de temps de monitoring pour que le signal émerge
  5. Ayez un Plan de Rétractation : Configurez toujours au minimum une notification en cas de régression

Workflow

Étape 1 : Préparation

Avant de lancer un déploiement contrôlé :

  1. Utilisez get-flag pour inspecter le flag — notez les IDs de variation pour test et contrôle
  2. Utilisez list-metrics pour trouver des métriques appropriées au monitoring
  3. Assurez-vous que le flag est activé dans l'environnement cible (utilisez toggle-flag si nécessaire)
  4. Confirmez qu'il n'y a pas déjà de déploiement contrôlé actif sur ce flag

Étape 2 : Concevoir les Étapes

Planifiez la progression du déploiement. Un motif typique :

Étape Trafic Fenêtre de Monitoring Objectif
1 1% 1 heure Test rapide — déterminer les plantages évidents
2 10% 24 heures Signal précoce sur les métriques
3 50% 24 heures Renforcer la confiance
4 100% 24 heures Déploiement complet avec monitoring

Étape 3 : Configurer les Métriques

Sélectionnez les métriques qui indiquent des problèmes :

Type de Métrique Exemple Seuil Action
Taux d'erreur api-error-rate 0,05 (5% d'augmentation) Rétracter
Latence p99-response-time 0,2 (20% d'augmentation) Notifier
Conversion checkout-completed 0,1 (10% de diminution) Notifier + Rétracter

Étape 4 : Lancer le Déploiement

Utilisez start-guarded-rollout :

{
  "projectKey": "my-project",
  "flagKey": "new-checkout-flow",
  "environmentKey": "production",
  "testVariationId": "variation-id-for-new-flow",
  "controlVariationId": "variation-id-for-current-flow",
  "randomizationUnit": "user",
  "stages": [
    {"rolloutWeight": 1000, "monitoringWindowMilliseconds": 3600000},
    {"rolloutWeight": 10000, "monitoringWindowMilliseconds": 86400000},
    {"rolloutWeight": 50000, "monitoringWindowMilliseconds": 86400000},
    {"rolloutWeight": 100000, "monitoringWindowMilliseconds": 86400000}
  ],
  "metrics": [
    {
      "metricKey": "api-error-rate",
      "onRegression": {"notify": true, "rollback": true},
      "regressionThreshold": 0.05
    },
    {
      "metricKey": "checkout-completed",
      "onRegression": {"notify": true, "rollback": false},
      "regressionThreshold": 0.1
    }
  ]
}

Étape 5 : Vérifier

  1. Utilisez get-flag pour confirmer que le déploiement contrôlé est actif
  2. Vérifiez que le flag affiche la configuration de déploiement dans l'environnement
  3. Surveillez les notifications de régression immédiate

Rapporter les résultats :

  • Déploiement contrôlé lancé avec N étapes
  • M métriques en cours de monitoring
  • Première étape à X% de trafic pour Y heures

Arrêter un Déploiement

Si des problèmes surviennent ou que vous devez arrêter le déploiement :

{
  "projectKey": "my-project",
  "flagKey": "new-checkout-flow",
  "environmentKey": "production"
}

Cela arrête immédiatement le déploiement progressif et verrouille le flag dans son état actuel.

Cas Limites

Situation Action
Flag désactivé L'activer d'abord avec toggle-flag — les déploiements nécessitent que le flag soit activé
Déploiement actif existant L'arrêter d'abord avec stop-guarded-rollout avant d'en lancer un nouveau
Pas de métriques appropriées Créer les métriques d'abord avec create-metric
Approbation requise Si l'environnement demande une approbation, l'outil retournera une URL d'approbation

Ce qu'il NE FAUT PAS Faire

  • Ne lancez pas de déploiement contrôlé sur un flag désactivé
  • Ne sautez pas la conception de la fenêtre de monitoring — se précipiter à travers les étapes va à l'encontre du but
  • Ne définissez pas des seuils de régression à 0 — les petites fluctuations sont normales
  • N'oubliez pas de configurer au moins une métrique — un déploiement sans monitoring est juste un déploiement ordinaire

Skills similaires