2009年12月28日月曜日

Microsoftの新たな挑戦App-VとXenocodeの試み   
-Application Streaming(2)-

前回はアプリケーション・ストリーミングとVDIに至る仮想化技術について述べた。
2回目の今回はアプリケーションの仮想化に挑む新たな挑戦を紹介しよう。


◆ App-VでOffice 2010をクラウド化するMicrosoft

Microsoftの経営陣にとって、今大事なことはビジネスモデルの改革である。
クラウドの登場でソフトウェアライセンスを基本としたこれまでのビジネスモデルは変更を余儀なくされるだろう。クラウドへの移行でどの程度がユティリティー (利用料払い)に変わるのか、同社は全体のビジネスモデルをどのように将来に向けていくのだろう。そして、その結果はMicrosoftだけに留まらず、広く、コンピューター産業全体に影響を及ぼす。

ここにひとつの試みがある。
アプリケーションストリーミング技術App-VをOffice 2010に適用しようというものだ。同社は、この実験によって市場の反応を分析し、その中から今後の戦略を導き出そうと考えているように見える。多分、来年、市場に現れるOffice 2010は、これまで発表されているPC版とWeb版、そしてストリーミング版が追加されて3種類となるだろう。PC版はこれまでのように、ユーザーはCDかダウンロード版を購入し、ソフトウェアライセンスによる利用となる。Web版(正式名:Office 2010 Web Applications)は、Windows Live IDを持っている個人ユーザー向けに基本機能を無料提供し、ブラウザーベースのWord、PowerPoint、Excelの3つのアプリケーションとセキュリティーサービスOneNoteにアクセス出来る。


ここで少し、App-Vについて振り返っておこう。
App-Vは2007年に同社が買収したSoftricityのSoftGridが原形だ。
まず前回述べたように利用するソフトウェアをカプセル化したストリーミングに直す。
これを「SoftGrid Sequencer(現製品名:Microsoft Application Virtualization Sequencer)」と言い、ストリーミング化されたソフトウェアを配信サーバー「SoftGrid Virtualization Application Server(同Microsoft Virtualization Application Server)」上に置き、クライアントPCからの要求で配信する。クライアント側の実行エンジンは「SoftGrid Client(同Microsoft Application Virtualization Client)」という。補足すると、Sequencerではアプリケーション分割だけでなく、アプリケーションの実行に関するOSとの関連情報(DLLやCOM、Registry、Scriptなど)なども固有のものとして作り出す。クライアントPCに送られたこれらの情報は、実行エンジンがOSと連携させ、その上でアプリケーションが走る仕組みとなる。

話を戻し、問題のApp-Vを適用するサービスを仮にOficce 2010 CTRとする。
CTRとはClick to Runの略で、例えばCTR版のWordアイコンをクリック(Click)するとWordがApp-V技術でストリーミングとなってユーザーPCに送られて実行(Run)される。CTRはNetbookなどのように十分な容量がないがフル機能を望むユーザーにはうってつけだ。CTRでは、一度、ストリーミングをダウンロードしてしまえば、インストールしてあるかのように再使用することができる。この実験はTechnical Preview Programとして、限定テスターを対象に今年7月から始まっており、その結果次第で
リリース計画が決まる見通しだ。

-Microsoft Desktop Optimization Pack(MDOP)-
Microsoftにとって、デスクトップ仮想化分野の製品は複数あり、それらは総合製品「Desktop Optimization Pack(MDOP)」となって、大企業向けにボリュームライセンスで提供されている。このMDOPの核となる仮想化技術は、①アプリケーション仮想化(Application Virtualization)のApp-Vと、②デスクトップ仮想化のMED-V (Microsoft Enterprise Desktop Virtualization)だ。ここで、MED-VはVirtual PCを用いてWindows NTなどレガシーなアプリケーションをOSごと仮想化して利用するツールなので、クラウドではApp-Vが主役になることははっきりしている。

