Vagrantの道
Vagrantをインストールしたり、その仕組みを確認したりする前に、実際の作業環境におけるVagrantの大まかなワークフローを理解しておくことが重要です。これらの原則は総称して「Vagrantの道(Tao of Vagrant)」と呼ばれています。以下は『Vagrant: Up and Running』からの抜粋です。
Vagrantのある世界では、開発者はバージョン管理から任意のリポジトリをチェックアウトし、vagrant upを実行するだけで、人の手を介することなく完全に動作する開発環境を手に入れることができます。開発者は引き続き自分のマシンで、使い慣れたエディタやブラウザ、その他のツールを使って作業を続けられます。開発者にとってVagrantの存在は意識に上ることすらなく、重要でもありません。Vagrantは、一貫性と安定性を備えた開発環境を生み出す縁の下の力持ちなのです。
システム運用エンジニアもまた、自分のマシン上の使い慣れたエディタやツールで、システム自動化のスクリプトを作成します。これらのスクリプトをテストする準備ができたら、vagrant upを実行します。すると本番環境と一致する完全なサンドボックスが用意され、実際のシナリオやシステム自動化をテストできるようになります。
運用エンジニアが開発する自動化の仕組みは、本番環境だけでなく開発環境でも使われます。vagrant upを実行するたびに、開発者は本番環境の構築に使われているのと同じスクリプトによって完全にプロビジョニングされた開発環境を手に入れることができます。こうして開発者は、本番環境を可能な限り忠実に再現した環境で作業できるのです。
何か問題が起きた場合や、まっさらな状態からやり直したい場合、開発者や運用エンジニアは+vagrant destroy+を実行できます。このコマンドは、その開発環境の痕跡をマシンからすべて削除します。その後、再びvagrant upを実行すれば、まったく同じ、完全に機能する開発環境があっという間に再現されます。
一日の作業が終われば、Vagrantで開発環境をサスペンド、停止、あるいは破棄して、システム全体をクリーンな状態に保つことができます。もう、停止し忘れた迷子のサーバープロセスによって貴重なコンピュートリソースを無駄にすることもありません。準備ができたら、vagrant upで、すぐに使える開発環境がわずか数分で戻ってきます。
何より素晴らしいのは、この知識があらゆるプロジェクトに応用できることです。プロジェクトAでもプロジェクトBでも、さらには会社Aでも会社Bでも、Vagrantの道に従う限り、ワークフローはまったく同じです。その結果、生産性は高まり、「私のマシンでは動くのに」というバグはなくなります。
もちろん、Vagrantを使うためにVagrantの道の原則を一つ残らず守る必要はありません。Vagrantは汎用的なツールであり、環境に合わせて自由に形を変えて使うことができます。しかし、Vagrantの背後にある大きなビジョンを見て理解しておくことは重要です。
記事をランダムに読む