Service de gestion
des Feature Flags
en open source

FeatBit, un service de gestion de Feature Flags rapide, évolutif et open source. La solution idéale pour l'auto-hébergement.

Innovate Your Software Faster without Risk

A Fast, Scalable, and Open-source Feature Flags Management Service. For Cloud & Self-hosting.

Quelles sont les alternatives viables à LaunchDarkly pour le feature flagging?

Last updated date:

Cet article a été écrit par LifeCycle. Pour plus d'informations, consultez la version anglaise.

Avec une pléthore d'Feature Flags et d'outils d'expérimentation disponibles, identifier une alternative viable à LaunchDarkly peut s'avérer complexe. Pour faciliter cette exploration, j'ai passé en revue de nombreux outils de gestion des Feature Flags — bien que pas tous — en examinant leurs sites officiels, leur documentation, leurs dépôts GitHub et leurs blogs. Cette comparaison se concentre sur divers aspects, y compris la disponibilité en open-source, les offres SaaS et les comparaisons de fonctionnalités avec LaunchDarkly.

Pour un aperçu rapide, référez-vous à la ToC (Table des matières) « Sur cette page » sur le côté gauche pour naviguer vers les sections qui vous intéressent.

Outils de Feature Flags

J'ai mené une recherche approfondie sur divers outils d'Feature Flags, en utilisant des ressources telles que Google, GitHub, Reddit, Hacker News et d'autres plateformes en ligne renommées. Voici une liste de mes découvertes :

Apptimize, Bucketeer, CloudBees, ConfigCat, DevCycle, FeatBit, FeatureHub, FeatureProbe, ff4j, Flagship, Flagr, Flagsmith, Flipper, Flipt, geteppo, GoFeatureFlag, Growthbook, Harness, piranha, PostHog, prefab.cloud, rmflags, split.io, StatSig, tggl.io, Unleash

Outils de Feature Flags Open Source

LaunchDarkly offre un outil/plateforme pour développeurs au niveau de l'infrastructure. Pour les développeurs, la nature open-source de tels outils est cruciale, surtout lorsqu'ils sont profondément intégrés dans leur logiciel. Par conséquent, les outils open-source méritent une attention particulière en tant qu'alternatives viables à LaunchDarkly. Voici une liste d'outils d'Feature Flags open-source :

Bucketeer, FeatBit, FeatureHub, FeatureProbe, ff4j, Flagr, Flagsmith, Flipper, Flipt, GoFeatureFlag, Growthbook, piranha, PostHog, Unleash

Pile Technologique

La majorité des alternatives utilisent JavaScript/TypeScript pour leurs applications front-end. Dans ce contexte, « pile technologique » fait principalement référence à leurs services back-end et de données. Je n'ai pas inclus les outils qui ne sont pas open-source dans cette discussion.

Langage de Programmation Outils
JavaScript/TypeScript Bucketeer, Growthbook, Unleash
Python PostHog, Flagsmith
C# FeatBit
Java ff4j, piranha
Go Flagr, Flipt, GoFeatureFlag
Rust FeatureProbe
Dart FeatureHub
Ruby Flipper

Solution de Déploiement Helm Chart Open Source

Alors que ces outils open-source offrent des options d'installation Docker Compose, le déploiement via Helm Chart est de plus en plus privilégié par les entreprises. Voici une liste d'outils que j'ai trouvés en ligne qui proposent des solutions de déploiement Helm Chart open-source :

FeatBit, Flagsmith, PostHog, Unleash

Fonctionnalités

Les différents fournisseurs proposent une variété de fonctionnalités, et il est difficile de les lister de manière exhaustive. Par conséquent, j'ai mis en évidence certaines des fonctionnalités clés de LaunchDarkly. Dans cette comparaison, je considère qu'un outil possède une fonctionnalité particulière même s'il ne l'implémente que partiellement.

Ciblage des Drapeaux

