日本時間の6月8日早朝にWindows Azureの新サービス(通称:Spring Release)がアナウンスされました。
新たに提供された機能に関しては、多くの情報が既に存在しますので、そちらをご参照ください・・・と他力本願になっていたりしますが、すこし整理しなければならない項目があることも確かです。
それは、Webサイトに仮想マシン・・・・と、Webアプリケーションをホスティングする環境の選択肢が増え、「いったいどれを使えば?」と思ってしまう方もいらっしゃるのではないか・・・ということ。
さすがにこれに関しては「お好みでどうぞ」とも言い切れない点があります。
そんな中、先日米国で開催されたTech・Ed North Americaで実施されたセッション「AZR 210 Windows Azure Web Sites」中に、使い分けの方向性を示す内容が含まれておりました。
もちろん、現時点ではWebサイトおよび仮想マシンはプレビューであるため、様々な制約が存在しますので、本格的に利用する目的でこれらのサービスを利用することがお勧めいたしません。
しかし、正式なサービス提供が開始されれば、当然ながら業務利用も可能です。
その際に、「どのサービスをチョイスすべきか?」という点に言及したいと思います。
セッション中では利用されるシナリオによる使い分けが提唱されています。
HTML 5やNode.jsなどを用いて先進的なWebアプリケーション(英語では「Modern Web Applications」と表記)を実行する環境としてWebサイトを推奨しています。事実、サーバ内部で多階層構成を必要としない場合は、Webアプリケーションの方が優れているといえます。
また、継続的デリバリに代表される継続的な開発を実現したいような場合は、Webサイトの方が向いています。GitやTeam Foundation Server、WebMatrixなどから迅速にデリバリが実現できる環境がWebサイトで提供されているため、開発された成果物を迅速に展開することが可能です。
また、著名なCMSを活用したサイトを迅速にホストしたい場合もWebサイトを選択するとよいでしょう。
では、クラウドサービスはどのように使うべきでしょうか?
セッション中でも「多階層のアプリケーションはクラウドサービスを利用する。」と言われています。また、Windows Azureのスケーラビリティの恩恵を最大限に享受できる選択肢はクラウドサービスであるともいえます。
これは、WebロールだけでなくWorkerロールを活用し、付加に応じて細かにリソースを配分できることにあります。
アプリケーションの堅牢性もクラウドサービスの方が優れているといってもよいでしょう。
WebロールおよびWorkerロールのインスタンスのインスタンス数やインスタンスサイズを細かく指定することができるため、処理能力の調整が容易になるだけでなく、アプリケーションの堅牢性をUpすることも可能です。また、Traffic Managerなどを併用することで、データセンタ全体がダウンした場合でも、他のデータセンタにデプロイされたアプリケーションを用いてサービスの提供を継続することも可能です。
また、リモートデスクトップによる細かな管理を実現したい場合や、管理者権限昇格を伴うアプリケーションを実行する場合はクラウドサービスの選択が必要となります。同時に、Windows Azure Connectを利用したり、Windows Azureで提供されるキャッシュを利用したりする場合もクラウドサービスを選択します。
一方、Webサイトやクラウドサービスのようなプラットフォーム・レディの環境ではなく、独自の環境を構築することができるというメリットがあります。そのため、特定のミドルウェアに依存したアプリケーションをクラウド上に配置したい場合などに利用可能です。特にLAMPクラスタで構成されているようなアプリケーションに対してクラウドの提供するスケールメリットを享受したい場合等に適用することができます。
また、既存のクラウドサービスと連携してハイブリッド型のアーキテクチャを採用していたアプリケーションのオンプレミス側をクラウドに持ち出す場合等にも利用可能です。
このようにケースバイケースでWindows Azureの各サービスの使い分けをすることをお勧めします。
どうしてもIaaSやWebサイトに目が行きがちですが、クラウドサービスの提供するPaaS型サービスがWindows Azureの看板サービスであることに変わりはなさそうです。
Comments are closed here.