以上のような背景から、同社がクラウドの波に乗り、MDOP普及の要として、App-Vを用いたアプリケーションにOffice 2010を選ぼうとしていることは間違いないだろう。これが成功すれば、これまでVMwareやXenに後塵を拝してきた仮想化技術で一矢を報い、新たな仮想化市場をリードし、さらにライセンスモデルを変えることも出来る。Microsoftが挑戦する新たな試み「Office 2010 CTR」が企業向けプライベートクラウドで成功すれば、その先には同社のAzureから提供される可能性も秘めている。


◆ Xenocodeのアプリケーション仮想化とは・・・

Xenocodeの創業は2003年、Microsoftからのエンジニアが中心となって同じシアトルで起業した。CEOでFounderは日本人のKenji Obata氏だ。Xenocodeの仮想化はアプリケーション・ストリーミング技術の1種だが、他との決定的な違いがある。
簡単にいうと、クライアントには前もって実行エンジンのインストールの必要ない。Xenocodeの場合は、実行エンジンを「Xonocode Virtual OS Kernel」と言い、
非常に小型で、このエンジンも分割アプリケーションと同様にストリーミングとして送られてくる。



実際の利用にあたっては「Xenocode Virtual Application Studio」が提供される。これを利用することで、
Virtual OS Kernelを含めたアプリケーションのカプセル化が実行できるだけでなく、利用期限(Software Expiration)設定なども可能となる。出来上がったストリーミングは、同社のSpoon Streaming Technologyによって、Windows 7を含めたWindowsマルチプラットフォーム対応となり、さらに配信では、企業内に設置されている既存のMicrosoft System Management ServerやAvocent LANDesk、Symantec Altiris/AppStream、Novell ZENWorks、CA Unicenterなどがそのまま利用できる。また、USBデバイスに乗せて携行して実行することも可能だ。

さて、Xenocodeのターゲットユーザーだが、一般の企業だけではない。
もうひとつの狙いはISV(Independent Software Vendor)だ。中でも新しいタイプのソフトウェア・パブリッシャーである。このパブリッシャーにXenocodeを使ってもらい、彼等のソフトウェアをCDやインターネット・ダウンロード販売だけでなく、ストリーミングを使って、より簡便に提供しようという作戦だ。つまり、クラウドからソフトウェアを提供し、ユティリティー(利用料金払い)のサービスを行う。この目的のために、Virtual Application Studioの整備を鋭意進めている。

配信技術のSpoon Streaming Technologyを用いた同社専用サイトSpoon.netでは、Browser Sandboxとして、Microsoft Internet Explorer 6/7/8、Mozilla Firefox2/3/3.5、Apple Safari3/4(下図上)、Opera 9/10(下図下)、Google Chromeが用意され、簡単に誰でも試すことが出来る。


ゲーム(下図)も沢山用意され、使ってみたいゲーム中央の電源マークをクリックすればダウンロードが始まる。Music PlayerではQuick Time、Songbird、PANDORA、JetAudioなど、各種Video Player、さらにTwitterやGoogle Talk、Skypeだって利用できる。このようなXenocodeの狙いが当たれば、アプリケーション・ストリーミングを使って、時代がまた、大きく動くことになる。

2009年12月25日金曜日

アプリケーションの仮想化
-Application Streming(1)-

アプリケーションの仮想化が賑やかになってきた。
特にオフィス(Office Productivity)分野では、クラウドの本命になる予感がする。
そこで、今回はアプリケーション・ストリーミングと関連するデスクトップの仮想化技術についてまとめてみた。

アプリケーションのパッケージ化はLinuxで普及しているRPM(Red Hat Programing Manager)やDebianのdeb(Debian Software Package)、WindowsではMSI(Microsoft Windows Installer)が一般的だ。MSIを例にとると、MSIはWindows Installerでインストールされるプログラムファイル形式であり、幾つかに分割された実行ファイル(.EXE)以外に、DLLやCOM、Registry、Script、さらにはSystem Requirement、Version情報などが含まれている。