Le « ciblage » fait référence à la capacité de configurer un indicateur de fonctionnalité pour qu'il se comporte différemment selon son contexte. Cela permet d'exécuter des fonctionnalités ou du code spécifiques uniquement sous certaines conditions. Des exemples d'utilisation du ciblage incluent l'affichage d'une fonctionnalité de site web uniquement aux visiteurs utilisant un navigateur spécifique, l'offre d'une option de mise à niveau de compte aux utilisateurs éligibles ou l'affichage de différents messages d'accueil en fonction du fuseau horaire de l'utilisateur. La mise en place du ciblage nécessite de fournir du contexte dans le code et de définir des règles dans la configuration de l'indicateur. Voici quelques fournisseurs qui prennent en charge cette fonctionnalité :

Apptimize, Bucketeer, CloudBees, ConfigCat, DevCycle, FeatBit, FeatureHub, FeatureProbe, ff4j, Flagship, Flagr, Flagsmith, Flipper, Flipt, geteppo, GoFeatureFlag, Growthbook, Harness, piranha, PostHog, prefab.cloud, rmflags, split.io, tggl.io, Unleash

Segment Réutilisable

Un « segment réutilisable » fait référence à la capacité de créer des segments qui peuvent être utilisés pour plusieurs Feature Flags. Cela signifie que vous pouvez définir un groupe spécifique d'utilisateurs ou de contextes une seule fois, puis appliquer ce segment pour contrôler le comportement de différents Feature Flags. Il est qualifié de « réutilisable » car une fois qu'un segment est créé, il peut être utilisé à plusieurs reprises pour différents drapeaux ou scénarios, sans avoir à recréer les mêmes définitions de groupe à chaque fois. Cette fonctionnalité simplifie et rationalise la gestion des Feature Flags, en particulier lorsqu'il s'agit de cibler le même groupe d'utilisateurs dans plusieurs scénarios. Voici quelques fournisseurs qui prennent en charge cette fonctionnalité :

Bucketeer, CloudBees, ConfigCat, DevCycle, FeatBit, Flagsmith, Growthbook, Harness, split.io, Unleash

Flux de Travail

« Flux de travail » fait référence à une fonctionnalité qui permet la planification et l'automatisation des actions liées aux Feature Flags. Les flux de travail sont essentiellement des ensembles d'actions programmées à l'avance pour effectuer des changements sur un indicateur de fonctionnalité. Ils automatisent les tâches manuelles requises pour la gestion des Feature Flags, souvent par étapes. Cela peut inclure :

  1. Flux de travail de déploiement progressif : Ces flux de travail augmentent progressivement le pourcentage de contextes ciblés par un indicateur de fonctionnalité.
  2. Fenêtres de maintenance : Ce type de flux de travail permet de basculer temporairement le ciblage on ou off.
  3. Flux de travail personnalisés : Ils sont adaptés pour gérer des processus de déploiement spécifiques tels que définis par l'utilisateur.

Voici quelques fournisseurs qui prennent en charge cette fonctionnalité :

CloudBees, ConfigCat, DevCycle, FeatBit, Flagsmith, Growthbook, Harness, split.io, Unleash

Intégration et API

Contrôles d'API

Les « Contrôles d'API » font référence aux capacités offertes par leur API pour gérer et automatiser divers aspects des flux de travail des Feature Flags. Ces contrôles permettent de :

  1. Construire des intégrations personnalisées : Créer des solutions sur mesure qui s'intègrent avec le système d'Feature Flags.
  2. Automatiser les changements d'état des Feature Flags : Utiliser d'autres outils de votre pile technologique pour modifier automatiquement l'état des Feature Flags.
  3. Intégrer avec les tableaux de bord des développeurs : Incorporer l'outil de manière transparente dans des environnements de développement personnalisés.
  4. Extraction et intégration de données : Récupérer les données de variation des indicateurs pour les utiliser avec d'autres données d'événements dans des entrepôts de données.
  5. Automatiser la gestion des indicateurs, des segments et des règles : Créer des scripts pour copier des règles de variation, des segments et des indicateurs à travers plusieurs projets.
  6. Mise à jour dynamique des règles : Modifier les règles de ciblage en temps réel en fonction de la logique métier d'autres outils.
  7. Création d'interfaces utilisateur et de visualisations personnalisées : Concevoir des interfaces utilisateur et des visualisations uniques pour la gestion et la visualisation des Feature Flags.

Voici quelques fournisseurs qui prennent en charge cette fonctionnalité :

