12-Factor アプリでは、環境変数を使用してアプリケーションを構成することをお勧めします。ここまでは順調ですね。接続文字列を設定する必要がある場合、これが良い方法であることは容易に想像できます。
しかし、非常に多くの値を含むより複雑な構成がある場合はどうなるでしょうか? 私は確かに 50 以上の環境変数を持ちたくありませんよね?
どうすればこれを解決でき、それでも 12-Factor Apps の考え方に準拠できますか?
12-Factor アプリでは、環境変数を使用してアプリケーションを構成することをお勧めします。ここまでは順調ですね。接続文字列を設定する必要がある場合、これが良い方法であることは容易に想像できます。
しかし、非常に多くの値を含むより複雑な構成がある場合はどうなるでしょうか? 私は確かに 50 以上の環境変数を持ちたくありませんよね?
どうすればこれを解決でき、それでも 12-Factor Apps の考え方に準拠できますか?
あなたが提供したconfigureリンクをざっと読んだところ、広範な問題があるという著者の主張に同意しますが、提案された解決策が常に最善であるとは確信していません. あなたと同じように、アプリケーションを構成するために何十もの環境変数を定義しなければならないという考えは好きではありません。そこで、代替案をいくつか紹介します。
まず、Config4* 入門ガイドの第 2 章をお読みください(免責事項: 私はそのソフトウェアの主な作成者です)。特に、私が適応構成と呼んでいるものへのサポートは、あなたが尋ねる懸念に対処するのに大いに役立つことに注意してください. Config4* は究極のソリューションですか? そうではないかもしれませんが、正しい方向への良い一歩だと思います。
第二に、開発/保守しているアプリケーションが、XML ファイルや Java プロパティ ファイルなどの特定の構成テクノロジにすでに落ち着いており、Config4* を使用するように移行することは現実的ではない可能性があります。ここで疑問が生じます。たとえば、アプリケーションがデプロイされる複数の環境 (開発、UAT、ステージング、本番など) がある場合に、XML ベースの構成ファイルが急増するのを避けるためにできることはありますか? 別の StackOverflow記事で、この問題に対処するためのアプローチを概説しました。