2012-10-13 4 views
9

私はプロダクションWebサーバーを模倣するために仮想マシンを作成しています。そのため、新しい開発者と共有してできるだけ早くスピードアップさせることができます。しかし、私はVagrantの文書を読んできましたが、一般的なベースボックスを使用し、Puppetですべてをプロビジョニングし、既にインストールされ、設定されているすべてのカスタムボックスをパッケージ化する利点を理解していません。私が考えることができるのはすべてです。 バージョン管理下マニフェストを入れて、レポを共有する機能を他の開発者が 単に新しいアップデートを引っ張ることができるように - 今までに誰を維持するために、カスタムパッケージボックスバグを使用すると、人形のプロビジョニングはカスタムパッケージのボックスより優れているのはなぜですか?

  • 簡単対人形を使っての

    メリットパペットを再実行します。

  • マニフェストに環境が記載されています。
  • 生産環境で定義されているパペットモジュールを に使用する機能は、同じ環境を保証します。カスタムパッケージボックス

    • 対人形を使っての

    欠点は、単純にインストールして カスタムパッケージのボックスを設定するよりもマニフェストを書くために時間がかかります。

  • バーチャルマシンを初めて構築する場合は、カスタムパックボックスをダウンロードするだけではなく、初めて 人形を使用すると時間がかかります。

私はいくつかの重要な詳細を見逃しているに違いないと思っていますが、これ以上考えることはできませんか?

答えて

11

利点

依存関係がゼロから新しいボックスを構築し、時間とともに変化しているようにパッケージを削除、または再びすべての上に離れて箱を投げ、手でインストールプロセスを繰り返し、手動のいずれか伴います。インストールをbashや他のタイプのスクリプトで自動化することもできますが、ネイティブOSパッケージマネージャーを呼び出すことになります。これは、選択したオペレーティングシステムでのみ実行されることを意味します。私が知る限り、パペット(シェフのような)には、パッケージをインストールするための一般的でオペレーティングシステムにとらわれない方法が含まれています。つまり、マニフェストを変更せずに異なるオペレーティングシステムで実行することができます。

さらに、同じスクリプトを使用して本番マシンをプロビジョニングすることができます。つまり、開発マシンとプロダクションは実質的に同一になります。

デメリット:あなたがあなたのOSや生産環境の切り替えを計画することはできませんとき

は、別のDSLを学習します。利点を設定するのに費やす時間の価値があるかどうかを判断する必要があります。個人的には、抽象的かつ反復可能なパッケージ管理/構成戦略をとることで、将来私は多くの時間を節約できますが、YMMVはそれを考えています。

6

明示的に言及していない大きな利点の1つは、設定を文書化していることです(実際にはドキュメントが実際の設定になります)されることを意図していた。

関連する問題