proctor-pipet がオープンソース化されました!
proctor-pipet は、Indeed が作成したツールで、Proctor をリモートサービスとしてデプロイ可能にします。そして、Proctor を HTTP でアクセス可能なシンプルな REST API として公開する Java の Web アプリです。
つまり Python のような JVM 以外の言語で書かれたアプリケーションでも A/B テストを行えるのです。
proctor-pipet に加えて django-proctor と呼ばれる Python のパッケージも利用可能になりました。これは Django Web アプリ上で、 Proctor グループの使い勝手を良くしてくれるものです。
Ruby on Rails や .NET MVC などの、ご自分の好きなパッケージを実装する人が出てくるのを待っています。
ちなみに、これらのパッケージは 2014 年夏にやってきた優秀なインターンの一人の成果です。
仕組み
Web アプリは proctor-pipet を介して、Proctor に対するHTTPリクエストを作成します。
そして Proctor は、グループの割り当てを返し、その割り当てを使って Web アプリは、ユーザーのブラウザに返すコンテンツを決定するのです。
proctor-pipet を使用して Proctor を遠隔でデプロイすることで、以下に挙げた Proctor ライブラリの全機能をご利用いただけます。
- テストグループにユーザーを割り当て
- 識別子を使用して異なるテストタイプにマップ
- 機能の切替(トグル)、または新機能を徐々にロールアウトするよう実装
- コードとは独立して、テストアロケーションを変更
- 任意のコンテキスト変数を使うルール (例 モバイルデバイスをターゲットにするため) に基づくグループへの所属を決定
Proctor のドキュメンテーションはこちらでご覧いただけます。
どちらのツールも GitHub からダウンロード可能です:
- proctor-pipet (https://github.com/indeedeng/proctor-pipet)
- django-proctor (https://github.com/indeedeng/django-proctor)
また、両ページにドキュメンテーションと例が掲載されています。
ご質問は Proctor Q&A フォーラムよりお尋ねください。