ハードウェアのコモディティ化により、相対的にソフトウェアの寿命が延びている。ハードの寿命が縮んできた要因としては以下のような理由があるだろう。
- 半導体微細化の着実な進歩による、処理スピード上昇
- 半導体微細化の着実な進歩による、機能の拡充
- 標準規格の普及による、国際分業の進展と最終製品の低コスト化
- 最終製品の低価格化による、単体ハードの信頼性低下トレンド
- OS商売のライフサイクルに伴う、ハード更新圧力
つまり、ハードはより使い捨てに近いパーツとなり、使いたいソフトウェアを別のハードに移行することが身近な問題となった。
フリーズドライのような仮想化テクノロジー
簡単に言えば、仮想化技術は、ソフトを別のハードに持っていっても何も変更せずに使い続けるための技術だ。
セットアップの手間を一度だけとれば、ずっとそのまま使えるという点が最大のメリットだろう。
作る際に瞬時に冷凍したら食べる際に元に戻せるフリーズドライ食品のようなものであるべきだ。
もっと言えばソフトウェアにも中食が欲しい
フリーズドライできるということは、作る人と食べる人を分けることも可能になるということだ。
システムベンダーに作ってもらうのが外食だとすると、フリーズドライの仮想化アプライアンスを手に入れて、加熱と仕上げだけユーザー側で行う"中食"文化がソフトウェアにも欲しいと思う。
アプリケーションに対するニーズは、多彩な選択肢があることと、すぐに使い始められることだろう。
仮想化技術でなすべきこと
現時点では、VM(仮想マシン)のアプライアンスは技術的に可能だが、広く普及はしていない。
VM自体のオーバーヘッド懸念や、多数のハードにインストールする際の効率の悪さ(VMイメージのファイルサイズが大きい)がネックになっているのかもしれない。
最近はこのようなオーバーヘッドを減らすアプローチとしてコンテナ仮想化も注目されてきている。
ただ、VMだろうとコンテナだろうと、目指すべきことは設定や管理の手間を極力減らしてどのハードでも使えるようにすることだ。
ユーザーの視点から見ると、ベースのイメージとして良いものが選べるようになっているか、仮想化技術の運用そのものに追加の手間があまりかからないようになっているか、という点が重要だ。