VagrantとVirtualBoxについて
2018年09月29日
技術関係で調べ物をしていると、「Vagrant+VirtualBox」を導入します。
とよくでてくるのですが、意味がよく分かっていなかったので調べていました。
Vagrantとは、PCの仮想環境を構築するのを手助けするソフトです。
仮想化ソフトとしては、VirtualBoxのほうが本体なのですが、VirtualBoxだけでは、仮想環境を構築するための設定がややこしいです。
Vagrantをインストールすることで、仮想環境の設定の手間を省けるので、セットになって用いられるることが多いです。
実際はVagrantがなくても、VirtualBoxだけでも仮想環境を構築することが可能です。
ややこしい点
仮想環境を構築するソフトウェアやモジュールなどは、Vagrant+VirtualBox以外にもたくさんあります。
そのため、調べているうちに様々な仮想環境構築方法にであうことがあるため、混乱をきたしてしまいます。
その他の言葉との違い
IT業界ではたくさんの言葉が出てきて混乱します。
似たような言葉との違いです。
仮想化ツール
venv
pythonの仮想環境を構築できるモジュールです。
VMware
Windowsの仮想化ソフトウェア
コンテナツール
Docer
パッケージマネージャ
パッケージマネージャは、モジュールなどが重複しないように依存関係に対処したりするツール。
特定のツール導入時に、必要なライブラリを自動でインストールしてくれる。
homebrew
Macのパッケージマネージャ
pip
pythonのソフトウェアパッケージを管理する。python用のyum?
composer
phpのパッケージ管理ツール。
コンテナとの違い
Dockerをはじめとするコンテナ技術の違いとしては、コンテナは同一のOSの上に、異なるサーバ環境を構築します
Virtual Boxをはじめとする仮想化ソフトウェアは、PCのハイパーバイザを分割し、その上に複数の異なるOSを導入できます。
そのため、仮想化ソフトウェアはその分環境ごとに容量が多かったり設定の手間が大きいデメリットがありますが、そのぶん仮想環境ごとの自由度は高いといえます。
単純にいえば、OSは同じでその上のミドルウェアなどを自由に構築したい→Docker、OSも別々にしたい→仮想化ソフトウェアといったかんじでしょうか。