フラグ管理でビジネスアジリティを高めよう!「OpenFeature」のご紹介 NRI OSSソリューションマガジン 2025.3.12発行 Vol.219
1.フラグ管理でビジネスアジリティを高めよう!「OpenFeature」のご紹介
企業を取り巻くビジネス環境がめまぐるしく変化する今、ビジネスアジリティを高めるための情報戦略がますます重要になっています。
情報システムを構築するという視点に立つと、システムのアジリティを高めるために例えば次のようなアプローチをとることが可能です。
・マイクロサービスのように、アプリケーションを素早く本番システムへ投入できるアーキテクチャを採用する。
・アジャイル開発のように、サービス提供までのリードタイムを短くすることを目的とした開発プロセスを採用する。
・生成AIなどの技術を活用し、ソースコードの自動生成やコード品質の向上を図る。
今回ご紹介するOpenFeature(オープンフィーチャー)もアジリティを高めるために活用できる技術の一つです。
OpenFeatureはCNCF(Cloud Native Computing Foundation)が管理するプロジェクトの一つであり、オープンソースとして開発が進められています。
2025年1月に公開されたCNCFのレポートによると、2024年に活発に開発が行われたCNCFプロジェクトのトップ30に初めて入りました。
※OpenFeatureプロジェクトサイト
https://openfeature.dev/
※2024 year in review of CNCF and top 30 open source project velocity
https://www.cncf.io/blog/2025/01/29/2024-year-in-review-of-cncf-and-top-30-open-source-project-velocity/
OpenFeatureは、「フィーチャーフラグ」または「機能フラグ」と呼ばれる機能の仕様標準化とライブラリなどのエコシステムを整備するプロジェクトです。
機能フラグは、アプリケーションに実装された特定の機能を有効にしたり無効にしたりするためのフラグのことです。
機能フラグの設定を変更することで、再ビルドや再起動をせずにアプリケーションの挙動を切り替えられます。
これにより、テスト時の設定変更が容易になりテスト工数の短縮につながったり、障害発生時の切り戻しが容易になったりします。
また、一部の機能の有効化や無効化を素早く行えるため、適切な機能をより迅速にユーザへ提供できるようになります。
こうした機能は、Go言語で実装されたバックエンドアプリケーションで本番稼働している機能の切り替え、TypeScriptで実装されたフロントエンドアプリケーションにおけるUIの表示や呼び出すAPIの切替などで活用事例があります。
なお、機能フラグを利用するためには、フラグの状態を管理する仕組みが必要になります。
この仕組みを提供するものはプロバイダと呼ばれており、クラウドサービスやオープンソースのプロダクトとして提供されているものがあります。
OpenFeatureのプロジェクトには仕様の標準化も含まれているため、異なるプロバイダの利用や切り替えを行っても、ソースコードの修正が不要です。
OpenFeatureを導入することで、ビジネスのアジリティを高められるという点も魅力的ですが、関連する仕様の標準化からライブラリなどのエコシステムの整備まで含めて、オープンソースとして開発されている点は非常に魅力的です。
皆様もぜひOpenFeatureを使ってビジネスアジリティを高める一歩を踏み出してみてはいかがでしょうか?
◆OpenStandiaサポート対象OSS一覧
https://openstandia.jp/services/#supportlist
2.OSS紹介ページ 今月のアップデート(新規:7件、更新:1件)
(新規)
Dozer (https://openstandia.jp/oss_info/dozer/)
Grafana Tempo (https://openstandia.jp/oss_info/grafana_tempo/)
Kepler (https://openstandia.jp/oss_info/kepler/)
NgRx (https://openstandia.jp/oss_info/ngrx/)
OpenSSL (https://openstandia.jp/oss_info/openssl/)
Red Hat Runtimes (https://openstandia.jp/oss_info/red_hat_runtimes/)
Redisson (https://openstandia.jp/oss_info/redisson/)
(更新)
Grafana Loki (https://openstandia.jp/oss_info/loki/)
3.OSS紹介ページ 今月のアクセスランキングTOP10
オープンソース情報ページ「OpenStandia OSS紹介」のアクセスTOP10をご紹介
→ 1位 (1位) PostgreSQL (https://openstandia.jp/oss_info/postgresql/)
↑ 2位 (3位) Apache Tomcat (https://openstandia.jp/oss_info/tomcat/)
↓ 3位 (2位) Apache HTTP Server (https://openstandia.jp/oss_info/apache/)
↑ 4位 (6位) PHP (https://openstandia.jp/oss_info/php/)
→ 5位 (5位) MySQL (https://openstandia.jp/oss_info/mysql/)
↑ 6位 (8位) Keycloak (https://openstandia.jp/oss_info/keycloak/)
↓ 7位 (4位) Nginx (https://openstandia.jp/oss_info/nginx/)
↑ 8位 (9位) Red Hat Enterprise Linux (https://openstandia.jp/oss_info/redhatenterpriselinux/)
↓ 9位 (7位) Spring Framework (https://openstandia.jp/oss_info/spring/)
↑ 10位 (ランク外) Docker (https://openstandia.jp/oss_info/docker/)
※( )内は前月の順位
◆OSS総合情報ページ「OpenStandia OSS紹介」はこちら
https://openstandia.jp/oss_info/
4.今月注目のバグ&セキュリティ情報
【PostgreSQL】 引用 API がエンコード検証に失敗したテキスト内の引用構文を中和しない問題 (CVE-2025-1094)
PostgreSQL libpq 関数 PQescapeLiteral()、PQescapeIdentifier()、PQescapeString()、および PQescapeStringConn() の引用構文の不適切な無効化により、データベース入力プロバイダが特定の使用パターンで SQLインジェクションを実行できるようになります。
具体的には、SQL インジェクションでは、アプリケーションが関数の結果を使用して、PostgreSQL 対話型ターミナルである psql への入力を構築する必要があります。
同様に、PostgreSQL コマンドラインユーティリティプログラムでの引用構文の不適切な無効化により、client_encoding が BIG5 で server_encoding がEUC_TW または MULE_INTERNAL のいずれかである場合に、コマンドライン引数のソースが SQL インジェクションを実行できるようになります。
PostgreSQL 17.3、16.7、15.11、14.16、および 13.19 より前のバージョンが影響を受けます。
本脆弱性の影響を受ける環境は下記となります。
・Red Hat Enterprise Linux 6
postgresql(*)
・Red Hat Enterprise Linux 8
postgresql:13/postgresql(*)
postgresql:15/postgresql(*)
postgresql:16/postgresql(*)
・Red Hat Enterprise Linux 9
postgresql(*)
postgresql:15/postgresql(*)
postgresql:16/postgresql(*)
*詳細バージョンについては、Red Hat 社の今後のアナウンスをご確認ください。
・PostgreSQL
~ 13.19 より前
14 ~ 14.16 より前
15 ~ 15.11 より前
16 ~ 16.7 より前
17 ~ 17.3 より前
関連情報
・National Vulnerability Database
https://nvd.nist.gov/vuln/detail/CVE-2025-1094
・Common Vulnerabilities and Exposures (CVE)
https://www.cve.org/CVERecord?id=CVE-2025-1094
◆OpenStandiaオープンソース年間サポートサービスのご紹介
https://openstandia.jp/services/