ある調査によると我々が通常デスクトップで使用するアプリケーションではソフトウェア全体の10~30%程度があれば十分であり、残りは例外処理など特殊なものだという。即ち、良く使う部分を切り出し、最初にこの部分の塊を送ればクライアントでの処理は事足りる。後は必要に応じて、小出しに送ればよいわけだ。このためベンダー各社は、ソフトウェアの分割方式や配信時の圧縮技術、さらにはクライアントでの実行エンジンなどの整備に力を入れ、特許などを競っている。

アプリケーション仮想化の手順

アプリケーション・ストリーミング市場にある製品は、多少の差はあっても実行方法の基本は同じだ。まず、クライアントで使うソフトウェアをカプセル化の概念を用いて事前にストリーミング加工を施す。つまり、動画配信時と同じようにソフトウェアを幾つかに分割し、円滑に流れるようにするわけである。この際、圧縮も行われ、分割と圧縮を「カプセル化」と呼ぶ。この処理済みのソフトウェア・ストリーミングを専用配信サーバーに格納し、クライアントPCにある実行エンジンからのリクエストによって、カプセル化された ソフトウェアを配信する。専用配信サーバーではまた、システム管理者がどのユーザーがどのアプリケーションを利用可能かなどのポリシーを設定する。

現在、この市場には大手ITベンダーから以下のような製品が出荷されている。
  1. XenApp 5.0・・・Citrixが2006年に買収したArdenceをベースに整備
  2. App-V 4.5・・・Microsoftが2007年買収したSoftricityのSoftGridベース
  3. ThinApp 4.0・・・VMwareが2008年始めに買収したThinstalベース
  4. Symantec SVS Pro 2.1・・・Symantecが2007年に買収したAltirisのSVS(Software Virtualization Solution)をベースに2008年買収のAppStream技術を統合して製品化

◆ MetaFrameからVDI(Virtual Desktop Infrastructure)まで

ここで全体理解のために、仮想デスクトップの道のりについて振り返ってみよう。
古くは1995年にMicrosoftとCitrix、Wyseの3社で始めたWBT(Windows-based Terminal)開発があり、その後、CtrixはWindowsリソース管理を擬似仮想化に見立て、Thin ClientとWindowsサーバーのアプリケーションを連動させるMetaFrameを開発。MetaFrameはプレゼンテーション仮想化技術(Virtualized Presentation Technology)だが、ネットワーク上の圧縮技術ICA(Integrated Communication Architecture)に特徴を持って、一躍、トップベンダーに躍り出た。その後、1997年には、デスクトップのマザーボードを中央の専用サーバーに移設するPCブレードシステムがClearCubeから登場した。この方式は物理的にマザーボードやHDDをクライアントPCから外して中央ブレードサーバーに移し変え、クライアントはThin Clientとするハードウェア集約技術(Hardware Consolidation Technology)となって、特に クライアントPCのソフトウェア維持保守コスト削減に大きな効果をあげた。MetaFrameがwindows上のアプリケーション選択であるのに対し、PCブレードはOSも含めた自由な環境を提供。そして、このPCブレードが今日の仮想化技術を用いたVDI(Virtual Desktop Infrastructure)への道を切り開いたと言っても良い。

現在、市場にあるVMwareやCitrixのVDI製品では、PCブレードシステムが物理的なマザーボードの移設であったのに対し、プール化された仮想マシンとThin Clientを連携させる。つまり、物理環境を置き換えるのではなく、ソフトウェア環境を彼等の仮想化技術を使った論理的な仮想マシン上に置き換えるプール資源の利用技術(Pooled Resource Technology)だ。さらに仮想マシンの適用には、静的なものと動的なものがあり、前者はこれまでのPC利用やPCブレードに近く、後者はThin Clientと仮想マシン間に管理ソフトウェアが介在する。管理ソフトウェアは、事前にOSやシステムサイズの異なる何種類かの仮想マシンを用意し、クライアントの要請を受けてマッピングさせたり、一度アサインした仮想マシンへのリモートアクセスの実行、さらにソフトウェアライセンス管理なども行うことが出来る。


