はじめに
本文章は、Vagrant公式サイト内のドキュメント内のWHY VAGRANT?に記載されている内容を意訳に近い形で日本語化したものである。
誤訳が含まれている可能性が十分にあることを踏まえて、参考いただきたい。
なぜVagrantか?
Vagrantは、設定が容易で、複製可能で、業界標準の技術の上に構築された可搬性のある環境であり、一貫性のある単一のワークフローによって制御するとによって、あなたとあなたのチームの生産性と柔軟性を最大化することを助ける。.
その魔法に到達するために、Vagrant巨人の肩に立っているようなものである。マシンはVirtualBox、VMWare、AWSやその他のプロバイダの上で供給される。そして、シェル・スクリプト、ChefやPuppetなどの業界標準のプロビジョニング・ツールを、自動的にマシンにソフトウェアをインストールしたり、設定したりするために使用することができる。
Vagrantもたらす利益
あなたが開発者であれば、Vagrantは、(エディタ、ブラウザ、デバッガなど)での作業に使用されるツールのいずれかを犠牲にすることなく、依存関係に関して、個別の使い捨て用の設定と一貫性のある環境によって分離する。一度、誰かがVagrantfileを生成すれば、vagrant up
を実行するだけで、そのすべてがインストールされ、動作するように設定される。チームの他のメンバーは同じ設定から各自の開発環境を生成することが出来る。たとえあなたの環境がLinuxであれMac OS Xであれ、Windowsであれ、チームのメンバーは、同じ依存関係に対して、すべてが同じように構成された、同じ環境でコードを実行される。「私の環境では動く」というバグに別れを告げよう。
あなたがオペレーション・エンジニアであるなら、Vagrantはインフラ管理スクリプトの開発とテストのために使い捨て可能な環境と一貫したワークフローを与えるだろう。VirtualBoxやVMWareのようなローカル仮想環境を使用して、シェル・スクリプトやChefのcookbook、Puppetのモジュールやのようなものを素早くテストすることが出来るだろう。その後、同じ設定で、同じワークフローで、AWSやRackSpaceなでのリモート・クラウド上でそれらのスクリプトをテストすることが出来る。EC2インスタンスをリサイクルするためのカスタム・スクリプトを投げ捨て、いろいろなマシンに対するSSHプロンプトのごまかしをやめ、まともな生活をもたらす、Vagrantを使い始めよう。
あなたがデザイナーならば、Vagrantは、あなたがあなたが最も行うべきこと「デザイン」に集中するために、自動的にWebアプリケーションが要求するすべてを設定する。一度、開発者がVagrantを設定すれば、どうやってアプリケーションが動く環境をもう一度手に入れるかについては心配する必要はない。デザインを試せるようにするために、その環境の修正対応で開発者をそれ以上悩ませることはない。ただ、コードをチェックアウトとし、vagrant up
を実行して、デザインを始めるだけである。