VirtualBox(ヴァーチャルボックス)とはVagrant(ベイグラント)とは

VirtualBoxとは

ラクル製の仮想環境を構築するソフト。競合としては「VMware」がある。
何ができるかというと、開発で使うPCに仮想的に別のOSで環境を構築できる。

 

f:id:ibufuku:20190430203828j:plain

VirtualBox説明のイメージ図

なんで使うの??

システム開発するときのPCのOSはWindowsMacだが作ったものを本番で動かすときはLinuxOSで動かすことが多い。
そのため、本番と同じような環境で開発したいため仮想上に環境構築して開発することが多い。

 

用語

・ホストOS:自分のPCのOS
・ゲストOS:赤枠のOS(Windows,Linux,Solaris,BSD,IBM OS/2,Macなどが選択できる)

・スナップショット:ある時点をセーブして何かあったらセーブしたところに戻せる

VagrantVirtualBoxを便利にするツール 詳しくは下記を参照

Vagrant(ベイグラント)とは - ibufukuのブログ

メリット

・本番環境に合わせて自由にOSを選択できる
・いらなくなったらすぐに破棄できる
・色々実験できて動かなくなってもすぐに元に戻せる

 

デメリット

・ある程度のスペックのPCが必要(メモリが8GBあれば十分)
・仮想上で開発してるときの動作が遅い

 

Vagrant(ベイグラント)とは

仮想環境(VirtualBoxなど)のOSの設定やソフトウェアのインストールなどの構築、設定を自動化するもの。
VirtualBoxを使う上で必須ではない。

 

なんで使うの??

・テストでは動いていたのに本番環境では動かない
 バージョンの差異
 設定ファイルの差異など....
 
・プロジェクト参画時にメンバーの環境構築に時間がかかる
 手順書が最新化できてない
 新人だと手順書があってもできなかったり....

用語

・Box
 仮想環境のテンプレートのこと。
 自分で作成もできるが下記からダウンロードすれば他人が作成したものを使うこともできる。

 http://www.vagrantbox.es/

・プロバイダ
 VirtualBoxVMWare、EC2などの仮想環境のこと

・プロビジョニング
 ソフトウェアのインストールや設定管理を行うツール(Chef、Puppetなど)