メインコンテンツへスキップ

ロールアウトルールとは?

Rollout Planner は、リリースとテストの細やかな制御を可能にします。特定のユーザーに対して、フィーチャーフラグをいつでも有効化または無効化できます。 ロールアウトルールは、リリースと実験のための条件式のようなものです。一定の条件下でトリガーされる一連のアクションをセットアップできます。これらのルールはスケジュール設定、即時適用、特定グループへのターゲティング、並び替え、目標に合わせたカスタマイズが可能です。

新しいルールを追加する

Add a rule をクリックしてルール構成メニューを開きます。 ここで、デリバリーまたはテストルールから選択し、ルールに名前を付けます。
任意のタイプのルールを組み合わせて、機能のロールアウト戦略を実装できます。Kameleoon では Targeted DeliveryProgressive DeliveryFeature Experiments のルールを追加できます。

ルールキューはどのように機能するか?

ロールアウトルールを追加したら、Kameleoon がキューをどのように評価するかを理解することが重要です。
  • Kameleoon はまずフラグがオンかオフかを確認します。オフの場合、訪問者はデフォルトバリエーション(“Then, for everyone else in production, serve” ドロップダウンリストで選択可能)を見ます。
  • フラグがオンの場合、Kameleoon はキューの実験とルールを上から下の順序で評価します。予期しないターゲティング重複を防ぐため、ロールアウト戦略を計画する際にはこれを念頭に置いてください。
  • 新しいルールはデフォルトでキューの一番下に追加されます。ただし、ルールのカードをクリックしてドラッグすることで、手動で並び替えることができます。キュー内のルールの並び替えは、Kameleoon がルールを読み取って評価する順序も変更します。同じオーディエンスを共有するルールを提供する際には注意してください。
  • 一時停止されたルールは、実行時に単に無視されます。

ユーザーターゲティングとバケッティング

ユーザーがバリエーションに露出されるとき、ターゲティングバケッティング の2段階のプロセスをたどります。ターゲティングとは、ユーザーがルールで指定された条件を満たすことを意味します。バケッティングとは、ユーザーがそのルールに関連付けられたバリエーションに割り当てられたことを意味します。 Kameleoon はデリバリールールと実験ルールで、ターゲティングとバケッティングを異なる方法で処理します。 次の2つのシナリオを考えてみてください。

シナリオ1: 一番上にデリバリールール

訪問者が最初に Targeted/Progressive Delivery ルールでターゲットされた場合:
  • バケットされていれば、選択したバリエーションを受け取ります。
  • ターゲットされているがバケットされていない場合、訪問者は “Everyone else” バリエーションを受け取り、他のルールでは評価されません。

シナリオ2: 一番上に実験ルール

  • 訪問者が実験ルールでターゲットされた場合:
    • バケットされていれば、選択したバリエーションを受け取ります。
    • ターゲットされているがバケットされて いない 場合、キューの末尾までの次のルールが順次チェックされます。実験ルールでバケットされていないすべてのユーザーは、キューを下に移動します。このため、実験は常にキューの上部に置くのが良い習慣です。
実験のトラフィック分割を変更しても、実験バケットの合計サイズは変わりません。たとえば、ユーザーセグメントの 20% をターゲットとし、2つのバリエーションの分割を 50/50 で実験を開始したとします。分割を 60/40 や 90/10 に更新しても、実験サンプルに含まれるトラフィックの割合(20%)を変更しない限り、バケットされた合計ユーザー数は増減しません。代わりに、一部のバケットされたユーザーが異なるバリエーションに露出されることになります。
キューにルールが残っていない場合、すべての残りのユーザーは “Everyone else” バリエーションを受け取ります。

ルールの状態

キュー内のすべてのルールは、次のいずれかの状態を表示します。
  • Active(現在ライブ)
  • Paused
  • Planned(特定の日時に開始または停止するようにスケジュールされている)。Planned ルールは、定義されたスケジュールで active に変わり、終了時に outdated に変わります。
  • Unsaved changes(ドラフト状態の新規ルールも含む)
  • Outdated(スケジュール終了日に自動的にオフになった Planned ルール)。Outdated ルールはデフォルトビューには表示されませんが、フィルタを使って表示できます。

ルールの一時停止または再開

ルールを一時停止するには、実験カードの三点メニューをクリックし、Pause をクリックします。
一時停止されたルールは実行時に無視されます。同じメニューから後でルールを再開できます。

別の環境からルールをコピーする

別の環境で作成したルールを追加することもできます。ルールをコピーすることで、たとえば staging 環境から production 環境へロールアウト/実験のセットアップを複製できます。
コピー先の環境でルールを追加するときに Copy を選択し、次のステップでコピー元の環境を選択します。 コピーしたルールをルールキューの下部に追加するか、既存のすべてのルールをコピーしたルールで置き換えるかを選択できます。

ロールアウトサマリー

このセクションは、バリエーションセグメント の概要を提供します。 カードの順序の変更、ルールの削除、ルールのステータスの変更は、サマリーカード内の順序と値に影響します。 サマリーセクションは、次のルールに引き継がれる可能性のあるターゲットされていない(残りの)ユーザーを考慮しますが、異なるルール間の異なるユーザーセグメントの部分的または完全な重複は考慮または特定されません。

バリエーションサマリー

このセクションは、デリバリーと実験ルールでどのバリエーションが使用されているかの概要を提供します。 複数のセグメントをターゲットにしているバリエーションは、ターゲットにしたオーディエンスの割合を表示する複数のバーを持ちます。

セグメントサマリー

このセクションは、ロールアウトルールでターゲットされているさまざまなユーザーセグメントを要約します。 セグメントに割り当てられたバリエーションは、最大100%まで合算されます。この上限を超えた場合、残りのバリエーションは無視されます。

古い SDK での Rollout Planner の使用

SDK のバージョンが Feature Variations をサポートしていない場合、フィーチャーフラグに新しいルールを追加する際にいくつかの点に注意する必要があります。
  • Kameleoon は Production 環境で定義されたルールのみを確認します。staging または development 環境で作成したルールは無視されます。
  • Kameleoon はキューの最初のルールのみを評価します。下に他のルールがあっても無視されます。ルールがまったくない場合、ロールアウトで定義されたデフォルトバリエーションが提供されます。
  • デフォルトバリエーション OnOff のみがサポートされます。
  • ルールの開始/停止スケジューリングはサポートされません。
すべての SDK リリースの最新情報を入手するには、Kameleoon の Github を訪問し、通知を購読してください。