t55 windows azure appfabric cachingを利用してみる
DESCRIPTION
わんくま同盟東京勉強会第55回で話させて頂いた、Windows Azure AppFabric Cachingのセッション資料です。 まだCTP版のサービスですが、なかなかの有望株だと思いますよ!TRANSCRIPT
わんくま同盟 東京勉強会 #55
Windows Azure
AppFabric Cachingを利用してみる
http://twitter.com/normalian
http://d.hatena.co.jp/waritohutsu
わんくま同盟 東京勉強会 #55
• HN : 割と普通
• 本拠地 : 横浜近辺
• 肩書き : しがない SIer
• 趣味 : コードを書く&絵を描く
http://d.hatena.co.jp/waritohutsu http://twitter.com/normalian
わんくま同盟 東京勉強会 #55
アジェンダ • 振り返り
• Windows Azure Platformの概要
• Windows Azure AppFabricの概要
• Azure AppFabric Cachingについて
• Azure AppFabric Cachingの活用例
• セッションの取り扱いメリデメ
• Azure AppFabric Cachingを実際に使ってみる
• まとめ
わんくま同盟 東京勉強会 #55
Windows Azure Platformの概要
Windows Azure SQL Azure • コンピュートサービス
• ストレージサービス
• Windows Azure Connect CTP
• Database Service
• Data Sync CTP
• Reporting Service CTP
Windows Azure AppFabric
• Service Bus
• Access Control
• Cache
Windows Azure Marketplace
• DataMarket
• Applications
サービス連携、認証連携等のオンプレミスとの連携が主なターゲット
わんくま同盟 東京勉強会 #55
Windows Azure AppFabricの概要
Service Bus
Access Control
Cache(CTP版、コードネームVelocity)
• クラウド上のESB
• 様々なプロトコルに対応(ほぼWCFなノリ)
• Live ID、Google、ADFS等との認証連携
• インターネット越しに取得する場合等の「データのキャッシュ」に利用
• Azureインスタンス間での「セッションデータの共有」に利用
わんくま同盟 東京勉強会 #55
アジェンダ • 振り返り
• Windows Azure Platformの概要
• Windows Azure AppFabricの概要
• Azure AppFabric Cachingについて
• Azure AppFabric Cachingの活用例
• セッションの取り扱いメリデメ
• Azure AppFabric Cachingを実際に使ってみる
• まとめ
わんくま同盟 東京勉強会 #55
Windows Azure AppFabric
Caching
オンプレミス側
DB
オンプレミス側のデータをキャッシュ
Windows Azure Platform側
リクエスト
2回目
リクエスト
1回目
インターネット
ロードバラ
ンサ
ユーザ WebRole1
Instance 2
WebRole1
Instance 1
インターネット越しのアクセスを抑えられるため、大幅なスループット改善が見込める
活用例1 データをキャッシュ
シリアライズコストが無い?ため、速度向上が見込める
わんくま同盟 東京勉強会 #55
Instance 1の
セッションデータ
Windows Azure Platform
ロードバラ
ンサ
ユーザ
Instance2の
セッションデータ
WebRole1
Instance 2
WebRole1
Instance 1
ユーザ操作の途中で、ロードバランサに異なるInstanceに振り分け
られた場合、正しくセッションデータが取り扱えない
Windows Azure AppFabric
Caching
セッションデータを共有
Windows Azure Platform
ロードバラ
ンサ
ユーザ WebRole1
Instance 2
WebRole1
Instance 1
Instanceを増やしても
セッションデータを共有できる
活用例2 セッションデータの共有
わんくま同盟 東京勉強会 #55
セッションの取り扱いメリデメ
ASP.NET標準のセッションプロバイダ
MSDN Code
Galleryのセッションプロバイダ
自作セッションプロバイダ
Azure AppFabric
Caching
概要 ASP.NET標準のセッションプロバイダを利用する
Code Galleryに登録されているセッションプロバイダを利用する
Access mdb等のプロバイダを書き換える
提供されているAzure
AppFabric Cachingを利用する ※シリアライズコスト無?!
利用ストレージ
SQL Azure Table Storage SQL Azure Azure AppFabric
Caching
難点 ・タイムアウトしたセッションを自分で削除する必要がある
・Azure向けのプロバイダではないため、コードがいびつになる
・タイムアウトしたセッションを自分で削除する必要がある
・SQL Azureに格納するよりも遅い
・タイムアウトしたセッションを自分で削除する必要がある
・課金形態が不明
・まだCTP版
この辺りは、Worker Role等を利用して自分でセッションを削除する必要がある
目立った課題がない!
わんくま同盟 東京勉強会 #55
アジェンダ • 振り返り
• Windows Azure Platformの概要
• Windows Azure AppFabricの概要
• Azure AppFabric Cachingについて
• Azure AppFabric Cachingの活用例
• セッションの取り扱いメリデメ
• Azure AppFabric Cachingを実際に使ってみる
• まとめ
わんくま同盟 東京勉強会 #55
1. AppFabric LabsでNameSpaceの作成と有効化+Web.configの設定
https://portal.appfabriclabs.com/
わんくま同盟 東京勉強会 #55
2.2 追加したアセンブリをローカルコピーTrueに設定
2. Azure AppFabric SDKのアセンブリを設定
2.1 Azure AppFabric SDKのアセンブリを参照に追加
わんくま同盟 東京勉強会 #55
3. Cachingを実際に動かしてみる
初回アクセス時刻をセッションデータに入れる
異なるインスタンス間でもデータが連携されている
わんくま同盟 東京勉強会 #55
アジェンダ • 振り返り
• Windows Azure Platformの概要
• Windows Azure AppFabricの概要
• Azure AppFabric Cachingについて
• Azure AppFabric Cachingの活用例
• セッションの取り扱いメリデメ
• Azure AppFabric Cachingを実際に使ってみる
• まとめ
わんくま同盟 東京勉強会 #55
まとめ • Azure AppFabric Cachingは有望株!?
• インスタンス増やしてもガッツリ動作!!
• シリアライズコストが(確か)無いので速い?
http://d.hatena.ne.jp/waritohutsu/20110110/1294685576
http://togetter.com/li/88355
• Full IISやAzureホスティッドデプロイ時に罠はある(sharedIdの指定等)
• 課金形態がまだ不明
• CTP版なので正式サービスとして利用できない