OpenFeature
フィーチャーフラグを管理するための共通の仕様。
tl;dr
フィーチャーフラグ界におけるLSPみたいなもんです
フィーチャーフラグ
ある機能を出すか出さないか、などを制御する機構
ローカル環境ではデバッグ情報をDOMに出したいけど本番環境では出さない、といった用途が典型的
ナイーブに実装しようとすると環境変数で分岐するとか設定ファイルを読ませたりすることになる
フィーチャーフラグサービス
環境変数で分岐したりするのはダルすぎるので、それ専門に管理できるOSSプロダクトやSaaSが出現した
ConfigCatとかいろいろある
価格体系などもいろいろ
しかし、フューチャーフラグサービスとの通信方法などは各OSSやサービスが勝手に決めていたので相互運用性が低い状態になっていた。
例: フューチャーサービスを使いたい言語Lがあるが、フューチャーサービスFはL言語に非対応
都度バインディングを書かなければ利用できないので非効率
フューチャーフラグという概念はかならずしも1つのコンポーネントに閉じているわけではない。色々なところで共通のフラグを読みたいということもある
フューチャーフラグを使いたいクライアントとサーバとの間の通信仕様を一本化して相互運用性を向上させましょう、というプロジェクト
サービス比較 2024/7/16
一番有名?価格もわりと良心的な印象
わりと制約がゆるい
1000MAUまでは無料で使える。無料でもUnlimited Seatになっている(チームメンバをいくらでも呼べる)
MAUにより価格が変動する。30000MAUだと40ドル(毎月払いの場合)。
最初からコストが負担になるということがない
Cloudflare Workersなどを使って爆速にするなど面白い試みをやっている
Feature難読化機能などがある
むちゃくちゃ安い
心配になる
老舗
クラウドは結構高い
チームメンバ制約がキツい
セルフホストするOSSとしても使える
有料だと月45ドルから
セルフホストするOSSとしても使える
有料だと月80ドルから
猫がかわいい
フリーだとSLAが99%になる
フリーだとFlag数やEnvironment数にけっこうキツい制約がある
セルフホストするOSSとしても使える
SDK対応言語がやたら豊富(Elixir対応してたりする。謎)
有料だと月99ドルから
雑感
セルフホストすると安くつけられるが、プロジェクトごと分けるような環境分離をやっている場合はセルフホスト先につなぐのがけっこうダルいのではないか?
参考文献