このような技術の流れの中にあって、アプリケーションストリーミングは異なる性質を持つ。つまり、今日のVMwareやXenなどの仮想化技術とは別なコンセプトであり、それ故、両者の融合も可能であるし、更なる発展も期待できる。
次回はアプリケーション・ストリーミングの具体的な動きを追う。

2009年12月7日月曜日

Windows Azureアップデート  -PDC2009-

ロスアンゼルス・コンベンションセンターで毎年恒例となったMicrosoft Professional Developer Conference 2009(PDC 09)が開催(11月17-19日)された。その中から、Windows Azureに関するアップデートを報告しよう。

◆ Azure正式にスタート

PDC 09で正式に発表されたWindows Azureは、2010年1月1日から商用としてスタートする(2月1日までは無料利用)。今回の正式版(β)では、昨年PDC 08発表時の計画案(下図)から大きく絞り込まれ3つのコンポーネントとなった。


①プラットフォームとなる「Windows Azure」、そして、②これまで「.NET Services」と呼ばれていた機能はアプリケーション間連携の「Azure Platform AppFabric」と改称され、③当初「SQL Services」と呼ばれていたクラウドデータベースも途中から「SQL Azure」となった。


商用版となるAzureはクラウド分類ではPaaSに該当するが、Ozzie氏はキーノート後のインタビューで現在のPaaS機能だけでなく、近々、IaaSの提供計画があることにも言及。来年度はこのリリースの強化と共に、新しい仮想マシンの登場が期待される。また、Ozzie氏はキーノートの中で「3つのスクリーンとクラウド」というビジョンを提示し、クラウド(Windows Azure)、オンプレミス・サーバー(Windows Server)、デスクトップ(Windows 7)の3つのスクリーン間でシームレスなアプリケーション開発を追求していくと説明した。そして、特に、今回、改称されたAppFabricはオンプレミスと
クラウドを連携する重要な役割を担う。

また、建設が急がれていたAzureデータセンターは、自社だけでなく、パートナー設備を利用する。新年度からの本番とそれ以降の急拡大に向けて、短時間でのクラウドセンター建設に効力を発揮したのがAzure Cloud Containerだ。これは、同社の第4世代モジュラーデータセンター(Generation 4 Modular Datacenter)構想によるものでPDC 09では実機が展示された。




当面のデータセンタ配置は、北米のシカゴとサンフランシスコ、ヨーロッパではダブリンとアムステルダム、アジア はシンガポールと香港となり、各地域に各々2ヶ所づつ設置、来年1月から世界21ヶ国Australia, Austria, Belgium, Canada, Denmark, Finland, France, Germany, Ireland, India, Italy, Japan, Netherlands, New Zealand, Norway, Portugal, Spain, Sweden, Switzerland, UK, United States)でサービスが開始される。


◆ オンプレミス/クラウド連携 AppFabric

さて、今回改称された「Azure Platform AppFabric」が重要であることは言うまでもない。AppFabricはWindows Server 2008のオンプレミスとクラウドをシームレスに結びつけたり、クラウド上のアプリケーション間を連携させるもので、「Access Control」「Service Bus」「Workflow」から構成される。AppFbricは、英語のFabricが織物を意味するように、多様なコンポーネントを有機的に結び付けるクラウド用アプリケーションサーバーと言ったところである。ここでService Busは、オンプレミスとクラウド、さらにクラウド間を繋ぐESB (Enterprise Service Bus)であり、Access Controlはそれへの認証、WorkflowはWindows Workflow Foundation (WF)をベースとしたもののようだ。

◆ アプリ交換サイトPinPointと公開データカタログDallas

