OpenFlags icon

OpenFlags

OpenFlagsは、現代的なJavaScriptチーム向けのオープンソースでセルフホスト型のfeature flagプラットフォームです。ローカル評価、段階的ロールアウト、対象別の公開を、データを自社環境に保持したまま実現します。

OpenFlags

概要

OpenFlagsは、現代的なJavaScriptチーム向けのオープンソースでセルフホスト型のfeature flagプラットフォームです。重いホスト型コントロールプレーンに依存したり、データを自社のスタック外へ移したりせずに、flagの背後で機能を段階的に公開できるよう、プロダクトチームとエンジニアリングチームを支援するよう設計されています。

この製品は、ローカル評価、割合ベースのロールアウト、対象を絞った有効化を中心に構成されています。公開されているアーキテクチャでは、システムをflag保存とターゲティング用のサーバー、リリース管理用のダッシュボード、アプリ側評価用のSDK、そして導入と実装ガイダンスを提供するdocsに分けています。

コア機能

ローカルなflag評価

OpenFlagsはアプリケーション内でflagをローカル評価し、サイトではゼロレイテンシーのローカル評価と、各チェックごとに追加のネットワークホップを回避できることとして説明されています。

段階的ロールアウトとターゲティング

この製品は割合ベースのロールアウトとターゲティングをサポートしており、機能を一度に全員に有効化するのではなく、制御されたユーザー層に段階的に公開できます。

セルフホスト型コントロールプレーン

ドキュメントでは、flagデータ、ロールアウトロジック、運用上の判断を自社インフラ内に保持するセルフホスト型アーキテクチャとして説明されています。

JavaScriptファーストのSDK

サイトでは、Bun、React、Next.js、Vite、Nodeアプリで利用できるTypeScriptパッケージとJavaScriptファーストのSDKが紹介されています。

モノレポベースのワークフロー

クイックスタートでは、server、dashboard、docsの各アプリが分かれたBunモノレポが示されており、システムをローカルで実行し、確認しやすくなっています。

軽量なAPIと管理画面

公開ドキュメントでは、flagストレージ、APIアクセス、ターゲティングルールのためのシンプルなRESTサーフェスと軽量なコントロールプレーンが説明されています。

主なユースケース

  • 段階的な機能公開

    OpenFlagsは、まず少人数のユーザーに機能を公開し、信頼度が高まるにつれて割合を段階的に広げたい場合に使用します。

  • 対象を絞ったアクセス制御

    ダッシュボードとSDKを使って、全員一律ではなく対象を絞った公開が必要なときに、特定のユーザーやセグメント向けに機能を制御します。

  • 社内での所有と管理

    運用上またはガバナンス上の理由で、flagデータとロールアウトロジックを自社インフラ内に保持する必要がある場合に、セルフホスト型セットアップを使用します。

  • ローカル開発と評価

    プラットフォームを評価したり、ワークフローを理解したり、開発環境でserverとdashboardを一緒に実行したりしたい場合に、Bunモノレポとローカルクイックスタートを使用します。

  • JavaScriptアプリケーションへの統合

    アプリがBun、React、Next.js、Vite、Nodeで構築されており、既存のアプリケーションスタックに自然に組み込みたい場合に、JavaScriptファーストのSDKを使用します。

Pros and Cons

Pros

  • ローカル評価により、各リクエストでの追加ネットワークホップなしにアプリ内でfeatureチェックを完結できます。
  • セルフホスト運用により、ロールアウトデータと実行時の管理権限を自社インフラ内に保持できます。
  • 割合ベースのロールアウトとターゲティングにより、より安全で段階的なリリースを支援します。
  • プラットフォームは、server、dashboard、SDK、docsという小さく焦点を絞った構成で整理されています。
  • クイックスタートでは、モノレポを実行し、主要アプリをテストするための明確なローカルワークフローが示されています。

Cons

  • 収集した価格URLは現在404を返すため、価格の詳細は公開サイトからは確認できません。
  • 収集したページではJavaScriptベースのワークフローが特に強く示されており、他の言語エコシステムへの対応は説明されていません。

FAQ

OpenFlagsは何のためのものですか?

OpenFlagsは、オープンソースでセルフホスト型のfeature flagプラットフォームです。ドキュメントでは、重いホスト型コントロールプレーンを導入せず、またJavaScriptファーストのSDKを備えつつ、ローカル評価、割合ベースのロールアウト、を求めるチーム向けとして位置づけられています。

ローカルでどのように実行しますか?

クイックスタートでは、OpenFlagsはBunのモノレポだと説明されています。ローカルで始めるには、`bun install`で依存関係をインストールし、`bun run dev:server`を実行します。別のターミナルで`bun run dev:dashboard`を実行し、さらに`bun run dev:docs`でdocsアプリも起動できます。

基本的なロールアウトの流れは何ですか?

ソースでは、シンプルなワークフローが示されています。プロジェクトを作成または選択し、安定したsnake_caseのキーでfeature flagを定義し、ユーザーの一部またはロールアウト割合に対して有効化し、SDKを通じてアプリ内で評価します。

OpenFlagsはどのアプリケーションスタックに最も適していますか?

ドキュメントとホームページでは、JavaScript中心の利用が強調されています。サイトでは特に、Bun、React、Next.js、Vite、Node.js、そしてTypeScriptのSDKレイヤーが挙げられています。

サイトに価格は表示されていますか?

`/pricing`の価格ページは現在404を返すため、公開サイトは収集したソース内で価格モデルを公開していません。

Quick Facts

カテゴリ
Feature flags
デプロイモデル
オープンソース、セルフホスト型
主な利用者
JavaScriptのプロダクトおよびエンジニアリングチーム
コアワークフロー
ロールアウトターゲティングを伴うローカル評価
サイトドメイン
openflags.dev
価格
未表示。`/pricing`は現在404を返します