フロントエンドにおけるフィーチャーフラグ標準化のための「OpenFeature Web SDK v1」がリリース。CNCFから
今回は「フロントエンドにおけるフィーチャーフラグ標準化のための「OpenFeature Web SDK v1」がリリース。CNCFから」についてご紹介します。
関連ワード (個別、展開、普及等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
ソフトウェアの機能追加や変更を行う際に、いきなり全ユーザーに新機能や変更を展開するのではなく、展開する範囲や時期をコントロールするための仕組みとして「フィーチャーフラグ」がしばしば用いられます。
例えば、最初は少数のユーザーにのみフィーチャーフラグをオンにすることで試験的に新機能を試し、問題がなければ全ユーザーに拡大する、といった場合などに用いられます。
クラウドネイティブの普及や推進のための団体「Cloud Native Computing Foundation」(CNCF)は、このフィーチャーフラグAPIの標準化を目指す「OpenFeature」プロジェクトを進めています。
フィーチャーフラグ標準化の目的は、フラグの集中管理
標準化が必要な理由は、フィーチャーフラグを集中管理のためです。
フィーチャーフラグを活用したソフトウェアが大型化して多くのフィーチャーフラグが設定され、さらにフィーチャーフラグが何種類ものソフトウェアで実装されるようになると、どのフィーチャーフラグがオンになっているのか、どのフィーチャーフラグで試験しているのかなどが分かりにくくなります。
そこで、フィーチャーフラグ全体を1つのダッシュボードなどで管理することが望まれます。そのためのAPIを標準化することがOpenFeatureプロジェクトの狙いです。
参考:フィーチャーフラグAPIの標準化を目指す「OpenFeature」がCloud Native Computing Foundationのインキュベーティングプロジェクトに昇格
同プロジェクトはこれまで主に、サーバサイドにおけるフィーチャーフラグの標準化に取り組んでいましたが、今回新たにWebアプリケーションのフロントエンド側におけるフィーチャーフラグの標準化を目指すソフトウェア「OpenFeature Web SDK v1」をリリースしました。
このSDKはWebのフロントエンドアプリケーションにおいてフィーチャーフラグを管理するためのベンダニュートラルなSDKであり、またこのSDKを元にReactに対応した「OpenFeature React SDK」も用意されています。
NEWS: @OpenFeature announces the 1.0 version of its Web SDK at #KubeCon + #CloudNativeCon Europe ?? https://t.co/3c2CkJbFYY pic.twitter.com/UqMTil1PWf
— CNCF (@CloudNativeFdn) March 19, 2024
OpenFeatureプロジェクトは、すでにリリースしているサーバサイドのフィーチャーフラグ管理用のソフトウェアと、今回のフロントエンド用SDKによって、Webアプリケーションのスタック全体に渡り、一貫したフィーチャーフラグの体験を開発者に提供できるとしています。
フロントエンドのフラグを管理する仕組みを搭載
OpenFeature Web SDKでは、フィーチャーフラグを集中管理するダッシュボードから見てネットワークの向こう側にあるPCやモバイルデバイスで動作しているフロントエンドのフラグを管理するための仕組みが組み込まれています。
具体的には、低速なネットワークを考慮したキャッシング機能や同期機能、高い耐障害性、フラグ値が古くなったことをアプリケーションに通知するためのイベントやコールバックの仕組みも用意されています。
今後はAngular、Vue、Svelteなどのフレームワークに個別に対応したSDK、Spotifyから寄贈されたOpenFeature Android SDK、OpenFeature iOS SDKなどもリリースしていくとしています。