Ciblage des indicateurs de fonctionnalité par segments

En tant que propriétaire d'une application, créez et gérez des indicateurs de fonctionnalité, ajoutez-les à des collections et utilisez-les dans votre application à l'aide des SDK. Vous pouvez également contrôler l'applicabilité d'une fonction en l'activant ou en la désactivant lors de l'exécution.

Vous pouvez ajouter un flux de processus d'approbation pour tout changement de configuration initié via un environnement App Configuration à l'aide de l'intégration ServiceNow. Le flux de processus d'approbation est applicable à un environnement App Configuration tel que le développement, la phase et la production. Pour plus d'informations, voir Gestion des flux de travaux.

Une fonction peut être activée ou désactivée pour tous les utilisateurs de la collection ou pour un ensemble spécifique d'utilisateurs et de périphériques ou pour un certain pourcentage d'un ensemble spécifique d'utilisateurs et de périphériques.

L'activation ou la désactivation des fonctionnalités peut être programmée en définissant une date et une heure de début et de fin. Vous pouvez également choisir un jour spécifique où une fonctionnalité définie peut être activée ou désactivée. Consultez la section Drapeaux programmés pour plus d'informations sur la manière de définir l'heure de début et de fin, la date et le choix d'un jour spécifique pour le basculement de votre drapeau de fonctionnalité.

Par défaut, la page Feature flags (Indicateurs de fonctionnalité) affiche la liste des indicateurs de fonctionnalité créés dans l'environnement actuel de l'instance de service d' App Configuration, ainsi que les détails de l'enregistrement tels que le nom, le type, la dernière mise à jour, la dernière évaluation et les segments ciblés. Les types de drapeaux sont classés en trois catégories : booléen, numérique ou chaîne de caractères.

  • Un indicateur booléen a deux valeurs et vous pouvez définir la valeur par défaut sur 'true' ou 'false'.
  • Un indicateur de type chaîne prend en charge les données sous forme de texte et de fichiers JSON ou YAML.
  • Un indicateur Numérique prend en charge les entiers.

Liste des drapeaux
des
de caractéristiques*

Création d'un indicateur de fonctionnalité

Pour créer un indicateur de fonctionnalité, procédez comme suit :

  1. Dans la console App Configuration, cliquez sur Indicateurs de fonctionnalité.

  2. Sélectionnez l'Environnement en cours pour afficher la liste des indicateurs de fonction dans cet environnement.

  3. Cliquez sur Créer. Le panneau latéral s'ouvre et affiche les champs permettant de créer un nouveau « feature flag ».

    Créer un drapeau d'
    un nouveau
    d'entité*

  4. Spécifiez les détails de l'indicateur de fonctionnalité :

    • Nom : nom de l'indicateur de fonctionnalité.
    • ID indicateur de fonctionnalité : la valeur de l'ID indicateur de fonctionnalité est proposée automatiquement en fonction du nom de fonctionnalité saisi. Vous pouvez la modifier si nécessaire. Utilisez la valeur ID indicateur de fonctionnalité comme identificateur dans votre SDK ou code d'API.
    • Type d'indicateur : spécifiez le type de l'indicateur de fonctionnalité. Les types pris en charge sont les suivants : booléen, chaîne et numérique. Pour plus d'informations sur le type d'indicateur et les valeurs par défaut, voir Sélection du type d'indicateur de fonction.
    • Valeur par défaut : spécifiez la valeur par défaut du type d'indicateur de fonctionnalité sélectionné. Pour plus d'informations sur le type d'indicateur et les valeurs par défaut, voir Sélection du type d'indicateur de fonction.
    • Vous pouvez également sélectionner une collection pour appliquer un indicateur de fonction maintenant. Sinon, vous devez ajouter une collection avant d'activer ou de désactiver un indicateur de fonction. Vous pouvez ajouter le drapeau de fonctionnalité à une ou plusieurs collections en le sélectionnant dans la liste « Activer le drapeau pour toutes les collections ».
    • Feature rollout-spécifiez le Rollout percentage à l'aide du curseur. Pour plus d'informations sur le déploiement manuel, voir Configurer le pourcentage de déploiement des fonctionnalités.
    • Description : ajoutez éventuellement une description d l'indicateur de fonctionnalité.
    • Vous pouvez également définir des balises qui vous aideront à identifier le feature flag.
  5. Cliquez sur Créer.

