[解決済み] フィーチャーフラッグとは?
質問
高いスケーラビリティ は、ここで機能フラグに言及します。
スケーラビリティに有害な5つのこと , 5. 機能フラグの欠如"
機能フラグとは具体的にどのようなものですか?
どのように解決するのですか?
機能フラグ」(または 機能トグル ) は、アプリケーションの機能 (サブセクション) を簡単にオン/オフする機能です。
- おそらく再デプロイによって、または
- ページ/機能をライブで切り替えることができる内部ページがあります。
例えば、負荷が高すぎる場合に DB クエリを減らす必要がある場合、機能セットを多少減らすコントロールがあると便利だというのが、この例だと思います。
そこには 他の多くの理由 を使いたい理由は他にもありますが、主なものの1つは 継続的デリバリー を有効にすること、つまり、完成するまで機能を無効にしたりトグルしたりすることです。私たちはしばしば、未完成の機能を開発チームだけに見せるために「開発用クッキー」と呼んでいるものを使用しています。この方法では、「トグルを解除」(完了)して一般に公開する前に、複数のリリース/デプロイメントにわたって、部分的に完了した作業を本番環境でテストできます(そうそう、もっと良い統合はないでしょうか)。
ASP.NET MVC の土地でこれを行うのに役立つ簡単なパッケージがあります。 https://github.com/cottsak/DevCookie (完全な開示: 私が作者です)
また、Fowlerは よりもずっと長い記事で、より多くの詳細があります。 .
この投稿(Fowlerのサイトにもあります)は、さまざまな種類のトグル戦略について説明しています。 . デブクッキー は、メインライン/トランクベースの戦略をサポートし、" と呼ばれます。 リリース・トグル と呼ばれています。
アディルさんの回答 このようなインフラストラクチャを必要とする理由や用語はたくさんあります。これらのもののうち、必要なのは一部だけかもしれないことを心に留めておいてください。たとえば、私はシンプルでアジャイルなデプロイメント/配信ワークフローを可能にしたいだけなので、シンプルなインフラで十分でしょう。その後、完全な #leanstartup A/B、コホート テスト、および管理されたロールアウトなどの実験に移行したい場合は、分析ツール (たとえば ヒープ など)を検討する必要があります。上記のすべてを行うトグル インフラストラクチャは、肥大化と不必要な複雑化を招きます。
もしあなたがここまで来たのであれば、私のいくつかの メインライン開発、機能トグル、および TEST、QA、SIT、STAND、CROUCH のような他の愚かなアイデアに関する私の他の考えをチェックしてみてください。 .
関連
-
[解決済み] RESTとRESTfulの違いは何ですか?
-
[解決済み】ドメイン駆動型設計。ドメインサービス、アプリケーションサービス
-
[解決済み】コンポーネントベースのゲームエンジン設計【クローズド
-
[解決済み】「Layer」と「Tier」の違いは何ですか?
-
[解決済み】オブジェクト指向のプロジェクトはどのように設計するのですか?[クローズド]
-
[解決済み】マイクロサービスアーキテクチャでGraphQLを使用するタイミングと方法
-
[解決済み】「コルーチン」と「スレッド」の違い?
-
[解決済み】すべてのASP.Netのウェブサイトが遅い理由を発見しました。
-
[解決済み】なぜLinuxはモノリシックカーネルと呼ばれるのですか?
-
[解決済み] UUIDを使わざるを得ないデザインとは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Redisにするタイミングは?MongoDBにするタイミングは?[クローズド]
-
[解決済み】ドメイン駆動型設計。ドメインサービス、アプリケーションサービス
-
[解決済み】コンポーネントベースのゲームエンジン設計【クローズド
-
[解決済み】「Layer」と「Tier」の違いは何ですか?
-
[解決済み】オブジェクト指向のプロジェクトはどのように設計するのですか?[クローズド]
-
[解決済み】マイクロサービスアーキテクチャでGraphQLを使用するタイミングと方法
-
[解決済み】「コルーチン」と「スレッド」の違い?
-
[解決済み】なぜLinuxはモノリシックカーネルと呼ばれるのですか?
-
[解決済み] UUIDを使わざるを得ないデザインとは?