Feature FlagsやA/Bテストはリードタイムの改善や、リリース施策の効果検証の点で有益な手法です。これを実現するためのSaaSやOSSソフトウェアがいくつかあるので、現時点での比較をしてみました。

※あくまで比較記事ですのでプロダクトとしての優劣を論じる記事ではありません。どれを採用すべきかは顧客のワークロードによります。

Feature Flags + A/BテストをサポートするSaaS

代表的なSaaSから紹介しましょう。

LaunchDarkly

LaunchDarkly: Feature Flag & Toggle Management
LaunchDarkly provides fast, scalable feature flag & toggle management (feature management) for the modern enterprise. Increase your deployment velocity, software reliability, and release confidence with the developer’s choice for feature management.

フィーチャーフラグとA/Bテストを提供するサービスです。フィーチャーフラグとしての機能を幅広く持っており、特にSDKの対応する言語の数が他と比較して多いです。A/Bテストには頻度論的分析機能を備えています。

Firebase Remote Config

Firebase Remote Config | Customize your app on the fly
With Firebase Remote Config, you can change the behavior and appearance of your app on the fly from the Firebase Console, and then track performance in Analytics.

Googleが提供するフィーチャーフラグサービスです。基本無料で利用でき、Google Analyticsとの連携を行ってA/Bテストを実施することができます。A/Bテストはベイズ論的分析を行っており、同時テスト数は24という制限があります。デフォルトではUIでフラグの更新を行ってからクライアントへの反映までは一定の時間がかかります(Cloud FunctionとFCMを利用した即時更新のワークフローを組む方法が紹介されています。)

Optimizely

Digital experiences your customers will love
Creating digital experiences that transform your company takes data-driven decisions, continued experimentation and constant invention.

A/Bテストの分野で最も有名なサービスの一つです。法人向けの様々な機能があり、A/Bテストの独自管理プラットフォーム、多腕バンディット、A/Bテストごとにユーザーが重複しないようにする機能などA/Bテストを使い倒したいユーザー向けの機能が充実しています。

Split

Feature Flags: Faster software deployment and safer code releases | Split
Feature flags (or toggles) separate code deployment from release to enable testing in production and continuous feature delivery at scale.

フィーチャーフラグとA/Bテストを提供するサービスです。デリバリーやトランクベースなどの開発生産性向上を全面に押し出しており、フラグのリリース時に設定したパフォーマンスやエラーデータからアラートを飛ばすなどの機能を備えています。A/Bテストに関しては最上位プランのみ可能になります。

VWO

Complete Server-Side Optimization Solution | VWO FullStack
Server-Side Testing, part of VWO FullStack, offers enterprise-grade features to run even the most aspirational of experiments without impacting page load times.

ウェブ開発をより簡単かつ高速にするための機能群を提供しているサービスです。一つまたは複数の機能をグループ化し複数のパッケージとして提供しています。ウェブに特化したプランではノーコードでコンテンツを配信でき、ヒートマップやセッションレコーディング機能を提供しています。A/Bテストでは頻度論的分析とベイズ論的分析の両方を採用しているようです。また、複数のフラグのバリエーションを使った際の最も良い組み合わせを見つけるマルチバリアントテスト機能を提供しています。

KARTE Blocks

KARTE Blocks | サイト運営をもっと自由に直感的に
KARTE Blocksは、どのように構築されたサイトでもタグを1行貼るだけで、ノーコードで更新・評価・改善ができる新しいサイト運営を実現します。

KARTEが提供するウェブサイトに特化したフィーチャーフラグ・A/Bテストサービスです。ウェブページをブロックという単位で分割し、UIで編集・配信し、ABテストを行うことができます。国内での多数の導入実績があり日本語でのドキュメントやサポートがあります。

ポジショニングマップ

この領域のプロダクトを多機能、低価格の軸でポジショニングしたものが次の図です。

機能比較表

最後に、現時点での機能比較表です。

SaaS OSS OSS(library)
機能分類 機能 LaunchDarkly Firebase(Remote Config) Optimizely (Intelligence Cloud) Split VWO KARTE Blocks Unleash/unleash growthbook/growthbook featurehub-io/featurehub markphelps/flipt checkr/flagr ff4j/ff4j togglz/togglz jnunemaker/flipper
フィーチャーフラグ フラグステータス
フラグ依存管理
フラグ更新即時反映
Cloud Function + FCM feat: Real-time push for feature toggle changes (Stream) #383
パーセンテージロールアウト
カスタムユーザー属性
カスタムターゲティングルール
セグメントターゲティング
フラグ自動更新(キルスイッチ)
フラグスケジュール更新
A/Bテスト A/Bテスト機能 Google Analytics Google Analytics
同時A/Bテスト数 24 1 NA Unlimit
頻度論分析 vs ベイズ論分析 Frequentist Bayesian Frequentist Frequentist Depends on tests Bayesian
セグメント分析
カスタムセグメント
マルチバリアントテスト
多腕バンディットテスト ✅ Depends on plan
複数テストの相互排他 ✅ Depends on plan
データエクスポート ✅ Depends on plan
SDK API
JavaScript
Node.js
Kotlin
Swift
Java
Go
Python
PHP
Ruby
Rust
C#
Flutter(Dart)
C/C++
Objective C
Xamarin
Lua
Roku
Haskell
Erlang
.NET
API REST Admin API ✅ (use gem)
Webhooks
セキュリティ/権限管理 シングルサインオン(SSO) Saas plan
二要素認証 ✅ Depends on plan
ロール & 権限
設定更新承認フロー
通知 Webhook
Slack
Microsoft Teams
Datadog
サービス連携 JIRA
サポート チームサポート enterprise plan
日本語ドキュメント & サポート
その他 ユーザーダッシュボード
Firehose stream
(Streaming events to another system)
変更履歴
利用アカウント数 Unlimited Depends on plan
Proxy (Ensures high performance and that you don't expose the full feature toggle configuration to end-users)
評価結果のUIでの確認
Dark theme
Deployment Options
備考 Webに特化/ページエディタ

最後に

Feature FlagsやA/Bテストはかなり強力な仕組みですが、他のプラクティスに比べると後回しされがちで文化的に浸透している開発組織は決して多くはありません。Developer Productivity室では今後もFeature FlagsやA/Bテスト文化の啓蒙や、プラクティスの創出に取り組んでいきます。