Enterprise Watch
バックナンバー

Microsoftの戦略的クラウド「Azure(アジュール)」を見る【最終回】

Azureのためのフレームワーク「Live Services」

Live Servicesで実現できること

Live Servicesを使えば、さまざまなデバイスを連携した超接続型サービスが構築できる
 Live Servicesは、Microsoftがインターネットで提供しているWindows LiveのサービスをAzureで利用するためのフレームワークだ。

 現在、Windows Liveは、ユーザー認証からメールサービス、インスタントメッセンジャーなど、多岐にわたったサービスを提供している。これらのサービスをAzureから利用できるだけでなく、現在運用されているWindows Liveサービスのデータにもアクセスできるようにする。

 Live Servicesの大きな役割は、Windows LiveサービスをAzure上で利用できるようにするだけでなく、クラウドを取り巻く、さまざまなデバイスと連携して、サービスを提供するためのインフラなのだ。

 ユーザー自身の環境を考えてみると、携帯電話やNetBookなどのPCは持ち歩いているし、家に帰ればデスクトップPCがあったり、ホームサーバーがあったり、NASにビデオを録画できる液晶テレビがあったりと、さまざまなデバイスに取り囲まれて生活している。しかし、今現在、これらのデバイス間では、データを自由に引き出したり、同期したりすることはできない。

 クラウドでうまく連動できるようにしようとすれば、さまざまなデバイスからのデータをネットの向こう側のサーバーに置いて、一元的に管理し、すべてのデバイスはネット接続されているときだけ使えるといった考え方になる。

 しかし、すべてをクラウド側のサーバーだけで片付けるわけにはいかない。現実は、個人を取り巻くさまざまなデバイスにデータは偏在していたり、どういった状況でもネットワーク接続が確保されているわけでもない。こういった環境を考えれば、クラウドにデータを一元的に集約するというモデルではなく、クラウドをハブとしてさまざまなデバイス上にあるデータを同期したり、ユーザーのステータス(デスクトップPCを使っているのか、外出中で携帯電話を持っているのかなど)をチェックして、必要なメッセージを送信したりする超接続型のシステムが最も使いやすい。

 超接続型アプリケーションを構築するには、開発者がさまざまなデバイスとの同期やステータスなどを一つ一つプログラミングするようでは、あまりに開発効率が悪い。また、新しいデバイスが出てくるだびに、サポートしなくてはならない。そこで、Azureでは、Microsoftが面倒なネットワークに関するインフラ部分をLive Servicesでサポートしている。


 Live Servicesは、Azure側のモジュールだけでなく、クライアントやデバイスにインストールするLive Frameworkが用意されている。Live Frameworkにより、さまざまなデバイスがクラウド内で連携して動作することができる。

 Live Servicesのベースになっているのが、昨年夏に公開されたLive Meshだ。Live Meshでは、ユーザーのクライアントPCで共有すると、指定されたフォルダの内容をクラウドに送信して、MacやWindows Mobile端末などのデバイスと共有したり、同期したりすることができる。

 Live Meshの最大の特徴は、ファイルの共有や同期だけでなく、アプリケーションを共有することもできる点だ。Live MeshにはLive Desktopというクラウドにある仮想デスクトップが用意されている(Webブラウザでアクセス可能)。このLive Desktop上にアプリケーションをインストールすれば、リモートPCで動作しているアプリケーションをコントロールすることができる。


 昨年開催されたPDC 2008では、Windows Media CenterをLive Servicesに接続するための拡張モジュールを開発して、さまざまなデバイスから家のWindows Media Centerのテレビガイドを見ながら、番組予約を行うことができる。それも、Windows Mobileなどの携帯電話やMacから可能だ。また、ネットワークの帯域が十分にあれば、外出中の携帯電話などで録画されている番組を見ることもできる。1月に日本で開催されたTechDays 2009では、米国にあるWindows Media Centerにアクセスして、日本から録画予約を行うデモも公開された。

 Live Servicesは、Microsoftが提唱しているSoftware+Servicesを実現するための重要なフレームワークといえる。


