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 monitoringget-flag-- inspecter le flag et ses variationslist-metrics-- trouver les métriques à surveiller pendant le déploiement
Outils MCP optionnels :
stop-guarded-rollout-- arrêter immédiatement un déploiement actiftoggle-flag-- s'assurer que le flag est activé avant de lancercreate-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 heure86400000= 24 heures604800000= 7 jours
Principes Fondamentaux
- Commencez Petit : Débutez avec un faible pourcentage (1-5%) pour détecter les problèmes tôt
- Surveillez Ce Qui Importe : Choisissez des métriques qui reflètent l'expérience utilisateur
- Définissez des Seuils Réalistes : Trop stricts = fausses alarmes ; trop lâches = régressions manquées
- Laissez du Temps : Chaque étape a besoin de suffisamment de temps de monitoring pour que le signal émerge
- 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é :
- Utilisez
get-flagpour inspecter le flag — notez les IDs de variation pour test et contrôle - Utilisez
list-metricspour trouver des métriques appropriées au monitoring - Assurez-vous que le flag est activé dans l'environnement cible (utilisez
toggle-flagsi nécessaire) - 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
- Utilisez
get-flagpour confirmer que le déploiement contrôlé est actif - Vérifiez que le flag affiche la configuration de déploiement dans l'environnement
- 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