仮想化の採用とリスク分析

プロジェクトの基本要件は「予算・納期・機能」である。Gravitonでは予算を最優先とし、次いで納期(2008年7月リリース)を設定した。機能は予算と納期を守るために必要なら積極的に削減した。

Windows Server 2003 R2以降では、Enterprise Editionの場合で仮想マシンを4台まで利用できる。予算を削減するため、仮想マシンを採用することはプロジェクトの初期段階で確定していた。

もちろん、Hyper-Vの採用にあたってはさまざまなリスクがあった。主なものは以下の通りである。現在ではほとんどリスクになり得ないものも含まれるが、2007年当時の話として読んでほしい。

(1)開発環境と本番環境の違い: Hyper-VとVirtual Server

Gravitonが利用予定のサーバーは、当時開発中だった社内ERPシステムのデータベースサーバーに間借りすることにした。

ところが当てにしていたサーバーはGraviton開発開始時点では納品されないことが分かった。もっとも、仮に新しいサーバーが利用できたとしても、2007年末の時点ではHyper-Vはもちろん、そのベースとなるWindows Server 2008ですらベータテスト中だったため、プロジェクト途中での切り替えが必要になる。そこで開発環境はVirtual Server 2005 R2で構築し、最終テストのみをHyper-Vで行なうことにした。プロジェクト途中で切り替えるよりもリスクが少ないと判断したからだ。

Virtual ServerからHyper-Vへの移行について、プロジェクト開始時点では明確な手順書などは存在しなかったが、マイクロソフトの「楽に移行できる」という言葉を信じた。マイクロソフトは、旧バージョンからの(少なくとも1つ前のバージョンからは)移行をサポートすることに比較的積極的な会社である。幸いなことに、今回も期待は裏切られなかった。

万一移行が困難だとしても、Gravitonは非常にシンプルな三階層クライアントサーバー構成なので(図1)、最初から再構成してもそれほど工数はかからないという見積もりもあった。また、最悪の場合はVirtual Server 上でサービスを開始することも検討していた。

図1: Gravitonシステム構成図

(2)基幹システムとの共存

問題は基幹システムとの共存の方だった。当時はまだERPシステムの仮想化事例は多くなかった。幸い、ERPベンダーは仮想マシンでの利用をサポートしてくれた。ここでは、基幹システムのプロジェクト遅延が幸いした。基幹システムを最初からHyper-Vの正式版で稼働させることができたからだ。

サーバー機種選定はERPベンダーに一任した。Gravitonの負荷もERPシステムの負荷もそれほど大きくないと予測していたため、どのサーバーであっても性能上の問題はないと考えたからである。Gravitonがもっと巨大なシステムだったり、あるいはERP利用者がもっと多かったりしたら、(当時はまだ高価だった)Xeon 5500番台のプロセッサなどを選択する必要があったかもしれない。

なお、ERPシステムがサポートするデータベースはSQL Server 2005だったが、Gravitonでは最新システムを使いたかったので、最終的に仮想マシンは2台用意した(図2)。

図2: 仮想マシンの構成

(3)Hyper-Vの実績

プロジェクト開始時点で正式版がない以上、Hyper-Vの実績も皆無である。果たして実用になるのだろうかと不安に思う人もいた。

筆者個人としては全く心配していなかった。Windows Serverを15年にわたって利用してきた経験から、最近のマイクロソフト製品は、初期バージョンから問題なく利用できることを確信していた。しかし、製品として問題なくても運用上の問題はあるだろうし、予期しないトラブルも想定しておく必要がある。

幸か不幸か、グローバルナレッジではPCを使わない教育コースを一定数抱えている。この場合はどのみちGravitonが使えない。すべてをオンライン化することはできないため、紙アンケートも残し、しかも講師評価を適切に行なうには集計結果を共有する必要がある。

つまり、Gravitonのデータベースには紙アンケートの結果も入力する必要があった (図3)。言い換えれば、Graviton障害時には紙でアンケートを収集しておけば、システム復旧後にアンケート入力ができるわけだ。つまり、Hyper-Vの停止を回避したり被害を軽減したりするのではなく、受容することにした。

図3: コースアンケートの流れ

プロジェクトの目標

Gravitonの目標は、紙アンケートの欠点を補うべく、以下のように設定した。

  • マークの集計に加え、自由記述していただいた内容を社内で共有する。
  • 集計を即座に行なう。
  • アンケート用紙のストック管理や、記入済みアンケートの管理コストを80%削減する。

最初の2つの目標は比較的簡単に達成できた。集計結果の共有はもっと面倒かと思っていたが、社内の開発担当者によると、SQL Serverと統合されたレポーティングサービスを使えば簡単にできるということだ。もちろん集計はリアルタイムなので結果はすぐに確認できる。

アンケート用紙の管理コストをゼロにすることはできないことが分かっていた。前述の通り、マークシートを使えないコースもあるからだ。携帯電話用のサイトを作るという手もあるのだが、携帯電話からのアンケートで自由記述をお願いするのは難しい。

それでもGravitonにより、マークシートの管理コストは数分の1になっている。これにより、Gravitonプロジェクトメンバーは社内アワードを受賞し、現在に至るまでほぼトラブルなしで稼働している。特にHyper-Vに起因するトラブルは皆無である。

*  *  *

今回は、Hyper-Vを採用したシステムについて、プロジェクト管理面を中心に紹介した。次回はHyper-Vの実装作業やWindows Server 2008 R2へのアップグレード作業について紹介する。