Live Servicesで提供されているWindows Liveサービス

 現在、Live Servicesでは、大きく5つの分野にWindows Liveサービスを分けて、フレームワーク上でサービスを提供している。

 認証分野では、ユーザー認証を行っているWindows Live ID。PDC 2008では、Open IDとの連携も発表されている。また、Azureには、オンプレミスのActive Directoryなどと連携するためのサービスも提供されている。

 ユーザーデータ分野では、ユーザーリストなどを登録しておくWindows Live Contacts、写真共有Photosギャラリー、ストレージなどがある。

 ノーティフィケーション&メッセージングは、Windows Live Messenger、アラート、エージェントなどがある。

 インフラストラクチャとしては、Admin Center、Silverlightストリーミングなどがある。

 ファインド&ロケーションには、Live Search、Virtual Earth、Map Pointなどがある。

 このほか、Microsoftがオンライン上で提供している広告プラットフォームAd Center、Live Spaceなどに対してのAPIも提供されている。

 将来的には、Windows Liveで提供されているすべてのサービスに対してのAPIがLive Servicesで提供されることになるだろう。例えば、Windows Live MailやWindows Live Calendarなどもサポートされるだろう。

 また、現状では明言されていないOffice Live WorkSpace、Office Live Small BusinessなどのOffice Live関連のサービスもAPIとして提供されることになるだろう。さらに、将来的にはOffice 14では、WebベースのOfficeソフト(WordやExcelなど)もLive ServicesとしてAPIが提供されるかもしれない。


Live Servicesの詳細

 超接続型サービスを実現するために、MicrosoftではLive Frameworkを開発している。Live Frameworkは、Live Servicesを実現するための実際のフレームワークとして提供されている。つまり、複雑なファイルの共有や同期、ユーザーステータスの確認など、さまざまなデバイスでクラウドを利用する超接続型サービスを実現するためのインフラ部分をLive Frameworkがサポートしている。開発者は、Live Frameworkを利用することで、複数のデバイスにわたるユーザーステータスなど、クラウドに関連する複雑なインフラ部分を気にすることなく新しいユーザーサービスの開発を行うことができる。

 Live Frameworkは、クラウド側にあるだけでなく、超接続型サービスを実現するために、各デバイスにもインストールされる(Live Framework Client)。現在、クライアントモジュールは、Windowsだけでなく、Windows Mobile、Macなど3つのOS上でLive Frameworkの開発が進められている。将来的には、Linuxなどほかのプラットフォームへの移植も行われるだろう。


