LoginSignup
0
1

More than 5 years have passed since last update.

Vagrant使うと何が嬉しいの?

Posted at

はじめに

実践 Vagrantを読んで少し使い方が少しわかった記念に、Vagrantの紹介をします。

Vagrant道

vagrantfileを取得して、コンソールにvagrant upと叩けば、完璧な開発環境が手に入るようになっています。
(前提条件としては、Virtualboxなどの仮想化ソフトとVagrantの設定などが必要です。)
Mac/Windows/Linuxなどどの環境でも、まったく同じ環境での開発ができます。

「僕のマシンでは動いていたのに」バグはなくなります。(1.2 Vagrant道より)

実際のところ、Vagrantは仮想化ソフトをコマンドラインでコントロールするアプリケーションなので、仮想化ソフトの強みをそのまま持っています。vagrantfileを行うユーザーにもコマンド一発で動くように要求してます。

で、具体的に何が嬉しいの

  • 開発環境の配布
  • サーバ群の構築
  • AWS EC2の構築

こんなところだと思います。

開発環境の配布

設定ファイルであるvagrantfileとその他設定ファイルをgitで管理すれば、開発メンバーはgit cloneして、vagrant upすれば確実に開発環境が構築できます。
npm installも一発で開発環境が作成できそうですが、実際、グローバルにインストールすべきモノやその中でも複数バージョンのインストールが難しいミドルウェアが競合したりといった問題はがあります。OS丸ごと構築するvagrantにはその問題がありません。

とはいえ、virtualboxのバージョンなどVagrant周りで問題がないわけではなさそうです。

また、共有フォルダの機能を使えば、コンパイル/テストはVagrantで構築した安定した環境で行い。開発は、慣れたOS、カスタマイズされたエディタで快適に行えます。

サーバ群の構築

本番機の構成がweb/API/DBなどの複数台構成になっていたら、開発環境も合わせる方が無難です。Vagrantでは、そのような構成も可能です。

しかし、例えば3つもサーバを立ち上げるとリソースを取りすぎるため、Dockerを利用した方がよさそうです。(Dockerについては良く知りませんので見当違いだったら指摘ください。)

AWSの構築

開発ばかりがvagrantの使いどころではありません。AWS EC2の構築もできます。「実践 Vagrant(F5)」には、手作業で行っているEC2の構築が自動化され、共有化されるので、継続的インテグレーションが行えるとしています。

先ほどのサーバ群もAWSならリソースの問題はなさそうです。(替わりにカネというリソースをとる)

おわりに

実際どう描くのか書いてある記事は多かったのですが、どう使うかの説明はあまりなかったので書いてみましたが、端的に書くのは難しいですね。気が向いたらVue.jsの開発環境をVagrant上に作って公開しようと思います。(要望があればうれしいです。)

あと質問のコメントくださればできる範囲でお応えします。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1