何故、ソフトウェア開発にVMWareが必要なのか?

先日、VMWare Playerが無償公開された。これは、商用版のVMWareから一部の機能を取り払ったものだ。実は、このVMWare Playerだけで実用になる。詳しいことは以下のページを見られたし。


VMware Playerのみで新しいVirtualMachineを構築する
http://blog.yasaka.com/archives/2005/10/vmware_playervi.html


VMware Playerがインストール中に固まる現象
http://blog.yasaka.com/archives/2005/11/vmware_player.html


知らない人に言っておくと、VMWare5とVirtualPC2004とでは、速度的には、ややVMWare5が有利であるものの大差はない。(情報ソース:SoftwareDesign2005/07 P.139)


しかし、仮想マシンのなかでUSBデバイスが使える点や64bitOS対応など、機能面ではVMWareのほうに軍配があがる。その分、VMWareのほうがVirtualPC2004より価格が高いのだが、それが無料で使えれば言うことは無いだろう。


■ VMWareの活用例


自分のプログラムの開発環境をVMWareで動作する仮想マシンのなかに構築してしまう。仮想マシンのイメージファイルは、USB接続メモリやUSB接続の耐衝撃HDDに入れて持ち運べるようにしておく。こうしておけば、


・仕事先と自宅とで全く同じ開発環境を維持できる
・友達の家で開発するときにしても、そのパソコンにVMWarePlayerをインストールするだけであとは自分のいつもの開発環境が取り戻せる。
・OSの再インストール時の作業環境のリカバリがVMWarePlayerをインストールするだけで済む
・開発環境すべてのバックアップがひとつのファイルをコピーするだけで完了する
・バージョン管理も出来るので、特定の日の状態にまで仮想マシンを戻すことも容易である。また、CVSのように作業環境のbrunchを作ったりも出来る。
・OSをクリーンインストールした状態で動作するか簡単にテストできる(自分の作ったソフトウェアの動作に必要なコンポーネントを入れ忘れることが無くなる)


など、いいことずくめである。(デメリットとしては、ホストOS側がWindowsXPだと、WindowsXPが150MB〜200MBほど占有してしまうため、そのぶんゲストOS(仮想マシン側)のメモリが苦しくなってしまうのだ。メモリは1GB程度あるところで動かしたい。)


参考として「仮想化によるJava開発環境の有効性を評価」の記事を挙げておく。
http://www.atmarkit.co.jp/fjava/rensai3/virtualpc03/virtualpc03.html


I-O DATA USB2.0/1.1対応 耐衝撃シリコンジャケット採用 ポータブルハードディスク 40GB [HDP-U40] ちなみに、仮想マシンのイメージファイルを持ち運びにお勧めなのがこの耐衝撃HDDである。パソコン本体から電源を確保するので、アダプターは不要だ。どれくらい頑丈なのかは以下の記事が詳しい。


アイ・オーの耐衝撃HDD「HDP-U」を試す 〜シリコンジャケットで武装したポータブルHDD
http://pc.watch.impress.co.jp/docs/2005/1104/iodata.htm