Par défaut, lorsque vous créez un nouveau drapeau de fonctionnalité, le bouton bascule « Activé » est réglé sur « OFF ».

Sélection du type d'indicateur de fonctionnalité

L'un des types d'indicateur suivants est associé à un indicateur de fonctionnalité :

  • Booléen
  • Chaîne
  • Numérique

Chaque type d'indicateur a une valeur par défaut.

  • Lorsque vous placez le commutateur à bascule sur « ON », il est obligatoire de définir la valeur du paramètre « Enabled »; celle-ci peut toutefois être remplacée lors du ciblage d'un segment.
  • Lorsque vous placez le commutateur à bascule sur OFF, la valeur « **Désactivé ** » est obligatoire; celle-ci peut toutefois être remplacée lors du ciblage d'un segment.

Booléen

Lorsque vous sélectionnez Booléen comme Type d'indicateur, les détails de la Valeur par défaut s'affichent :

Type de drapeau -
de drapeau -

  1. Sélectionnez la Valeur activée dans la liste. Cette valeur est renvoyée par défaut lorsque le commutateur est réglé sur «* ON* » pour l'indicateur de fonctionnalité. Cette valeur peut être remplacée lors du ciblage d'un segment.

  2. Sélectionnez la Valeur désactivée dans la liste. Cette valeur est renvoyée par défaut si le commutateur à bascule est défini sur OFF pour l'indicateur de fonctionnalité.

Chaîne

Lorsque vous sélectionnez Chaîne comme Type d'indicateur, les détails de la Valeur par défaut s'affichent :

Type de drapeau -
de drapeau -

  1. Sélectionnez le Format du type d'indicateur de chaîne dans la liste. Le format pris en charge est Texte, JSON et YAML. Lorsque le format JSON ou YAML est sélectionné, indiquez la valeur activée et la valeur désactivée dans le format sélectionné.

  2. Sélectionnez la Valeur activée. Cette valeur est renvoyée par défaut lorsque le commutateur est réglé sur «* ON* » pour l'indicateur de fonctionnalité. Cette valeur peut être remplacée lors du ciblage d'un segment.

  3. Sélectionnez la Valeur désactivée. Cette valeur est renvoyée par défaut si le commutateur à bascule est défini sur OFF pour l'indicateur de fonctionnalité.

Numérique

Lorsque vous sélectionnez Numérique comme Type d'indicateur, les détails de la Valeur par défaut s'affichent :

Type de drapeau -
de drapeau -

  1. Sélectionnez la Valeur activée dans la liste. Seules les valeurs entières sont prises en charge. Cette valeur est renvoyée par défaut lorsque le commutateur est réglé sur «* ON* » pour l'indicateur de fonctionnalité. Cette valeur peut être remplacée lors du ciblage d'un segment.

  2. Sélectionnez la Valeur désactivée dans la liste. Seules les valeurs entières sont prises en charge. Cette valeur est renvoyée par défaut si le commutateur à bascule est défini sur OFF pour l'indicateur de fonctionnalité.

Ciblage de collections sur des indicateurs de fonctionnalité

Vous pouvez également sélectionner une collection pour appliquer un indicateur de fonction maintenant. Sinon, vous devez ajouter une collection avant d'activer ou de désactiver un indicateur de fonction. Vous pouvez ajouter des indicateurs de fonctionnalité à une ou plusieurs collections lors de la création d'un indicateur de fonctionnalité ou de l'édition des détails d'un indicateur de fonctionnalité.

Pour ajouter des collections à l'indicateur de fonctionnalité, pour la zone Flag availability across collections, sélectionnez la collection dans la liste.

Si vous essayez de cibler un indicateur de fonctionnalité qui n'est pas associé à une collection, une fenêtre s'affiche pour vous permettre d'ajouter cet indicateur à une collection.

Configurer le pourcentage de déploiement de la fonction

Vous pouvez configurer l'indicateur de fonction avec un pourcentage de déploiement compris entre 0 et 100, ce qui indique l'applicabilité de la fonction à un ensemble partiel d'utilisateurs ou d'appareils.

