2010年1月16日土曜日

クラウドコンピューティングに思う(3)
-ソフトウェアが変わる-

私見、その3。

今回はクラウド(物理から論理へ)移行に伴うソフトウェアの変化について考えてみたい。まず、クラウド以前の話として、仮想化技術が登場する前までは、我々の視点は常に物理的なものに注がれていた。サーバーボックスがあってOSを乗せ、ミドルウェアをインストールさせ、アプリケーションを走らせる。勿論、ソフトウェアは目に見えないが、ひとつの箱の中に実在するかのごとく扱ってきた。搭載するソフトウェアはCD(ないしダウンロード)で購入し、“Product Key”を打ち込んでライセンスとした。つまり、CDとProduct Keyを物理的なボックスのために購入してきた。

しかし、仮想化技術を施したクラウドコンピューティングが登場し、サーバーボックスが仮想マシンとなって論理化され、ネットワーク上に消えて見えなくなった。物理的に見えていたものが論理的になった瞬間、幾つもの問題が発生した。中央にある大型サーバーが無数の仮想マシンの塊に化けてしまった。とたんに、システム運用管理はこれまでの方法で大丈夫か、物理サーバーと論理サーバーは同じことが出来るのか、ソフトウェアはどうやってインストールするのか、バックアップはどうか、セキュリティーはどうするか、などなど。


-OSが変わる!-


簡単な話、OSだけ見ても、LinuxもWindowsもこのような状況は想定外だ。
これまでOSとは、物理マシンを前提に、上に乗るソフトウェアからハードウェアを隠蔽し、そのソフトウェアに必要なリソースを割り当て(Resource Allocation)ることが主な仕事だった。しかし、クラウドではOSの上に仮想化ソフトが乗って、無数の仮想マシンが作られ、その上にまたOSが乗り、そしてアプリケーションが動く。この要となる仮想化技術“Hypervisor”は、その名の通り、論理的にOSの上位に位置する。つまりHypervisorは、OSからハードウェアを隠蔽してリソースを再配分する。ひとつ位が上がったわけだ。このHypervisor型のWindowsやLinuxは中央にある大型サーバーにだけ必要で、仮想マシン上では必要がなく、今までのもので構わない。
ここまでが現実である。

ただ、このままで良いのだろうか。
細分化された仮想マシンにこれまでと同じOSが乗るだけでリソースの無駄使いだ。
これは誰にでもイメージできる。つまり、物理マシン用に開発したOSは、仮想マシンに転用は出来るが最適ではない。物理と論理の世界を始めから考慮にいれたOSが要る。例えば、データセンターの物理的な大型サーバーを制御するものを“Data Center OS”とし、仮想マシンにはそのサブセットとなる“Sub-OS”を用意する。両者は連携してクラウドで必要な物理マシンと仮想マシンを制御する。連携のためには何がしかの“Messaging”が要るし、論理化のためには“Object”な思考は欠かせない。このような考え方は以前から“Distributed OS”として研究されており、今、この分野が脚光を浴びはじめた。現にMicrosoftは“Midori”と呼ばれる次世代OS開発プロジェクトを進めている。MidoriはMulti-CoreやHyper-Vを用いた多重処理(Concurrency)向けOSとして、多くの期待が込められている。

クライアントOSも変わる。
Windows 7の発売時にWindows Server 2008との使い分けが話題になったが
仮想マシンを作り出すデータセンター用OSと仮想マシンOSの機能差だけでなく、クライアントOSにも変化が見える。Web全盛となった今日、クライアントOSも従来型OSとGoogle Chrome OSが示す直截的で軽量なブラウジング用OSに区分され始めた。この傾向はNetbookなどへの適用だけでなく、クラウドでも効果的だ。ユーザーの多くはクラウド上のアプリケーションをPCやスマートフォンなどからブラウズすれば十分だからだ。

-ソフトウェアも変わる!-

勿論、このような状況下でも、一足飛びにOSが変わるわけではない。
エンタープライズITをクラウド化するためには、新旧並存を前提とする段階的な移行が欠かせないし、新しいOSの開発と普及には多くの労力と長い年月が要る。この視点から、今、注目されているのがJeOS(Just enough OS)だ。JeOSは、当初、ソフトウェア・アプライアンス(Software Appliance)向けOSとして登場し、現在、Ubuntu JeOS、Red Hat Appliance OS、SUSE JeOS、LimeJeos(openSUSE)、Oracle Enterprise Linux JeOS (OEL JeOS)などが出揃っている。このJeOSを仮想マシンに適用すれば、使い勝手が向上出来る。例えば、OSだけでなく、ミドルウェアやアプリケーションをアプライアンス化して仮想マシンのコンフィグレーター(Virtual Machine Configurator)でドラッグ&ドロップしてシステム構成を組み上げる。
これらのソフトウェア・アプライアンスはライブラリーとして関連するベンダーやプロバイダーが用意すればよい。現在JeOSベンダーだけでなく、仮想化技術ベンダーもアプライアンス作成ツール(Ubuntu Studio、VMware Studio、SUSE Studio)などを提供し、ライブラリーの整備に余念がない。この方法が定着すれば、仮想マシン上のソフトウェアは面倒なインストールから開放される。これまで身近な物理サーバーにインストールする場合でも大きなものは数時間を要した。同じ事をインターネット上の仮想マシンに向け、手元のCDドライブなどから実行しようとすれば、その数倍の時間がかかる。主要なソフトウェアがアプライアンス化されれば、状況は一変する。加えて、ライセンス戦略も変えることが出来る。既に一部のISVでは、アプライアンス化促進のために、利用期限を設定した無償のトライアルサービスを提供したり、ユティリティー課金を採用し始めたところもある。

-システム運用も変わる!-

システム運用の世界も変わる。
この分野では、物理的なデータセンターと論理的な仮想マシンを分けて扱うことがほぼ常識化された。センター側のData Center OSと仮想化ソフトウェアがAPIを持って、これと連動するシステム運用管理が整備され、データセンター内の自動システム運用管理(Automated System Administration)が定着し始めるだろう。一方、仮想マシンを管理するのは利用ユーザーだ。そのための方法は何処を見てもポータルが本命である。ク ラウドサービス・プロバイダーなどが提供するポータルを利用し、ユーザーはハードウェアやソフトウェアの構成、パフォーマンス、課金情報などを把握管理する。


以上がソフトウェアに関する将来展望だが、勿論、全てがこうなるわけではない。
OSについては時間がかかるが、サーバー用Data Center OSと連携するSub-OSの2つに分化して進み、JeOSはその下敷きとなって融合するだろう。またソフトウェアのアプライアンス化が進めば、新たに開発するアプリケーションや軽量のWebアプリケーション移行などは容易となる。しかし、大型で複雑なアプリケーションはオンプレミスとのスイッチバックや連携もあって、従来方式の利用が望まれる。
こうして、利用形態の新旧が並存するクラウドの第2ラウンドが始まる。