Apptimize, ConfigCat, FeatBit, Flagr, Flagsmith, Flipper, Growthbook, split.io, Unleash

Webhooks

« Webhook » fait référence à une fonctionnalité qui permet de créer des intégrations qui réagissent aux changements au sein des Outils d'Feature Flags. Lorsqu'un changement survient, comme une mise à jour d'un indicateur de fonctionnalité ou une invitation d'un nouveau membre de compte, l'Outil d'Feature Flags envoie une charge utile HTTP POST à une URL configurée pour le webhook. Cette fonctionnalité est utile pour une variété d'applications, telles que la mise à jour des outils de suivi des problèmes externes, la gestion des tickets de support et la notification aux clients des nouveaux déploiements de fonctionnalités. De nombreuses intégrations sont construites à l'aide de webhooks. Voici quelques fournisseurs qui prennent en charge cette fonctionnalité :

Bucketeer, CloudBees, ConfigCat, FeatBit, FeatureHub, Flagsmith, Flipper, Flipt, geteppo, GoFeatureFlag, Growthbook, Harness, split.io, tggl.io, Unleash

Intégration avec les Outils d'Observabilité

« Intégration avec les Outils d'Observabilité » fait référence à l'intégration d'applications tierces liées à l'observabilité, au Monitoring des Utilisateurs Réels (RUM) et à la Gestion des Performances des Applications (APM). Cela inclut des outils qui aident à surveiller, analyser et optimiser les performances et la fiabilité des applications. Voici quelques fournisseurs qui prennent en charge cette fonctionnalité :

ConfigCat, FeatBit, FeatureProbe, Flagsmith, split.io, Unleash

Intégration avec les Outils d'Expérimentation

Outils d'Intégration pour l'Expérimentation

"Outils d'Intégration pour l'Expérimentation" fait référence aux intégrations avec des applications tierces spécifiquement liées à l'expérimentation. Ces intégrations permettent aux utilisateurs d'améliorer leurs stratégies d'expérimentation en utilisant des outils externes. Voici quelques fournisseurs qui offrent cette fonctionnalité :

Apptimize, ConfigCat, FeatBit, FeatureHub, Flagsmith, Growthbook, PostHog, split.io, StatSig, Unleash

Autres

LaunchDarkly propose de nombreuses méthodes d'intégration pour optimiser l'expérience des développeurs. En tant que l'un des principaux fournisseurs de services de gestion de feature flags, split.io offre bien plus que d'autres alternatives.

Outils d'Expérimentation

Certains outils de feature flags, conçus à l'origine pour les tests A/B et l'analyse de données, proposent désormais également des capacités de feature flags natifs pour compléter leurs fonctionnalités analytiques. Il existe également des outils qui offrent des fonctionnalités analytiques avancées pour les tests A/B.

Outils de feature flags issus des tests A/B ou de l'analyse de données :

Apptimize, geteppo, Flagship, Growthbook, PostHog, StatSig

Outils de feature flags offrant des fonctionnalités analytiques pour les tests A/B :

DevCycle, FeatBit, FeatureProbe, split.io

Journaux d'Audit

Les "Journaux d'Audit" désignent les enregistrements qui suivent et consignent les activités des utilisateurs au sein de la plateforme. Ces journaux comprennent généralement des détails sur qui a effectué quelles actions et quand, comme les modifications des feature flags, les changements dans les configurations ou les mises à jour des permissions des membres de l'équipe. Les Journaux d'Audit sont essentiels pour la sécurité et la conformité, car ils offrent un historique transparent des changements et peuvent être utilisés pour la surveillance, le dépannage et la vérification de l'intégrité du système. Ils sont une fonctionnalité indispensable pour les organisations qui doivent maintenir une surveillance rigoureuse et une tenue de registres de leurs activités de feature flags. Voici quelques fournisseurs qui proposent cette fonctionnalité :

CloudBee, ConfigCat, DevCycle, FeatBit, Flagsmith, Flipper, geteppo, split.io, StatSig, Unleash

SSO