Le déploiement manuel permet de mettre une fonctionnalité à la disposition d'un petit pourcentage d'utilisateurs choisis au hasard ou d'un sous-ensemble d'entités, ce qui offre un meilleur contrôle sur le cycle de mise en production et permet une mise en service progressive. Lorsque vous êtes certain que la fonction que vous souhaitez déployer fonctionne comme prévu, augmentez le pourcentage dans le temps.

Le déploiement manuel utilise un algorithme de hachage qui génère un hachage basé sur l'ensemble des règles. Ce hachage est utilisé par le SDK pour générer une valeur de pourcentage pour cet utilisateur. La valeur en pourcentage générée pour cet utilisateur est comparée à la valeur définie pour la valeur de déploiement manuel, ce qui permet de déterminer si l'utilisateur peut bénéficier de cette fonction ou non.

Par exemple, le hachage comporte des partitions de 1 à 100 000. Lorsque vous affectez un indicateur de fonction, le hachage affecte des valeurs de 1 à 100 000 aux utilisateurs de chaque partition. Par exemple, lorsque vous affectez 25% à un indicateur de fonction, le SDK App Configuration distribue cette fonction aux partitions de hachage de 1 à 25 000. Si vous modifiez le pourcentage d'utilisateurs recevant cette fonction de 25% à 50%, les partitions 25 001 à 50 000 seront ajoutées à l'ensemble de partitions recevant déjà cette fonction.

La fonctionnalité de déploiement manuel est disponible pour les formules Lite et Enterprise.

Voici quelques scénarios de déploiement manuel :

  • Si l'indicateur de fonction est désactivé, le SDK renvoie la valeur désactivée par défaut.
  • Si l'indicateur de fonctionnalité est activé sans règles de segment et qu'aucun déploiement manuel n'est défini, le SDK renvoie la valeur Activé par défaut.
  • Si l'indicateur de fonctionnalité est activé sans règle de segment et que le déploiement manuel est fixé à 0 %, le SDK renvoie la valeur Désactivé pour tous les utilisateurs.
  • Si l'indicateur de fonctionnalité est activé sans règle de segment et que le déploiement manuel est défini sur un pourcentage, par exemple 50 %, le SDK vérifie si l'utilisateur appartient à la taille de déploiement manuel configurée, si l'utilisateur appartient aux critères de déploiement, le SDK renvoie la valeur Activé. Si l'utilisateur n'appartient pas aux critères de déploiement, le SDK renvoie la valeur Disabled.
  • Si l'indicateur de fonction est activé avec des règles de segment, SDK évalue d'abord l'utilisateur par rapport aux règles configurées. Si l'utilisateur fait partie de la règle configurée, le SDK évalue si l'utilisateur est éligible au déploiement manuel.
    • Si plusieurs règles sont configurées et que l'utilisateur est vérifié pour la correspondance des règles jusqu'à la première correspondance. Si aucune correspondance n'est trouvée, le SDK est évalué par rapport au déploiement par défaut.
    • Si l'utilisateur est évalué comme faisant partie du segment et que le déploiement manuel du segment est de 0 %, même si l'utilisateur fait partie du segment, il ne recevra pas la valeur du segment. Le SDK renvoie la valeur par défaut Disabled value.
    • Si l'utilisateur est évalué comme faisant partie du segment et que le déploiement manuel du segment est fixé à un pourcentage, par exemple 50 %, le SDK vérifie si l'utilisateur appartient à la taille de déploiement configurée, si l'utilisateur appartient aux critères de déploiement, le SDK renvoie la valeur prioritaire du segment. Si l'utilisateur n'appartient pas aux critères de déploiement, le SDK renvoie Disabled value.
Scénarios de déploiement en pourcentage
indicateur de fonctionnalité Le ciblage est-il configuré? Déploiement manuel de L'utilisateur fait-il partie
du segment
configuré?
L'utilisateur
fait-il partie de
manual rollout
criteria?
Valeur
renvoyée
par SDK
Désactivé ND N'importe quel% de déploiement défini ND ND Valeur désactivée
Activé Non 0 % ND Non Valeur désactivée
Activé Oui 0 % Oui Non Valeur désactivée
Activé Oui 0 % Non Non Valeur désactivée
Activé Non Entre 0% et 100% ND Oui Valeur activée
Activé Non Entre 0% et 100% ND Non Valeur désactivée
Activé Oui Entre 0% et 100% Oui Oui Valeur remplacée
Activé Oui Entre 0% et 100% Oui Non Valeur désactivée
Activé Oui Entre 0% et 100% Non Oui Valeur activée
Activé Oui Entre 0% et 100% Non Non Valeur désactivée
Activé Non 100 % ND Oui Valeur activée
Activé Oui 100 % Oui Oui Valeur remplacée
Activé Oui 100 % Non Oui Valeur activée

