したがって、これは今日のソフトウェアでは一般的な問題のようです。多くの企業は、AWS、Azure、Heroku などのクラウド プラットフォームで解決しているようです。ただし、プライベート クラウドを必要とするデータ セキュリティの場合、選択肢はあまり開発されていないようです。
詳しく説明すると、私の特定のニーズは、ノード (物理/仮想サーバー) に依存しないアプリケーションを管理することです。現在、Chef を使用していますが、これはこのタスクには理想的とは言えません。Chef では、環境内の個々のノードごとに実行リストを作成する必要があります。明らかな理由で同じノードにインストールしたくない多くの異なるサービスに依存する SOA アプリケーションがある場合、Chef はそれを提供できません。私は手動でそれをしなければなりません。すべての依存関係を内部的に文書化する必要があり、各ノードの実行リストを作成するときに、何がどこに行くのかを誰かが決定する必要があります。マルチノード タイプの構成オプション (環境変数以外) や、多くのノードにサービスをインストールするための自動化された方法はありません。
これは非常によくある問題のように思えるので、何かが足りないだけだと思わざるを得ません。Chef よりも簡単にプライベート クラウドで SOA アプリケーションを管理できるツールが世の中にあるはずです。
そのようなツールを知っている人はいますか?Chef がとても人気があるのに、この機能がないのはおかしいと思います。私は Puppet やその他のツールが存在すると仮定したいのですが、Chef とは異なり、それを使用しようとする前に事前に知っておきたい.
シェフの言葉で私が欲しいものを要約するには:
アプリケーションをカプセル化する環境にマップされるロールが必要です。個々のノードではなく、THE ENVIRONMENT でインストールを実行したいと考えています。内部的には、構成管理ソフトウェアは、どのノードに実際にサービスをインストールするかについて何らかの情報に基づいた決定を行い、それに応じてそのサービスの依存関係を更新します (たとえば、環境変数を介して)。
言い換えれば、プライベート クラウドでホストされる SOA アプリケーションの CD を CD にしたいと考えています。私がChefで持っている半手動の、ほとんど連続的ではない配信ハックではありません。
また、opscode の関係者 (またはシェフのファン) がいる場合は、Chef が提供する機能をすべて使用していない可能性があることをすぐに認めます。
また、サーバーはすべて Windows 2008 R2 または Windows 2012 です。