この記事の目的2022年5月にプレスリリースが公開され、世に現れたOpenFeatureの現況を書きます。この記事では2022年12月時点での情報を記載しています。Experienceに大きく貢献することを前日の記事で書きました。OpenFeatureはフィーチャーフラグの発展を支えようとしている取り組みです。OpenFeatureの目指すものフィーチャーフラグマネジメントのオープンスタンダードを確立すること。一貫性のある、統一されたAPIを提供すること。それにより、頑健なエコシステムをサポートすること。これが、公式サイトに記載されているOpenFeatureの目指しているものです。https://openfeature.dev/その目的通り、OpenFeatureのGithubオーガニゼーションにはフィーチャーフラグマネジメントに関する公開仕様と、それに従ったSDKのソースコードなどが含まれています。これらはすべてOSSとなっています。フィーチャーフラグマネジメントシステムはどのように動くかOpenFeatureを語る前に、フィーチャーフラグマネジメントがどのように行われるか理解する必要があります。フィーチャーフラグマネジメントは一般的にクライアントサイド(SDKの形で提供されることが多い)と、サーバーサイドのサービスによって提供されるものです。ベンダーがフィーチャーフラグマネジメントの領域に参入し、SDKの実装を提供しています。ユーザーはこのSDKを自分たちのクライアントアプリケーションに組み込みます。組み込まれたSDKはアプリのバックグラウンドでサーバーサイドのフィーチャーフラグマネジメントサービスと通信し、フィーチャーフラグの値を取得してきます。OpenFeature公式サイトより引用フィーチャーフラグの値は様々な戦略・メタデータにより決定されます。(これをフィーチャーフラグを評価する:Evaluationすると呼んでいます)たとえば以下のような戦略が考えられます。ランダムに選択した50%にはtrueを返す。残り50%にはfalseを返す。年齢が20歳以下のエンドユーザーには2割引の価格値を返す。指定したIPアドレスレンジのエンドユーザーにはtrueを返す。OpenFeatureがカバーする範囲OpenFeatureがカバーする範囲は、クライアントサイドのみです。ユーザーのアプリケーションのうち、フィーチャーフラグマネジメントシステムと直接やり取りをするのは、クライアントアプリケーション部分です。各ベンダーが好き放題に自分勝手なAPI・SDKを作っていけばクライアントアプリケーションはベンダーロックインされてしまいますが、OpenFeatureはまさにその部分に秩序を確立しようとしているわけです。下の図ではオレンジ色の実線部分がOpenFeatureのSDK,つまり統合されたインタフェースです。緑色の実線部分は各ベンダーが提供するSDKとサーバーサイドのシステムとなります。SDKを通して、ベンダーのシステムとやり取りすることになるので、自分たちのコードを大きく変更することなく他のベンダーのシステムに切り替えることが可能となります。ベンダー側にとっても、OpenFeature準拠のSDKを提供することでユーザーが他ベンダーから自分たちのシステムに乗り換えてくれる可能性が高まるので、今後は準拠SDKを提供するプレイヤーが増えると思われます。OpenFeature公式サイトより引用OpenFeatureのステークホルダーOpenFeatureの運営や実装はフィーチャーフラグマネジメント領域に関心のある企業・個人のグループにより行われています。このグループを主導しているのがDynatraceという企業で、コミュニティのガバナンスを担当するボードメンバー6名のうち、2名がDynatraceの方です。技術的な取り決めを行うメンバー3名のうち、1名がDynatraceの方です。(これらのボードメンバーは一時的に取り決められたもので、後に変更される予定だそうです。MembersよりDynatraceはOpenFeatureの推進にかなり気合が入っているようですね。同社はOpenTelemetryのコミュニティ運営・実装にも関わっているらしく、OpenFeatureとの連携も進めているようです。Dynatraceの他にボードメンバーやミーティングに参加している主なメンバーの企業は以下に列挙したものになります。Providerを提供している企業もあります。以下のリンクからSDKの言語ごとに対応企業のソースコードが見れますので確認してみてください。https://docs.openfeature.dev/docs/reference/technologies/オープンスタンダードが作られていく様子をウォッチするOpenFeatureは2022年5月に公開された、まだまだ若い取り組みです。仕様の範囲も現在のコード量も多くはありません。今ならOpenFeatureの多くの部分を自分の目で読み込み、理解することが現実的に可能です。オープンスタンダードが作られていく様を見るのは面白い体験になるはずです。私もウォッチを続けていくつもりでいます。最後にopen-featureオーガニゼーションで特に見ておくべき箇所をまとめて終わりにします。note隔週で行われているミーティングの議事録。これを見るだけでも十分面白いです。spec仕様をまとめているレポジトリ。公式サイトの内容とあまり差分がないが、詳細はこちらに書いてある。communityOpenFeatureのコミュニティ運営についてまとめているレポジトリ。オープンスタンダードを作ろうとする取り組みが何に気をつけているか読み取れる。ofep新規機能の提案や議論が行われているレポジトリ。KubernetesでいうとKEPに相当するもの。ツイートmasaaaniaCyberAgent所属。フィーチャーフラグマネジメント・A/Bテストプラットフォーム「Bucketeer」の開発をしています。bucketeer.io/バッジを贈って著者を応援しようバッジを受け取った著者にはZennから現金やAmazonギフト券が還元されます。約4,100字masaaaniaCyberAgent所属。フィーチャーフラグマネジメント・A/Bテストプラットフォーム「Bucketeer」の開発をしています。bucketeer.io/バッジを贈るバッジを贈るとは?目次この記事の目的OpenFeatureの目指すものフィーチャーフラグマネジメントシステムはどのように動くかOpenFeatureがカバーする範囲OpenFeatureのステークホルダーオープンスタンダードが作られていく様子をウォッチするZennエンジニアのための情報共有コミュニティAboutZennについて運営会社お知らせ・リリースGuides使い方Publicationよくある質問LinksTwitterGitHubメディアキットLegal利用規約プライバシーポリシ。