misc.log

日常茶飯事とお仕事と

VMware Workstationと仮想PCのメリット(開発者向けのメリット)

仮想PCが一般で使われるようになってもう既に10年以上が経過していますが、未だに「何なのそれ?」「何が便利なの?」という疑問は各所で聞きます。そこで、とりあえず開発作業を行ったりするエンジニアにとっての、VMware Workstationのメリット2つを紹介しておきますね。

実験的作業環境を用意できる

たとえば先のエントリーで書いたPHPの開発環境などをつくって、開発作業の試行や調査を行いたいと行った場合、自宅のメインPCに、よく分からないツールを入れたり、設定を変更したり、ヘタをすると「アンインストール出来ない」かもしれないものをインストールしなければなりません。

怖いです。だって、失敗したら最悪、Windowsから入れ直しになるかも知れません。面倒です。かといって、実験用にもう1台パソコンを買うか?といわれると、そんなのは費用的にムリです。

そこで仮想PCの登場です。今使っているパソコンの上で、もう1台、2台、別のパソコンを動かすことができます。これの利点はこんな感じ。

  • 最悪仮想PCが壊れたり設定異常で動かなくなっても、土台になってる普段使いのPCには影響しない。
  • 物理的なパソコンを買う必要も置く必要も無いし、電源も要らない。

たとえば、自作のソフトをインストールして、レジストリやシステムフォルダにいろんなモノを突っ込んでも、何も恐れることはありません。失うのは仮想PCだけで、その他のものは壊れません。

ある時点の状況を簡単にバックアップできる

VMware Workstationにはスナップショット機能という機能があります。これは仮想PCのある状況を保存しておく機能です。これを使うと、「ちょっと作業に失敗したので、さっきの状態まで戻す」といったことが簡単にできます。

下図は、VMware Workstationのスナップショット管理画面の例です。

f:id:frontline:20140511180217j:plain

上図のように「Apacheをインストールする前」とか「**の設定を行った後」といった状況を保存しておき、いつでもその時点に戻す事が出来ます。これを使うと、たとえばシステムの動作に影響を与えるようなWindows Updateを適用する前後を保存しておいて、動作の違いを検証する、といったことも簡単に行えます。

さらに、仮想PCそのものをコピーするクローン機能もあるので、ある時点から2通りの設定や状況を作り、作業を並行して実施する、といったことも可能です。

これらをメリットとして考えられないなら、ちょっと問題ですよたぶん

いつも思うのですが、このあたりの話をして「便利だな」と思わない人ってのは、本当に深い部分の動作確認や試験、または本番環境へのシステム導入といった作業をやったことが無い人だと思います。実際の仕事では、やってみないと分からない、失敗するかもしれない作業というのが山ほどあるわけで、そうしたシチュエーションを安全に、かつ、失敗時のリカバリーを最短時間で行うには、予備環境や試験環境を多数揃える必要があるはず。

あまり、仮想PCや仮想**といったものについて「意味が分からない」という発言をしていると、「ははぁ、そういう仕事しかしてないんだな」と思われる可能性があるので注意しましょう。

スナップショットやクローンはどうやって実現している?

仮想PCの実態を理解すれば簡単な話です。仮想PCの実態は「ファイル」です。ファイルである以上、コピーすれば複製できます。それだけです。

そもそも、仮想PCというものは

  • OSをだましてあたかもハードウェアがあるかのように勘違いさせる状況を作り出す。
  • OSをだましてあたかもハードディスクであるかのように見せかけた「大きなファイル」の中で、OSを動かす。

です。ですので、ダマされるOSが騙され続ける環境さえ維持できれば、コピーしようが移動しようが問題無いわけです。なので、上記のようなスナップショットやクローン機能が実現出来ます。

ただしライセンスには注意

では、コピーすればいくらでも環境を増やせるじゃないか、という話があるかと思いますが、そうは行きません。仮想PCであっても、有償OSを利用するなら仮想PC分のライセンスは必要です。仮に、「物理的には買わなくてもコピーできるじゃないか」といっても駄目です。それがまかり通るなら「別に店先に鎖をつけて置いてあるわけじゃ無いんだから、お金を払わずに持って行けるじゃないか」というのと同じです。そこは注意してください。

この仮想PCとライセンスの話を何も考えずにクリアするには

  • 無償のOSを利用する
  • MSDNなどの開発用ライセンス契約を結ぶ

などを利用する必要があります。便利さにはそれなりのコストがかかる、ということは理解しておきましょう。

参考

VMware社/VMware Workstation 10
http://www.vmware.com/jp/products/workstation

VMware徹底入門 第3版 VMware vSphere 5.1対応

VMware徹底入門 第3版 VMware vSphere 5.1対応

徹底攻略 VCP5-DCV教科書 VMware vSphere 5.1対応 (ITプロ/ITエンジニアのための徹底攻略)

徹底攻略 VCP5-DCV教科書 VMware vSphere 5.1対応 (ITプロ/ITエンジニアのための徹底攻略)