キーノートではRay Ozzie氏から各種の新機能も発表された。
ひとつはWindows Azure向けサードパーティ・アプリケーションのマーケットプレイスPinpoint.comの開設。同サイトは、Salesforce.comが生き残りを賭けて2005年秋に発表し、2006年始めから開設したアプリケーション交換販売サイトAppEchangeの Azure版だ。このサイト開設に尽力したのはSunから移籍したLew Tucker氏。氏は伸び悩んでいたSalesforceのビジネスを復活させるため、プラットフォームを整理させ、APIとSDKを提供することで、 ISVやユーザー企業がCRMアプリケーションの追加や修正が出来る方法を考え出した。このアプリケーション交換の方法は、既に、SunではJava Store、IBMでもSmart Marketを開設しているし、モバイルではAppleのApp StoreやGoogleのAndroid Marketなどユーザ参加型の開発手法として花盛りである。Tucker氏は、その後、Sunに戻り、現在はSun Open CloudのCTOだ。

そしてDallas(開発コード名)。
これはPinpointの一部となって、連邦政府の行政情報公開データサイトData.govやNASAの月情報サイトMars Pathfinder、地理情報サイトのNational Geographicなどの公開データを扱うオープンカタログとなる。デベロッパーは、これらのデータを使って独自のアプリケーションサービスを開発する。このDallasも実は、Amazonが膨大なヒトゲノム(Human Genome)情報を公開して有名となった公共データセット・サービスPublic Data Set on AWSのAzure版だ。


◆ Azureストレージ

AzureのAppFablicに次ぐもうひとつの核は「SQL Azure」、つまりクラウドのAzureストレージで、ここにもアップデートがあった。このAzureストレージを利用することで、デベロッパーは大きなオブジェクトやファイル処理、さらにQueueを用いたメッセージデータの扱いも可能となる。少し整理するとAzureストレージには、①構造化データ処理用のTable(表)形式「Azure Table Storage」、②オブジェクトなどの非構造化データに向いた「Blob」、③仮想マシン連携の「Queue」がある。 そして、今回、以下の2つが追加された。

-Windows Azure Drive
新機能のAzure Driveは、Azureクラウド上で稼動するアプリケーションにNTFSへのアクセスを提供する。当該ドライブは、ひとつのNTFSボリュームVHD(Virtual Hard Disk)として扱われ、Blobデータの読み書きに使われる。Blobには、これまでのBlock Blobと新たなPage Blobがある。Block Blobはストリーミングファイルなどをブロック分割(最大4MB)して利用し、さらに複数サーバーに分散させて、スループットを向上させることができる。また、これらの分割ブロックは自動複製も可能で耐障害性が高く、バックアップ処理も基本的には要らない。 もうひとつのPage Blobは、ランダムファイルの読み書きに用い、ファイルの分割単位は固定512Bの「Page」となる。このPageの概念はAmazon S3のBucketに当たり、最大10GBのTableにPage番号としてマップピングされる。XDrive自身は、EC2のEBS(Elastic Block Store)のNTFS版だと思えば良いだろう。

-Geo-Replication-
Azureストレージに、もうひとつ追加があった。
完全なデータベース保全のための地域的な複製機能「Geo-Replication」だ。これはSQL Server 2008で強化されたGeo-Replication機能をクラウドにも適用するものだが、SQL Server 2005と比べて100倍以上高速だという。実際にはプログラムから地域間複製の要求が出され、その処理が完了すると通知が返され、ユーザープログラムは完璧なデータベース保全が完了(Commit)したことを知ることが出来る。

◆ AzureコンテンツデリバリーContent Delivery Network(CDN)

もうひとつ、CDNについても説明があった。
CDNは11月始めにアナウンスがあり、PDC 09ではその実際が紹介された。Azure CDNは全世界のデータセンターからコンテンツデータをより迅速に届けるもので、現在の評価版(α)Community Technology Preview(CTP)でも利用が可能だ。デベロッパーはAzure Developer PortalのStorege Accountからカスタム・ドメインネーム(Custom Domain Name-CNAME)を指定することで、BlobデータをPublic Container経由で自動的に送り出す。


Windows Azureは、年が明ければ、実戦体制に入る。
先行するAmazon Web Serviceを追って、.NETの世界のクラウドを切り開くAzureがどの程度頑張るか、楽しみだ。