Ciblage d'un segment avec un indicateur de fonctionnalité

Vous pouvez déployer des indicateurs de fonctionnalité sur un ou plusieurs segments cible. Vous pouvez définir différentes valeurs d'indicateur pour différents segments, si nécessaire.

  1. Dans la console App Configuration, accédez à Indicateurs de fonctionnalité. Ce volet affiche la liste des indicateurs de fonctionnalité disponibles dans l'environnement actuel de l'instance du service « App Configuration ».

  2. Cliquez sur Ajouter un ciblage dans la ligne de l'indicateur de fonctionnalité requis pour afficher le panneau latéral Ajouter des configurations de ciblage.

  3. La section " rollout" de l'élément (par défaut) affiche le curseur de pourcentage de rollout par défaut défini lors de la création du drapeau de l'élément. Vous pouvez ajuster la valeur du pourcentage de déploiement en déplaçant le curseur. Les modifications sont enregistrées automatiquement au fur et à mesure que vous ajustez le curseur.

  4. Dans la section Règles, vous pouvez définir des règles qui contrôlent qui voit votre fonctionnalité et gérer facilement plusieurs règles. La vue initiale montre le bouton Créer une règle et un champ de recherche pour filtrer les règles existantes.

    Ajout d'une règle
    Ajout d'une règle

    Lors de la création de la règle, spécifiez les éléments suivants :

    • Nom de la règle- Saisissez un nom descriptif pour la règle (100 caractères maximum).

    • ID de la règle- Saisissez un identifiant unique pour la règle. Il ne doit contenir que des lettres, des chiffres, des points (.), des traits d'union (-) et des caractères de soulignement (_). Maximum 100 caractères.

    • Dans le pourcentage de déploiement, vous pouvez définir la valeur en tant qu' Ecraser ou Hériter de la valeur par défaut. Si l'option Override est sélectionnée, réglez la valeur du pourcentage de déploiement à l'aide du curseur. Le pourcentage est enregistré automatiquement au fur et à mesure que vous réglez le curseur.

    • Sélectionner des segments- Choisir un ou plusieurs segments dans la liste. Les segments sélectionnés sont affichés avec un indicateur de comptage (par exemple, "1 × segment est sélectionné"). Si aucun segment n'est disponible pour la cible, cliquez sur Créer un segment. Pour plus d'informations sur la création d'un segment, voir Création d'un segment.

    • Pour Valeur activée, vous pouvez sélectionner Remplacer et modifier la valeur ou sélectionner Hériter de l'indicateur.

    • Priorité- Définit la priorité de la règle pour déterminer l'ordre dans lequel les règles sont évaluées. Vous pouvez définir la priorité sur l'une des options suivantes :

      • Définir au bas de l'échelle - Définit la priorité de la règle au dernier rang. Il s'agit de l'option par défaut.
      • Set to Top - Définit la priorité au sommet des règles (c.-à-d. 1).
      • Position spécifique - Définit la priorité sur une position spécifique définie par l'utilisateur. (Le numéro de priorité peut être compris entre 1 et le nombre de règles).

    La règle est créée et enregistrée lorsque vous cliquez sur Enregistrer la règle. Il n'y a pas de bouton Créer ou Annuler séparé - il suffit de fermer le panneau lorsque vous avez fini de configurer la règle.

  5. Après avoir créé une règle, celle-ci apparaît dans le tableau des règles avec la priorité, le nom de la règle, les segments et les informations de déploiement. Vous pouvez effectuer les actions suivantes pour chaque règle en utilisant le menu de débordement :

    • Copier- Créer une nouvelle règle en dupliquant une règle existante.

    Menu déroulant « Copier la règle »
    Menu déroulant « Copier la règle »

    Copier la vue de la règle
    Copier la vue de la règle

    • Edit rule- Modifie la configuration d'une règle existante.

    Editer le menu de débordement des règles
    Editer le menu de débordement des règles

    Modifier la vue de la règle
    Modifier la vue de la règle

    • Modifier la priorité- Modifier l'ordre d'évaluation des règles. La priorité détermine l'ordre dans lequel les règles sont évaluées. Les règles ayant un numéro de priorité inférieur sont évaluées en premier. Vous pouvez définir la priorité sur l'une des options mentionnées précédemment.

    Editer le menu prioritaire de débordement
    Editer le menu prioritaire de débordement

    Modifier la vue de la règle de priorité
    Modifier la vue de la règle de priorité

    • Supprimer- Supprimer la règle. Lorsque vous sélectionnez supprimer, une boîte de dialogue de confirmation s'affiche afin d'éviter toute suppression accidentelle.

    Supprimer le menu de débordement des règles
    Supprimer le menu de débordement des règles

    Supprimer le dialogue de confirmation
    Supprimer le dialogue de confirmation des règles

