4月, 2011 のアーカイブ

昨年10月の開発者カンファレンス「PDC10」の後、CTPとしてリリースされていた、Windows Azureアプリケーション向けの分散インメモリー キャッシュ サービス「Windows Azure AppFabric Caching Service」(Azure AppFabric Caching) が、正式リリースされました。

今月上旬のWeb開発者/デザイナー カンファレンス「MIX11」では、Azure AppFabric Cachingが4月中にリリースされるとアナウンスされていましたが、その約束通りのリリースです。

Azure AppFabric Cachingは、メモリー内にデータを保持することで、データの参照/更新を高速化し、バックエンドの永続的なデータ ストア (SQL Azure、Windows Azure Storageなど) の負荷を軽減し、アプリケーションのパフォーマンス/スケーラビリティを向上します。

マイクロソフトは、以前からオンプレミスWindows Server向けのアプリケーション サーバー/ミドルウェア機能群であるWindows Server AppFabricで、Caching機能を提供していました。Azure AppFabric Cachingは、Windows Server AppFabricの Caching機能をベースに、パブリック クラウド/PaaS環境向けに実装したものになります。これは、データベースのSQL ServerとSQL Azureの関係と同様です。

Azure AppFabric Cachingの価格はキャッシュ容量によって決まり、128MBで45ドル/月から4GBで325ドル/月までのバリエーションがあります。今年7月末までは無料ですよ。キャッシュの作成や設定変更は、お馴染みのAzure管理ポータル (https://windows.azure.com/) から行えます。

Azure AppFabric Cachingでは.NETのクライアントAPIが提供されているので、オンプレミス環境も含む任意の.NETアプリケーションからAzure AppFabric Cachingにアクセス可能です。ただし、基本的には、Windows Azure Compute (Web/Worker/VM Role) 上のアプリケーションからのアクセスを想定しています。

Azure AppFabric Cachingのクライアントは、基本的には、キー/バリュー形式のデータを、キャッシュに対してCRUD (追加/取得/更新/削除)操作を行います。キーはString、バリューはシリアライズ可能なObjectです。詳細に興味のある方は、こちらから。

アプリケーション コードから前述のクライアントAPIを利用するパターンに加えて、ASP.NETとの統合も実装されています。ASP.NET向けのSession State Provider、Output Cache Providerを提供しているので、セッション状態や出力キャッシュの格納先としてAzure AppFabric Cachingを利用可能です。

現時点では、Windows Azureでは、フロントのロード バランサーは、(セッション アフィニティを無視して) ラウンド ロビンで背後のWindows Azure Computeインスタンス (典型的にはWeb Roleインスタンス) にHTTPリクエストをルーティングします。セッションを利用するASP.NETアプリケーションの場合、1つのセッションに属する複数のHTTPリクエストが同じインスタンスにルーティングされることが保証されないので、セッション状態をインスタンス外部に格納して、異なるインスタンスから取得可能にする必要があります。

これまでは、セッション状態の格納先としてSQL AzureやWidnows Azure Storage Tableを利用できましたが、新しい選択肢としてAzure AppFabric Cachingが利用可能になった、ということになります。個人的には、公式サポートや機能面を考えると、Azure AppFabric Cachingが最もお勧めです。

Windows Azure AppFabricの公式ページは、こちら。

Azure AppFabricチームのブログでのアナウンスは、こちら。

上記ブログ エントリを参考にした日本語のブログ エントリは、こちら。

MIX11でのAzure AppFabric Cachingのセッションを、オンラインで視聴できます。

MSDN Libraryで公開されている、Azure AppFabric CachingのFAQとドキュメント、Windows Server AppFabricのドキュメントは、こちら。

Azure AppFabric Cachingにアクセスするアプリケーションを作成するためには、Azure AppFabric SDKをインストールしましょう。

ハンズオンのためのチュートリアルもあります。

このチュートリアルは、Windows Azure Platform Training Kitに含まれているものと同じです。

広告

本日 ラスベガスで、我々は Windows Azure Platform へのいくつかのアップデートをアナウンスしました。これらの新機能は、開発者によるより早いアプリケーション開発を助け、アプリケーション パフォーマンスを加速し、Microsoft、Facebook、Google といった人気の高いアイデンティティ プロバイダーを介したアプリケーションへのアクセスを可能にします。詳細は後述します。

新サービスと新機能

本日、Windows Azure の新サービスや新機能が多数発表されました。

  • Windows Azure SDK へのアップデート。IIS Web サーバー、Web アプリケーション、Web サイトの移行、管理、配置を簡素化する Web 配置ツール (Web Deployment Tool) を含んでいます。この新しいツールは、Visual Studio 2010、Web Platform Installer と統合されています。このアップデートは、本日リリースされる予定です。
  • Azure AppFabric Access Control サービスへのアップデート。エンタープライズ ディレクトリと Web アイデンティティを統合することで、Windows Azure アプリケーションへのシングル サインオンを提供します。
  • Windows Azure AppFabric Caching サービスのリリース (今後30日以内)。Windows Azure、SQL Azure アプリケーションのパフォーマンスを加速します。
  • Windows Azure Traffic Manager の Community Technology Preview (CTP)。Windows Azureの顧客が複数の地理 (データ センターの場所) にわたってアプリケーション パフォーマンス (負荷) を分散することを、より簡単にする新サービスです。
  • Windows Azure Content Delivery Network (CDN) での Internet Information Services (IIS) Smooth Streaming 機能のプレビュー。開発者が IIS Smooth Streaming でエンコードされたビデオを Windows Azure Storage にアップロードし、そのビデオを Silverlight、iOS、Android Honeycomb (Android 3.0) クライアントに配信することを可能にします。

Windows Azure Platform プランの変更

本日、我々はいくつかのプランの変更もアナウンスしました。

  • Windows Azure 導入特別プランの有効期限の延長と、ストレージ、ストレージ トランザクション、データ転送の無料提供分の増量。このプロモーション プランは、2011年 9月 30日まで、Windows Azure コンピューティング XS インスタンス 750時間、S インスタンス 25時間、ストレージ 20GB、ストレージ トランザクション 5万回、データ転送 40GB を毎月無料で提供します。詳しい情報は、こちらから (日本語)。
    • 以前の Windows Azure 導入特別プランで契約している既存顧客は、本日、無料でアップグレードされます。(Windows Azure 導入特別プラン以外の) 異なるプランで契約している既存顧客は、更新された Windows Azure 導入特別プランで別途契約する必要があります。
  • MSDN Ultimate、Premium のサブスクライバは、Windows Azure の増量されたコンピューティング、ストレージ、データ転送を享受できます。詳しい情報は、こちらから (日本語)。
  • Microsoft パートナー向けの Cloud Essentials Pack が、Windows Azure コンピューティング XS インスタンス 750時間、S インスタンス 25時間、ストレージ 20GB、データ転送 50GB を毎月無料で提供するようになりました。加えて、Cloud Essentials Pack は、SQL Azure、Windows Azure AppFabric、Microsoft Office 365、Windows Intune、Microsoft Dynamics CRM Online といった、Microsoft の他のクラウド サービスの無料提供も含んでいます。詳しい情報は、こちらから (左上で United States を選択)。

MIX11 での本日のアナウンスに関して詳しく知るには、プレス リリースを読むか、MIX11 Virtual Press Room にアクセスしてください。Windows Azure AppFabric のアナウンスに関する詳細情報は、 Windows Azure AppFabric blog のブログ ポスト “Announcing the Commercial Release of Windows Azure AppFabric Caching and Access Control” をお読みください。

イベント期間中の最新情報を知るには、Twitter で @MIXEvent をフォローするか、#MIX11 を検索してください。

MIX11に関する日本語情報を得るには、Microsoft MIX11 Japan にアクセスし、Twitterで #mixjpn を検索してください。

このブログ エントリは、次のブログ エントリをベースにしています。

Windows Azure 10.8% 値下げしました

Posted: 2011/04/03 カテゴリー: Uncategorized
タグ:

今回、Windows Azure Platform の価格が、一律で約 10.8% 値下げとなりました。Windows Azure のサブスクリプションをお持ちの方には、メールでこのお知らせが届いていると思います。(メールが微妙な直訳風の日本語ですいません…)

たとえば、従量課金プランにおける Windows Azure Compute の S インスタンスは、1時間あたり 11.76 円から 10.49 円に変更されています。1 – (10.49 / 11.76) = 0.10799… ということで、約 10.8% 下がっていますね。

何事も安いに越したことはないので、これを機に(?) Windows Azureをどんどんお使いいただければ。

最新の価格情報は、次のページをご確認ください。

少し前に、ホンダさんが公開されている通行実績情報と Bing Maps を組み合わせて表示する Web サイトを公開しました。

KMZ ファイル (実体は ZIP 圧縮された XML 形式のKML ファイル) を SQL Azure Database の Spatial データ型のテーブルにロードしておき、Windows Azure の Web Role で動く「Tile Renderer」が、Bing Maps に重ね合わせるタイル画像をオンデマンドで生成する作りになっています。UIは、HTML、JavaScript、Bing Maps API (AJAX Control、REST Services) で書かれています。

この実装は、Bing Maps のスペシャリストである同僚の Johannes Kebeck に協力してもらいました。彼のブログ エントリで、実装の詳細が説明されているので、興味のある方は是非。

このブログ エントリで書かれているアーキテクチャをベースに、僕がキャッシュ部分を書き換えたので、その差分だけここで説明しておきます。

Windows Azure CDN (Content Delivery Network) は、Windows Azure のコンテンツをグローバルに配置されたエッジ サーバー群でキャッシュする機能です。これまで、Windows Azure CDN は、Windows Azure Storage の Blob に格納されている静的コンテンツのみをキャッシュ可能でした。

2011年3月にリリースされた Windows Azure SDK 1.4 では、Windows Azure CDN の、Widnows Azure Compute (Hosted Service) が生成する動的コンテンツへの対応が追加されました。

Johannes による最初のアーキテクチャでは、Web Role で動く Tile Renderer が、Blob にキャッシュ済みのタイル画像があるかどうか確認し、もしあればそれを返し、もしなければ、SQL Azure Database から取得したデータをもとにタイル画像を生成し、Blob に格納してから返す、という動きでした。

新しいアーキテクチャでは、Web Role で動く Tile Renderer は、常に SQL Azure Database から取得したデータをもとにタイル画像を生成し、その画像を返す、というよりシンプルな動きになります。

そして、この Web Role に対してWindows Azure CDN を構成し、Tile Renderer が返すタイル画像をキャッシュするようにしています。

Tile Renderer では、次のようなコード でキャッシュの有効化やキャッシュの有効期限 (ここでは10分間) を指定しています。

context.Response.Cache.SetExpires(DateTime.Now.AddSeconds(600))

context.Response.Cache.SetCacheability(HttpCacheability.Public)

context.Response.Cache.SetValidUntilExpires(True)

JavaScript がタイル画像をリクエストする URL は、最初のアーキテクチャでは Web Role のホストになりますが、新しいアーキテクチャでは、CDN のホストになります。

Windows Azure CDN に関しては、ドキュメントも参照してください。

今回使っている Bing Maps AJAX Control や Bing Maps REST Services については、Bing Maps のドキュメントを参照してください。

さて、僕のサイトと似たサイトがもう1つあるので、合わせてご紹介しておきましょう。トヨタさんも被災地の通行実績情報を「通れた道マップ」として公開しており、Bing Maps と組み合わせたサイトも公開されています。こちらのサイトには、僕は間接的に後方支援部隊としてお手伝いをしております…