Commencer avec les drapeaux de fonctionnalités
Ce produit n'est pas pris en charge par le
site Datadog que vous avez sélectionné. (
).
Aperçu
Datadog Feature Flags offre un moyen puissant et intégré de gérer la livraison des fonctionnalités, avec une observabilité intégrée et une intégration transparente sur la plateforme.
Métriques en temps réel : Comprenez qui reçoit chaque variante, ainsi que l’impact de votre drapeau sur la santé et la performance de votre application, le tout en temps réel.
Prend en charge tout type de données : Utilisez des booléens, des chaînes, des nombres ou des objets JSON complets, selon les besoins de votre cas d’utilisation.
Conçu pour l’expérimentation : Ciblez des audiences spécifiques pour des tests A/B, déployez des fonctionnalités progressivement avec des canary releases, et revenez automatiquement en arrière lorsque des régressions sont détectées.
Compatible avec OpenFeature : Basé sur la norme OpenFeature, garantissant la compatibilité avec les implémentations OpenFeature existantes et offrant une approche neutre vis-à-vis des fournisseurs pour la gestion des drapeaux de fonctionnalités.
SDKs de drapeaux de fonctionnalités
Ce guide utilise le SDK JavaScript pour navigateur comme exemple. Vous pouvez intégrer Datadog Feature Flags dans n’importe quelle application en utilisant l’un des SDK suivants :
SDKs côté client
SDKs côté serveur
Votre organisation dispose probablement déjà d’environnements préconfigurés pour Development, Staging et Production. Pour des détails sur les requêtes d’environnement, le marquage de production et la gestion des environnements, consultez Environnements.
Créez votre premier drapeau de fonctionnalité
Étape 1 : Importez et initialisez le SDK
Tout d’abord, installez @datadog/openfeature-browser, @openfeature/web-sdk et @openfeature/core en tant que dépendances dans votre projet :
yarn add @datadog/openfeature-browser @openfeature/web-sdk @openfeature/core
Ensuite, ajoutez ce qui suit à votre projet pour initialiser le SDK :
import { DatadogProvider } from '@datadog/openfeature-browser';
import { OpenFeature } from '@openfeature/web-sdk';
// Initialize the provider
const provider = new DatadogProvider({
clientToken: '<CLIENT_TOKEN>',
applicationId: '<APPLICATION_ID>',
enableExposureLogging: true, // Can impact RUM costs if enabled
site: 'datadoghq.com',
env: '<YOUR_ENV>', // Same environment normally passed to the RUM SDK
service: '<SERVICE_NAME>',
version: '1.0.0'
});
// Set the provider
await OpenFeature.setProviderAndWait(provider);
Paramétrage
enableExposureLogging par
true peut impacter les coûts de
RUM, car il envoie des événements d'exposition à Datadog via RUM. Vous pouvez le désactiver si vous n'avez pas besoin de suivre l'exposition des fonctionnalités ou le statut des métriques de garde-fou.
Plus d’informations sur les options de configuration du SDK OpenFeature peuvent être trouvées dans sa documentation. Pour plus d’informations sur la création de jetons clients et d’ID d’application, consultez API et clés d’application.
Étape 2 : Créez un drapeau de fonctionnalité
Allez à Create Feature Flag dans Datadog et configurez ce qui suit :
Flag keys, variant keys et variant values doivent être considérés comme publics lorsqu'ils sont envoyés aux SDK clients.
Étape 3 : Évaluez le drapeau et écrivez le code de fonctionnalité
Dans votre code d’application, utilisez le SDK pour évaluer le drapeau et contrôler l’accès à la nouvelle fonctionnalité.
import { OpenFeature } from '@openfeature/web-sdk';
const client = OpenFeature.getClient();
// If applicable, set relevant attributes on the client's global context
// (e.g. org id, user email)
await OpenFeature.setContext({
org_id: 2,
user_id: 'user-123',
email: '[email protected]',
targetingKey: 'user-123'
});
// This is what the SDK returns if the flag is disabled in
// the current environment
const fallback = false;
const showFeature = await client.getBooleanValue('show-new-feature', fallback);
if (showFeature) {
// Feature code here
}
Après avoir terminé cette étape, redéployez l’application pour prendre en compte ces modifications. Des exemples d’utilisation supplémentaires peuvent être trouvés dans la documentation du SDK.
Étape 4 : Définir les règles de ciblage et activer le drapeau de fonctionnalité
Configurez les règles de ciblage pour définir quels sujets reçoivent chaque variante. Après avoir enregistré vos règles, activez le drapeau dans l’environnement de votre choix.
En tant que meilleure pratique, déployez les modifications dans un environnement Staging avant Production.
Pour les déploiements par pourcentage, consultez Traffic Splitting and Randomization.
Étape 5 : Surveillez votre déploiement
Surveillez le déploiement de la fonctionnalité depuis la page de détails du drapeau de fonctionnalité, qui fournit un suivi d’exposition en temps réel et des métriques telles que error rate et page load time. Au fur et à mesure que vous déployez progressivement la fonctionnalité avec le drapeau, consultez le panneau Real-Time Metric Overview dans l’interface utilisateur de Datadog pour voir comment la fonctionnalité impacte les performances de l’application.
Lectures complémentaires
Documentation, liens et articles supplémentaires utiles: