フィーチャーフラグAPIの標準化を目指す「OpenFeature」がCloud Native Computing Foundationのインキュベーティングプロジェクトに昇格

2023年12月21日

KubernetesやContainerdなどクラウドネイティブ関連ソフトウェアの開発をホストするなど、クラウドネイティブの普及や推進のための団体「Cloud Native Computing Foundation」(CNCF)は、フィーチャーフラグAPIの標準化を目指す「OpenFeature」がこれまでのサンドボックスプロジェクトから、新たにインキュベーティングプロジェクトに昇格したことを発表しました。

サンドボックスはCNCFの中で実験的なプロジェクトという位置づけです。インキュベーティングに昇格することは、プロジェクトが本格的な育成時期に入ることを意味します。

フィーチャーフラグはコードを変更せずに機能を変更する

フィーチャーフラグとは、ソフトウェアの機能の追加や変更をするために仕込まれるフラグです。これによりソフトウェアのリリースのタイミングと機能の追加や変更のタイミングを切り離すことができるようになります。

具体的には、新機能を組み込んだソフトウェアを本番環境にデプロイしたとしても、新機能のフィーチャーフラグをオフにしておくことで新機能の提供タイミングを管理者がコントロールできるようになります。

そして、例えば少数のユーザーだけに試験的に新機能を有効にして動作確認をし、確認後に全ユーザーに開放することで安全に新機能を試せるようになります。

万が一新機能に問題があったときでもフィーチャーフラグをオフにするだけで、ソフトウェア全体を旧バージョンにロールバックする手間も発生しません。次のリリースで修正し、またフィーチャーフラグを使って試せばよいのです。

あるいは機能変更のフィーチャーフラグを用意し、一部のユーザーにだけ機能変更を有効にして反応を確認し、評判が悪いようであれば機能変更を見直すことも可能になります。

このようにフィーチャーフラグの利用は、ソフトウェアの安全なリリースや迅速な改善に役立つ機能として、多くのソフトウェアで採用されようとしているのです。

フィーチャーフラグを管理するための標準API

しかしフィーチャーフラグを活用したソフトウェアが大型化し、多くのフィーチャーフラグが設定され、さらにフィーチャーフラグが何種類ものソフトウェアで実装されるようになると、どのフィーチャーフラグがオンになっているのか、どのフィーチャーフラグで試験しているのかなどが分からなくならないように、フィーチャーフラグ全体を1つのダッシュボードなどで管理する必要が出てきます。

OpenFeatureは、このフィーチャーフラグを管理するためのAPIの標準仕様を策定し、C#やJava、Go、JavaScriptやPHP、Python、Rubyなどのさまざまなプログラミング言語に対応したSDKを提供するプロジェクトです。

fig

ソフトウェア開発時に組み込んだフィーチャーフラグをこのOpenFeatureのAPI経由で管理できるようにしておけば、OpenFeatureのAPIに対応したフィーチャーフラグ管理ダッシュボードで一元管理できるようになります。

これにより開発者はフィーチャーフラグの実装を特定のベンダや管理ソフトウェアなどに依存することなくできるようになるわけです。

OpenFeatureは、CNCFのインキュベーティングプロジェクトに昇格したことでフィーチャーフラグ管理APIの事実上の標準としての地位を大きく固めたことになります。

2024年3月追記

フロントエンドでフィーチャーフラグを実現するためのSDKもリリースされました。

あわせて読みたい

DevOps クラウド クラウドネイティブ API




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本