Microsoftのサーバー&ツールビジネス担当プレジデントであるSatya Nadella氏はワシントン州レドモンドで開催されたBuild 2012の2日目の基調講演に登壇した。氏の基調講演はMicrosoftが提唱する"Modern platform for the world's apps"というテーマを強調するものだった。
Nadella氏は Windows AzureとWindows Serverで構成されるクラウドOSについて説明した。この構成を利用することで、データセンターの変更が容易になり、モダンなアプリケーションが構築できるようになる。また、データから知見を取り出し、人間中心のITを実現できる。Nadella氏は Windows AzureとWindows Serverのどちらか一方を選ぶのではなく、両方とも必要であり便利だと考えている。そして、Microsoftが運営しているクラウド型のサービスの紹介をした。Office 365、MSN、Microsoft Accessなどのサービスだ。X-Box Liveは4000万人以上のユーザを抱えている。SkyDriveは1ヶ月に2ペタバイト増えている。AzureはHypervisor上で動作している。Hypervisorを使うことでMicrosoftはホストオペレーティングシステムのより良い構築方法を学んだ。
基調講演で説明されたのは次のタイプのアプリケーションだ。
デバイス中心
- 通知
- アイデンティティ
- ストレージ
- アプリケーションサービス
MicrosoftはWindows Azure Mobile Services (WAMS)を作成し、クラウドバックエンドを構築する能力を提供している。その後、Josh Twist氏が登壇し、Event Buddyというイベント管理アプリケーションをサンプルにしてデモを行った。氏はこのサンプルアプリにWAMSを追加する方法を見せた。WAMSはWindows Phone 8、Windows Store、iOSをサポートする。WAMSのクイックスタートページはC#のコードスタブを生成されるので、そのままペーストして利用できる。
次にTwist氏は認証機能を追加した。この機能はMicrosoft Account、Facebook、Google、Twitterの認証をサポートする。ユーザはこれらのサービスのアカウントを使ってログインでき、開発者はWAMSを利用してログイン機能を提供できる。
また、テーブルにインサートを行うスクリプトも用意されており、これを利用してユーザの認証が行える。デモでは、WAMSを使ってユーザのTwitterアバターを取得し、その画像をEvent Buddy内に表示した。
Windows Phone 8のサポートについて、Twist氏はEvent Buddyのユーザがモバイルアプリからプレゼンに対して評価を付けることができるのを示した。評価の情報はWAMSによってイベントの主催者のWindows 8のライブタイルに伝達される。
ウェブ中心
- ウェブサイト
- ASP.NET
- ストレージ
- SQLデータベース
- アイデンティティ
- ウェブAPI
再びNadella氏が登壇し、ウェブ中心アプリケーションの説明するため、Scott Hanselman氏を紹介した。Hanselman氏のASP.NETアプリケーションは氏のFacebookアカウントと連携する。Visual Studio 2012のページインスペクタを利用して、どのようなHTMLがログインページで使われるのかを見せた。
ASP.NETはLinkedINを含むいくつかのプロバイダをサポートするOAuthを提供する。VS2012 Fall Updateではテンプレートを利用してFacebookアプリケーションを作成する機能を提供する予定だ。次に紹介されたのはVS2012から直接Azureのデータを見る機能だ。Azureは公開されているAPIのドキュメントを自動的に生成する機能を持つ。
クラウドスケール
Hanselman氏のデモの後、Nadella氏はクラウドスケールをベースにしたアプリケーションを説明した。氏によれば、以下に機能を使っているのがクラウドスケールのアプリケーションだ。
- キャッシング
- SSO
- 非同期
- 監視
- チーム開発
- ビッグデータ
Scott Guthrie氏が登壇し、Hanselman氏のサンプルアプリケーションを次の段階へスケールさせた。デモではアップロードした動画がストリーミングをサポートするように変更できるようにするため、Azure上でApp Servicesの下にMedia Serviceを作成した。
Media Serviceはさまざまな種類のエンコーディング方式をサポートしているので、アップロードされた動画はHTML5やiOSを含むさまざまなフォーマットに変換できる。また、クライアントの帯域に合わせてストリーミングを調整する機能もある。
Guthrie氏はNuGetを使ってVisual StudioソリューションにWindows Azure Media Serviceのパッケージを追加した。これで、サンプルアプリケーションはMedia Serviceへ動画を発行する機能をサポートできるようになった。デモでは、Surfaceタブレットを使ってその場で撮影した映像をタブレットからAzure上へアップロードした。
Background WorkerはAzure上で動作するサービスで、SignalR経由でAzureアプリケーションにフィードバックを提供する。WorkerRoleはUIのないロールで、Media Serviceと通信するのに使われる。Guthrie氏のサンプルコードにはSignalRへのコネクションが含まれており、動画のアップロードプロセスから更新情報を受け取ることができる。これによってアップロード中に転送の進捗具合によって更新されるサムネイルを表示することができる。また、VS2012はIDEから直接Azureへアプリケーションを発行できる。Azureはサーバプロビジョニングを提供するのでコードを変更せずにキャパシティを追加できる。
Windows Azureにはストアがあり、Azureアプリケーションに機能を追加することができる。ストアは売買の詳細を管理するのでユーザは各ベンダに対して入金の手続きを取る必要はない。Guthrie氏は例としてNew Relicを使ってAzureサービスを監視する方法を示した。
そして、Nadella氏が再び登壇し、新しいAzureの機能を紹介した。
- Windows Azure SDK – October Release
- Windows Server 2012のサポート
- .NET 4.5のサポート
- 専用キャッシュの一般利用
- Windows Azure Store
開発ライフサイクル
Team Foundation Serviceが利用できるようになる。Jason Zander氏が登壇してデモを見せた。フォアキャスティング機能はプロジェクトマネージャが進捗具合によってスプリントサイクルを計画するのを助ける。カンバンボードを使うことで、タスクが他のスプリントに移動したり、TFSがキャパシティを自動的に更新するのに合わせてプロジェクトの計画をたてることができる。更なる詳細はここで確認できる。また、5人までの開発者のチームはTeam Foundation Serviceを無料で利用できる。
Nadella氏はプレゼンを中断して、企業でのクラウドスケールについて説明し、自身にとってそれが何を意味するのかを話した。組織のアイデンティティ管理はWindows Azure Active Directoryで実現できる。シングルサインオン、多要素認証をAPI経由で利用できる。
データ中心
Windows AzureのSQL Team/Hadoopの技術フェローであるDave Campbell氏は前の登壇者が利用したのと同じアプリケーションが動作中に収集したデータを示した。
ログファイル上のデータを検索/処理して扱いやすいフォーマットに整えることを"情報の製造"という言葉で説明した。デモではサーバへのアクセス情報をExcelへ展開し、世界地図を使って視覚化して見せた。また、他の種類のグラフを使って動画の人気を示した。次に、ジョブを作成してログデータを処理し、ウェブサービスのレコメンデーション機能を改善した。
Nadella氏はHalo 4がバックエンドにWindows Azureを使っていることを発表した。Halo開発者が機能の人気やゲーマーの利用パターンを監視できるようにするためだ。
基調講演の最後にNadella氏はこのBuildは、Microsoftが次世代のアプリケーションを開発するためのプラットフォームを開発者に提供する上で重要なイベントだと結論付けた。