Live Frameworkの構成図
Live Frameworkの詳細
Live Frameworkは、HTTPでアクセスできるので、Visual Studio以外の開発環境が利用できる

 Live Frameworkは、Atom、JSON、POX、RSS、バイナリXMLなどのフォーマットで利用できる。このため、Microsoftの開発環境Visual Studio以外の、Ruby、Perl、Pythonなど、さまざまな言語から利用することができる。

 Live Frameworkは、Core(認証、デバイスMesh、アプリケーションなど)、Data(フォルダやニュース、写真、コンタクトリストなどのユーザーMesh、マップや検索などのSystem)、Communication(P2P、ノーティフィケーション、ステータス)、App Model(カタログ、ホスティング、Meshアプリケーションなど)の機能が用意されている。

 さらに、これらの機能を下位層でサポートするのがLive Operating Environment(LOE)だ。LOEが、超接続型サービスにまつわる複雑なインフラをサポートしている。例えば、ユーザーが朝、通勤電車に乗ったときに、急ぎのメールを携帯電話に回したりするサービスのインフラがLOEで実現されている。

 LOEは、クライアント側も、クラウド側も、まったく同じモデルが採用されているため、開発者は同じアーキテクチャのプログラミングが利用できる。

 Live Servicesに関しては、昨年米国で開催されたPDC 2008(http://microsoftpdc.com/)や今年日本で開催されたTechDays 2009(http://www.microsoft.com/japan/powerpro/techdays/)などのサイトで、資料とセッションのストリーミングが提供されている。

 さらに、より詳細を知りたい開発者には、Live ServicesのサイトにあるLive Services Jumpstart(http://dev.live.com/training/)にある資料とセッションビデオを参照してほしい。


Azureで提供されているほかのサービス

 Azureでは、SharePoint ServicesやDynamics CRM Servicesというサービスも提供される予定だ。

 SharePoint ServicesとDynamics CRM Servicesは、ドキュメント管理のSharePointやCRMソフトのDynamics CRMがAzure上のサービスになっている。開発者は、これらのサービスをモジュールとして利用して、新しいサービスを構築することもできる。さらに、Microsoftでは、自社で提供するSaaS型サービスのSharePoint Online、Dynamics CRM Onlineのインフラとして利用する予定だ。ただし、現在提供されているMicrosoft Onlineは、Azureベースではない。このため、将来的には、Microsoft Onlineとして提供されるサービスのすべては、Azureベースに移行するだろう。

 このような環境になれば、Microsoftのさまざまなソフトウェアを開発者が必要なサービスだけAzure上で切り分けて利用できるようになる。これにより、開発者は、同じようなサービスを自分で作るよりも、必要な部分をAzureのサービスとして利用し、ユーザーが求める新たなサービスやアプリケーションの開発に主眼を置くことができるようになる。

 現在、Azureでは、SharePoint ServicesやDynamics CRM Servicesは、CTPでテストも開始されていない。このあたりは、今年の11月17日から開催されるPDC 2009において明らかになるのだろう。


Azureをテストするには

 実際にAzureをテストするには、2つの方法が用意されている。Visual StudioにAzure SDKをインストールして、ローカルPCで仮想的に動作をチェックする方法と、実際にAzure上にVisual Studioで開発したサービスを展開する方法がある。

 基本的には、Visual Studioでコーディングして、デバッグし、動作するようになれば、Azure上に展開して、サービスとしての動きを確認することになる。

 このあたりの開発環境については、Azureサイト(http://www.microsoft.com/azure/)に詳細が掲載されている。また、Azureは、Microsoftに開発環境や開発言語以外からも利用できるが、β版にも届いていないCTPの状態では、不都合が少ないVisual Studioベースで開発を行うのが最も良い方法だろう。

 Visual Studioも、Express版としてVisual C#(Workerロールの開発)やWeb Developer(Webロールの開発)などが無料提供されているため、もしVisual Studioを持っていないユーザーは、これらの無料ツールを使ってテストしてみてもいいだろう。

 現在のCTPでは、Windows Azure(クラウドOS)、.NET Services、SQL Services、Live Servicesだけが提供されている。これらのサービスに関しても、徐々に機能拡張がされているため、アクセス方法が変更されたりすることもある。今年の11月に開催されるPDC 2009までには、さまざまなサービスがフィックスするだろう。


 今回Azureの中身に関して、いろいろ説明してきたが、機能よりも大きなインパクトがあるのは、今後開発者はAzureをプラットフォームとして、新たなサービスを開発していくということにある。また、Azure自体は、インターネット標準のAPIが利用されているため、FacebookやTwitterなどのインターネットサービスを取り込んで、新しいサービスを開発することができるだろう。ここまでくれば、単なるWebサービスのマッシュアップではなく、より高度なサービスといえる。それも、PCだけでなく、携帯電話やデジカメなど個人が持つさまざまなデバイスを巻き込んでいく。

 企業での利用を考えれば、新たなインターネットサービスを立ち上げるときに、Azureを利用すれば、ハードウェアなどへの投資やデータセンターの運用といったことを考えなくてもいい。このため、すぐにでもサービスを開始することができる。これは、規模の小さい企業が何億人ものユーザーを相手にするサービスを作り上げることもできる(極論すれば、開発者一人でも新しいサービスを作り、運用できる)。

 Azureが、Microsoftが思い描くように提供できれば、ITの世界は大きく様変わりする可能性が高い。日本の環境を考えれば、携帯電話や携帯ゲーム機の普及、さらにWi-FiやWiMAXなどの高速データ通信環境の整備など、Azure上で新たなサービスを提供できる余地は非常に高い。

 例えば、携帯電話やデジカメに入っているGPS機能とカメラ機能を合わせれば、撮影した写真がどこで撮られたのか地図にマッピングして表示することもできるだろう。また、日本の家電業界が何度もチャレンジしている家電製品を接続したホームネットワークも、インターネットと組み合わせれば、本格的に普及するかもしれない。

 Azureなら、日本国内をサービスのテスト環境と考え、高度なサービスを構築しても、すぐに全世界に展開することもできるだろう。そういった意味では、日本こそ、こういったクラウドサービスを使って、新たなサービスを世界中に提供できる可能性がある。


関連記事
  ・ Microsoftの戦略的クラウド「Azure(アジュール)」を見る【第一回】(2009/03/23)
  ・ Microsoftの戦略的クラウド「Azure(アジュール)」を見る【第二回】(2009/03/24)
  ・ Microsoftの戦略的クラウド「Azure(アジュール)」を見る【第三回】(2009/03/25)
  ・ Microsoftの戦略的クラウド「Azure(アジュール)」を見る【第四回】(2009/03/26)


( 山本 雅史 )
2009/03/27 08:59

Enterprise Watch ホームページ
Copyright (c) 2009 Impress Watch Corporation, an Impress Group company. All rights reserved.