tmori3y2のブログ

主にWindowsのプログラムなど

ホストOSに開発ツールをインストールしないという選択肢

tmori3y2.hatenablog.com

今、MSDN OSを使用しているのは、

という事情があった。

「小ロットのハードの会社だから、ソフトの開発ツールに金が掛かり過ぎると開発費を回収できなくなる」

のも大きい。

その後、

ということで、めでたくVisual Studio with Professional移行というのは過去記事に書いたとおり。

さて、並行開発はロクな事がなくて、

  • 複数開発環境入れて・・・
  • 複数製品入れて・・・

という段階で、

「下手を打つとOSクリーンインストールする羽目になる」

のに、

とかなると

「自殺行為に近い」

おまけに、

  • 日米以外で国際化対応絡みのクレームがあったら直ぐに環境立てて調査

とかなってくると、

「ドイツ語もトルコ語もなんでもござれのMSDNサブスクリプションしかない」

  • バージョン管理ツールは、VisualSourseSafeからSubversionへ移行
  • Issue管理は、独自システムからRedmineへ移行

ということで、チーム開発でMSDNを揃える必要性は現時点でない。

しかし、開発中のソフトウェアによる環境汚染(レジストリとか諸々)は深刻なので、MSDNライセンスで仮想環境を立てて、ホストOSを汚さないという選択肢が、非常に現実的だったりする。

  • 自分のPCで仮想マシン(ローカルの仮想OSE)を起動してアクセス
  • サーバで仮想マシン(リモートの仮想OSE)を起動してアクセス(VDI)

あたりが妥当な線だが、デバッグ専用なら、

  • 自分のセカンドPCで仮想ディスクイメージを使用してOS(ローカルの物理OSE)を起動(VHDブート)

というのも悪くは無い。

もっとも、MSDNはライセンス条項でいろいろ縛りがあるので、

  • MSDNでセットアップしたOSEは実運用環境で使用できない
    • ホストOSは購入/リース/レンタルで調達
      • VDI用サーバの場合
      • ホストOSにOfficeやメーラ、SNSクライアントをインストールする場合
    • ホストOSを仮想OSE管理目的でのみ使用
      • VDI用サーバは除く
    • MSDNでセットアップしたOSEには、Officeやメーラ、SNSクライアントをインストールしない
  • MSDNでセットアップしたOSEには、MSDNのライセンスを持たない人にはアクセスさせない
  • MSDNでセットアップしたOSEには、MSDNサブスクリプションレベルの足りない人にはアクセスさせない

という配慮は必要になってくる。

環境構築は、VHDブート可能なOSを使用して構築している。

  • リリース版評価用に、必要なバージョン/言語のOSを仮想ディスクにセットアップ
  • 仮想ディスクをコピーして、開発環境をセットアップ
    • 複数バージョンのVSが必要なら古いバージョンから

あとは、VHDブートをしたいなら、この仮想ディスクをセカンドPCにコピーして、ブートマネージャに登録してやる。

必要なマシンスペックは以下を参考にすると良い。

  • OS: 64bits
    • 仮想環境に2GB以上メモリを割り当てるなら32bitsでは足りない
  • CPU: Core i7Xeon
  • Memory: 16GB以上
    • 仮想環境に4GB以上メモリを割り当てるなら8GBでは足りない

「ホストOSに開発ツールをインストールしない」

というのは、極端な話でエディタぐらいは入れていても良いが、これをやってみて思わぬ副作用があった・・・

PCを更新したときに、仮想ディスクをコピーして仮想マシンをセットアップしたら、ホストOSの環境構築をやりながら開発業務を続行出来た。

まあ、

Visual Studio Onlineとかやってる人たちからすると、威張るほどの事じゃないけど」

「まだまだサブスクリプション方式のオンラインサービスより、リース・レンタルでハード調達する方に理解がある企業も多いんで・・・」