1

したがって、これは今日のソフトウェアでは一般的な問題のようです。多くの企業は、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 です。

4

5 に答える 5

5

これは確かに一般的な問題であり、グレープバインに関するヒントは、Opscode (現在は Chef として知られている) がこれを認識しており、解決策に取り組んでいることを示唆しているようです。うまくいけば、これは Chef 12 で見られるものです。

問題は、Chef が構成管理システムであることです。これは、厳密にはプロビジョニングまたはオーケストレーション製品ではありません。Knife はこの問題を解決しようとしていますが、その規模は非常に初歩的です。Ansible や Puppet などの他の製品は、この問題に対処するためのより優れた機能を備えています。しかし、繰り返しになりますが、それらは厳密なオーケストレーション製品でもなく、まだ不十分です。

私自身は使用する機会がありませんでしたが、http://deis.io/をチェックしてみてください。これは、オーケストレーションの問題に対処しているように見えるオープン ソースの軽量なサービスとしてのプラットフォームです。それはあなたが探しているものかもしれません。

別のオプションは、https://github.com/coreos/etcdのようなものをインベントリ管理に使用することです。非常に柔軟で、Chef 独自の検索データ以上のものを提供する集中システム インベントリ API を持つことができます。これにより、クックブックを作成して他のシステムやサービスを検索し、それらに接続するための手順を実行できます。ばかばかしくなり始めますが、リモート インスタンスでコマンドを実行する ssh コマンドを Chef にいつでも実行させることができます。

とにかく、いくつかの提案です。それが役立つことを願っています。

于 2013-12-10T17:57:27.160 に答える
1

Windows で Puppet を使用したことはありませんが、Puppet にはカスタム ファクトのサポートを提供する Facter がバンドルされています - http://puppetlabs.com/blog/facter-part-1-facter-101

ファクトリのすべての変数は puppet マニフェストで使用できるため、さまざまな環境でさまざまなことを行う実行リストを作成できます。

さらに、ノードではなくアプリケーションの構成について言及しています。これが Puppet モジュールの目的であり、独自の構成を簡単に作成できます。これにより、さまざまなノードがいくつかのモジュールを適用したり、他のモジュールを無視したり、モジュールが存在しないことを確認したりすることができます。

于 2013-12-10T06:22:08.973 に答える
0

RightScale、Scalr、または enStratus が言及されていないことに驚いています。これらのソリューションのほとんどは、必要に応じて SOA の一部を柔軟に変更できるという追加の利点により、SOA 配信のギャップを埋めます。

于 2014-01-20T21:32:44.167 に答える