クラウドプラットフォームはAmazonやIBM、Googleといったさまざまなベンダーから提供されているが、筆者は「Windows Azure Platform」(以下、Azure)が最善の選択肢となるのではないかと考えている。
多くのテクノロジ専門家が、2010年はコンピューティングにおける新たな時代の幕開けとなると考えている。PCコンピューティングの初期には、すべてのアプリケーションが個々のシステムのローカルハードディスクからロード、実行されていた(そしてデータもローカルハードディスクに格納されていた)。時代が進むにつれ、企業は中央での集中管理や統制のメリットを認め、データをローカルネットワーク上のサーバに格納し、多くのアプリケーションもそういったサーバ上で実行させるというモデルに移行していった。この次の段階は、アプリケーションやデータストレージを、エンドユーザーからさらに遠くにある「クラウド」内に移動する、つまりすべてをリモートサーバ上に配置し、インターネット経由でアクセスするというものになるだろう。こういったシステム環境に移行することで、ユーザーはインターネットに接続されているマシンさえあれば、それが性能の低い(そして低価格の)ネットブックであっても、どこからでもプログラムやデータにアクセスできるようになるわけである。
ユーザーがクラウドコンピューティングを利用するには、クラウド内の「どこか」に、リモートアプリケーションを実行できるコンピューティングプラットフォームが存在していなければならない。しかし、こういったプラットフォームは、AmazonやIBM、Googleといったさまざまなベンダーから数多く提供されている。
AzureはMicrosoftが提供しているクラウドベースのアプリケーションプラットフォームであり、企業はこのプラットフォームを利用することで、アプリケーションの開発や管理を行い、自社以外の場所でホスティングを行うことが可能になる。Azureはクラウドオペレーティングシステムや、クラウドにおけるデータベースサービスを提供するSQL Azure、.NETサービスといった複数のコンポーネントから構成されている。なお、AzureはMicrosoftのデータセンター内に設置されたコンピュータ上で稼働している。本記事では、クラウドコンピューティングプラットフォームとしてAzureを選択する理由を10個紹介する。
#1:Windowsベースである
AzureはWindowsがベースになっているため、ユーザーはWindowsアプリケーションの開発に使用してきたプログラミング言語(Visual BasicやC++、C#)を用いてアプリケーションの開発を行うことができる。また、Visual StudioやASP.NETといった使い慣れたツールや、馴染みのあるその他のWindowsテクノロジも使用することができる。このことは企業にとって、Azureプラットフォーム上でのアプリケーション開発スキルを持った開発者を容易に探し出すことができるということを意味している。さらに、Azure環境は一般的なWindows環境とよく似ているため、既存のWindowsアプリケーションをクラウド版として開発することも容易になるはずだ。
#2:Windows仮想マシンが64ビット版となっている
Azure上でアプリケーションを実行する際、64ビットのWindows Server 2008上で、該当アプリケーションのインスタンス毎に仮想マシンが実行されるようになっている。こういった仮想化を実現するハイパーバイザは、クラウド用として開発されたものである。ユーザーがアプリケーションを開発する際には、アプリケーション毎に独立した仮想マシン上で稼働するWebロールインスタンスやWorkerロールインスタンスを用いることになるため、自らで仮想マシンを用意したり、OSの管理や保守を行ったりする必要がない。なお、各アプリケーションは、それぞれの仮想マシン上で動作しているWindows Azureエージェントを介して他のAzureコンポーネントと連携するようになっている。ユーザーはAzureを利用することで、ハードウェアを気にすることなくコードに注力できるようになるわけだ。