Si vous essayez de cibler un indicateur de fonctionnalité qui n'est pas associé à une collection, une fenêtre s'affiche pour vous permettre d'ajouter cet indicateur à une collection.

Comment les règles de ciblage sont-elles évaluées?

Lorsque vous configurez le ciblage, gardez à l'esprit le comportement d'évaluation suivant :

  • Au sein d'un segment, différents attributs sont évalués à l'aide de AND.
  • Au sein d'un même attribut de segment, plusieurs valeurs sont évaluées à l'aide de OR.
  • Dans une règle de ciblage, plusieurs segments sélectionnés sont évalués à l'aide de OR.
  • Les règles de ciblage sont évaluées par priorité et la première règle correspondante est appliquée.

Par exemple, si une règle contient les segments Production - US-East et Production - Eu-De, la règle correspond à l'un ou l'autre des segments. Si vous souhaitez les déployer séparément, créez des règles distinctes ou définissez chaque segment avec tous les attributs requis et classez les règles par ordre de priorité.

Si vous souhaitez activer une fonctionnalité d'abord pour les utilisateurs de production de eu-de, puis pour les utilisateurs de production de us-east, définissez chaque segment avec tous les attributs requis, par exemple :

  • Segment 1 : environment is production et region is eu-de
  • Segment 2 : environment is production et region is us-east

Ciblez ensuite ces segments dans des règles distinctes et classez les règles par ordre de priorité dans la vue Modifier le ciblage. Cette approche permet de s'assurer que chaque règle ne s'adresse qu'au public visé.

Activation d'un indicateur de fonctionnalité

Une fois que vous avez associé un indicateur de fonctionnalité à un segment, cliquez sur le bouton (ON/OFF) pour l'activer ou le désactiver.

Indicateurs de fonctionnalité - Menu déroulant dynamique

Le menu déroulant dynamique de chaque indicateur de fonctionnalité (trois points verticaux) comprend les opérations Editer, Copier et Supprimer, plus Remove targeting pour les indicateurs de fonctionnalité déjà ciblés.

Menu de débordement pour un indicateur de caractéristique*Menu de{: caption="caractéristiqueMenu de débordement pour un indicateur de caractéristiqueMenu de débordement pour un " caption-side="bottom"} de caractéristique*

  • Lorsque l'option « Modifier » est sélectionnée, vous pouvez modifier le nom et la description, ajouter ou supprimer des balises, modifier le type de drapeau et la valeur par défaut, ainsi qu'ajouter ou supprimer des collections dans le champ « Disponibilité du drapeau dans les collections ».
  • Lorsque l'option « Copier » est sélectionnée, les informations relatives au drapeau de fonctionnalité sont copiées, et vous devez modifier le nom de ce drapeau. Modifiez éventuellement les autres détails en fonction de vos besoins.
  • Si l'option Supprimer est sélectionnée, une fenêtre de confirmation s'affiche pour vous permettre de confirmer la suppression de l'indicateur de fonctionnalité sélectionné. L'option « Supprimer » supprime définitivement le drapeau de fonctionnalité; cette action ne peut pas être annulée.
  • Dans la liste des indicateurs de fonction, dans un indicateur de fonction, lorsque vous cliquez sur l'icône Copier dans le presse-papiers, la valeur de l'ID de l'indicateur de fonction de l'indicateur de fonction est copiée dans le presse-papiers.
  • La suppression du ciblage supprime le ciblage des indicateurs de fonctionnalité pour un segment.