"SSO" signifie Single Sign-On (Authentification Unique). Le SSO est un service d'authentification de session et d'utilisateur qui permet à un utilisateur d'utiliser un ensemble unique d'identifiants de connexion (par exemple, nom d'utilisateur et mot de passe) pour accéder à plusieurs applications. L'utilisation du SSO simplifie le processus de connexion pour les utilisateurs, car ils n'ont pas besoin de se souvenir et de saisir différents noms d'utilisateur et mots de passe pour chaque application. Dans le contexte de LaunchDarkly, cette fonctionnalité se réfère probablement à la capacité d'intégrer la plateforme avec le système SSO existant d'une organisation, permettant ainsi un contrôle d'accès transparent et sécurisé. Voici quelques fournisseurs qui offrent cette fonctionnalité :

CloudBee, ConfigCat, FeatBit, FeatureHub, Flagsmith, Growthbook, Harness, PostHog, split.io, StatSig, Unleash

Contrôle d'Accès

Le "Contrôle d'Accès" fait référence à la capacité de gérer et de restreindre l'accès à différentes fonctionnalités et ressources au sein de la plateforme. Cela implique généralement de définir des permissions et des rôles pour différents utilisateurs ou groupes, déterminant qui peut voir, éditer ou gérer les feature flags et autres éléments au sein de LaunchDarkly. Un contrôle d'accès efficace est essentiel pour maintenir la sécurité et l'intégrité du système, en s'assurant que seuls les personnels autorisés peuvent effectuer des changements ou accéder à des informations sensibles. Voici quelques fournisseurs qui proposent cette fonctionnalité :

CloudBee, ConfigCat, FeatBit, FeatureHub, Flagsmith, Growthbook, split.io, StatSig, Unleash

Suppresseurs de Feature Flags Obsolètes

Les suppresseurs de feature flags obsolètes sont des outils conçus pour identifier et retirer les feature flags qui ne sont plus utilisés activement dans la base de code. Cela est important car les feature flags périmés ou obsolètes peuvent entraîner de l'encombrement et une dette technique potentielle. Les outils mentionnés sont :

  1. rmflags : C'est un outil conçu pour retirer les feature flags obsolètes de votre code. Il aide à nettoyer et à maintenir une base de code épurée.
  2. Copilot : Bien que n'étant pas spécifiquement un suppresseur de feature flags obsolètes, GitHub Copilot est un assistant de programmation IA qui peut aider dans diverses tâches de codage. Il pourrait être utilisé pour aider à identifier et retirer du code désuet, y compris les feature flags périmés.
  3. piranha : Piranha est un outil open source développé par Uber pour supprimer automatiquement les feature flags obsolètes. Il identifie et retire le code associé aux feature flags qui ne sont plus nécessaires, simplifiant la gestion du code et réduisant la dette technique.

Chaque outil a sa propre méthodologie et capacités pour gérer le cycle de vie des feature flags dans le développement logiciel.

Implémentation d'OpenFeature

La norme OpenFeature est spécialement conçue pour éviter le verrouillage par un fournisseur de systèmes de feature flags. En offrant une norme open source et neutre vis-à-vis des fournisseurs, elle permet aux développeurs d'implémenter des feature flags d'une manière qui n'est pas liée à un système ou une plateforme spécifique d'un fournisseur. Cela signifie que les développeurs peuvent passer d'un service de feature flags à un autre sans avoir besoin de réécrire ou d'ajuster significativement leur code. La norme assure la compatibilité et l'interopérabilité entre différents outils de feature flags, donnant aux organisations la flexibilité de choisir ou de changer leurs solutions de feature flags sans être restreintes par des formats ou des intégrations propriétaires. Ces outils de feature flags ont annoncé leur soutien à OpenFeature en fournissant des SDK compatibles :

CloudBee, ConfigCat, DevCycle, FeatBit, Flagsmith, Flipt, GoFeatureFlag, Harness, PostHog, split.io, Unleash

Aspects Cruciaux mais Souvent Non Mesurés

  • Performance : L'outil peut-il gérer un grand nombre de requêtes concurrentes, telles que plus d'un million d'utilisateurs actifs quotidiens, ainsi que de grands entrepôts de données d'insights ?
  • Coût : Quels sont les modèles de tarification pour le SaaS ou l'auto-hébergement à de tels volumes élevés ?
  • Similarité avec LaunchDarkly : Comment l'outil se compare-t-il à LaunchDarkly en termes d'opérations logiques de feature flags, de mise en œuvre du SDK et d'expérience utilisateur globale ?
  • Et ainsi de suite.

Support Commercial pour les Outils de Feature Flags

Le support commercial est essentiel pour les outils de feature flags en raison de son rôle dans l'assurance de la fiabilité et la résolution rapide des problèmes, ce qui est crucial pour des opérations logicielles stables. Il offre des conseils d'experts pour une mise en œuvre efficace, le respect des normes de sécurité et de conformité, l'évolutivité et les capacités d'intégration. De plus, il donne accès à des fonctionnalités avancées et à des formations, permettant une prise de décision basée sur les données et une gestion efficace des logiciels. Je catégorise le support commercial en deux types : SaaS et auto-hébergé.

Outils Supportant des Solutions Commerciales Auto-Hébergées. Cette catégorie inclut des outils qui offrent des solutions commerciales auto-hébergées, adaptées aux entreprises qui préfèrent ou nécessitent des déploiements sur site.

ConfigCat, FeatBit, Flagship, Flagsmith, Growthbook, PostHog, split.io, Unleash

Outils Non Basés sur le Nombre de Sièges. Ce sont des outils qui proposent des modèles de tarification qui ne sont pas basés sur le nombre d'utilisateurs ou de "sièges", offrant une option plus économique pour les entreprises de taille moyenne et grande.

ConfigCat, FeatBit, StatSig, prefab.cloud

Outils Supportant le SaaS avec Conformité à la Confidentialité et SLA. Ces outils proposent des solutions SaaS qui respectent les normes de conformité en matière de confidentialité et fournissent des accords de niveau de service (SLA) pour assurer un service fiable.

CloudBee, ConfigCat, DevCycle, Flagsmith, Growthbook, PostHog, split.io, StatSig, Unleash

Pourquoi LaunchDarkly est Coûteux et Opportunités pour les Autres

LaunchDarkly est onéreux car il propose une large gamme de fonctionnalités qui sont devenues des standards dans l'industrie, souvent supérieures aux offres d'autres services de feature flags. Cependant, tous les clients n'ont pas besoin de toutes ces fonctionnalités, surtout en considérant le coût annuel substantiel d'environ 70 000 dollars. Cela crée des opportunités pour des alternatives qui correspondent mieux à leurs besoins.

Migration depuis LaunchDarkly

La transition depuis LaunchDarkly peut être révélatrice ; vous ne réalisez peut-être la valeur de LaunchDarkly qu'après avoir changé. Pour éviter le verrouillage par un fournisseur, il est recommandé d'utiliser des feature flags compatibles avec les normes OpenFeature avec votre nouveau fournisseur. Certaines alternatives offrent même des outils ou des services pour faciliter la migration depuis LaunchDarkly.

Conclusion - Alternatives Viables

En tant qu'ingénieur senior évaluant les alternatives à LaunchDarkly, je privilégie les critères suivants :

  1. Open Source avec une Pile Technologique Familière
  2. Intégration avec les Outils d'Observabilité
  3. Intégration avec les Outils d'Expérimentation
  4. Ensemble de Fonctionnalités Essentielles
  5. Implémentation d'OpenFeature
  6. Support Commercial et Prix
  7. Performance
  8. Facilité de Migration et Similarité avec LaunchDarkly
  9. Focus sur les Services de Feature Flags plutôt que sur l'Expérimentation (car il existe de nombreux outils excellant dans l'expérimentation qui s'intègrent bien avec les feature flags).

Mes options préférées incluent FeatBit, Flagsmith, et Unleash pour des solutions open source avec support commercial. Pour ceux qui ne se soucient pas de l'open source, Apptimize et ConfigCat sont des choix viables.

J'insiste sur le fait que cette exploration va au-delà de LaunchDarkly pour inclure d'autres acteurs majeurs comme Split.io dans le domaine des services de gestion de fonctionnalités.

Donnez-moi votre avis

Si j'ai mentionné de manière inexacte votre outil de gestion de fonctionnalités, veuillez me contacter sur Twitter pour des corrections. De plus, si votre outil constitue une alternative à LaunchDarkly et qu'il n'est pas listé, informez-moi afin que je puisse l'ajouter.