できる ! グローバル × スケーラブル × マルチデバイス 対応...
DESCRIPTION
できる ! グローバル × スケーラブル × マルチデバイス 対応 のソーシャル アプリ開発 入門. 砂金 信一郎 @shin135 日本マイクロソフト 株式会社. スピーカー紹介. 砂金(いさご)信一郎 Azure エバンジェリストやってます 。 自分のこと をシャア・アズナブルの前世と 信じて疑わないスジガネ入りのガンオタ 。 人生 に最も影響を与えたゲームは「ギレンの野望」 女子率 5% 未満の東工大出身 - PowerPoint PPT PresentationTRANSCRIPT
できる!グローバル × スケーラブル × マルチデバイス対応のソーシャル アプリ開発入門
砂金信一郎 @shin135日本マイクロソフト株式会社
スピーカー紹介
砂金(いさご)信一郎Azure エバンジェリストやってます。自分のことをシャア・アズナブルの前世と信じて疑わないスジガネ入りのガンオタ。人生に最も影響を与えたゲームは「ギレンの野望」女子率 5% 未満の東工大出身
→ オラクルで新規事業開発など好き放題→ローランド・ベルガーで戦略コンサル修行→リアルコムをマザーズに上場→縁あってマイクロソフトに参画(イマココ !! )
本セッションの内容
主に開発者向け(非開発者の方は参考情報として)
• クラウドサービス WindowsAzure の概要(簡単に)• ソーシャルゲーム Toolkit• Windows Phone Toolkit• iOS / Android Toolkit
Windows Azure とは…
オンプレミス
ストレージ
サーバー
ネットワーク
OS
ミドルウェア
仮想化技術
データ
アプリケーション
ランタイム
ユー
ザー
による対応
SaaS
事業者側による対応
ストレージ
サーバー
ネットワーク
OS
ミドルウェア
仮想化技術
アプリケーション
ランタイム
データ
ユー
ザー
による対応
PaaS
事業者側による対応
ストレージ
サーバー
ネットワーク
OS
ミドルウェア
仮想化技術
アプリケーション
ランタイム
データ
IaaS
ストレージ
サーバー
ネットワーク
ミドルウェア
仮想化技術
データ
アプリケーション
ランタイム
事業者による対応
ユー
ザー
による対応
OS
Asia Pacific Region
クラウド活用のメリット• ハードウェアや OS の購買、インフラ構築費用が不要• 費用として支払うため、資産計上しなくて済む初期投資
• 従量制課金であるため、必要がなくなれば、容易に停止可能• キャンペーン サイトや頻度の少ないバッチ処理に有効無駄の排除
• すぐにアプリの開発、利用が可能になる• 新規事業などの変化の早いニーズに対応スピード
• システム管理業務をすべてアウトソース、パッチ適用も自動化• 遠隔地での冗長化で事業継続性を確保運用
• スケーラブルな基盤設計要求からスキルの高い技術者を解放• 所有が不可能な規模に、理論上無限の拡張が可能スケーラビリティ
• 世界中に建設されたデータセンターとネットワーク網• データやアプリケーションを効率的に配布・管理グローバル展開
安い
簡単
+ α
Windows Azure Platform の全体像
アプリサーバーロードバランサー
分散ストレージ
パーティション分割可能なデータ
分散キャッシュ
CDN配信サービス
ロードバランサー
リバースプロキシ、キャッシュ
管理サーバー
バックエンド処理
Web サーバー
分散キャッシュ
キュー アクセス権管理
大容量ファイル格納
リレーショナルデータベース
キーバリューストア
ファイルシステム サービスバス
レポーティング、 BI
データ同期
VPN
Elastic(増減自在)
CDN
Load Balancer
IISWeb
Server
VM Role
Worker Role
Web Role
Caching
Queue Access Control
Blob
Relational Database
Table
Drive Service Bus
Reporting & Analysis
Data Synchronizatio
n
Connect
マルチデバイス対応戦略の一般的な整理
ブラウザゲーム化 →カメラ、センサー等が使えないゲームエンジンの利用 →パフォーマンス問題ネイティブ開発 →開発工数増大HTML5× アプリのハイブリッド
Toolkit, Accelerator, Training Kit
Toolkit →目的別 SDK やサンプル一式Accelerator → セットアップを簡略化Training Kit→ ハンズオン用の手順解説 with サンプル
ソーシャルゲーム Toolkit
http://watgames.codeplex.com/
Windows Phone Toolkit
http://watoolkitwp7.codeplex.com/
Toolkit for iOS/Android
https://github.com/microsoft-dpe/watoolkitios-lib
iOS で Azure を使う3パターン
1ネイティブアプリから
ストレージを使う
3通知をクラウドから
2ブラウザアプリを
クラウド側で
Blob Storage
REST Endpoint:http://[account].blob.core.windows.net
Making the call
GET http://iostest.blob.core.windows.net/?comp=list&include=metadata
x-ms-date: Thu, 14 Apr 2011 20:30:00 GMTx-ms-version: 2009-09-19x-ms-blob-type: BlockBlobAuthorization: SharedKey iostest:[ComputedHash]
<?xml version="1.0" encoding="utf-8"?><EnumerationResults AccountName="http://myaccount.blob.core.windows.net/"> <Prefix>c</Prefix> <MaxResults>3</MaxResults> <Containers> <Container> <Name>container1</Name> <Url>http://iostest.blob.core.windows.net/photos</Url> <Properties> <Last-Modified>Sun, 14 Apr 2011 20:09:03 GMT</Last-Modified> </Properties> </Container> </Containers>
ストレージ( BLOB )へのアクセス
PhoneGaphttp://phonegap.com
Appceleratorhttp://appcelerator.com
Unifyhttp://unify.github.com/
unify
各種Web フレームワーク
Web Role
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET
CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC
LM 8)
Windows 7 / IE8.0
iPhone OS 4.3.1
UserAgent: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148
Safari/6533.18.5
Controller
ViewCSS
ViewCSS
if (useragent contains ”MSIE”)
if (useragent contains
”iPhone”)ASP.NET MVCViewEngine
Model View Controller での切り替え
iPad/iPhone OS 4.x
ネイティブアプリ
Apple Push Notification Service
gateway.sandbox.push.apple.com
アプリ登録
ユーザーの 認可
Worker Role
メッセージ送信を依頼
Windows Azure QueueWeb Role
Session Updated through Web
Update Queueメッセージ受信、アプリ起動
メッセージ詳細の要求
詳細を取得
クラウド側からのプッシ ュ通知
0 032
deviceToken 034
message
Token Length Payload LengthJSON formatted
Toolkit for Facebook
http://facebooksdk.codeplex.com/documentation
まとめ
Windows Azure は…
効率的に開発するために…
iOS, Android, Windows Phone に対応するなら…
さまざまなデバイスのバックエンドとして利用できるオープンでスケーラブルなクラウドサービスです。
用途に応じて提供されている Toolkit を活用してください。各種技術ドキュメントも掲載しています。
開発生産性の高い Windows Phone をプライマリにして、他プラットフォームにポーティングすることを検討ください。
www.microsoft.com
© 2011 Microsoft Corporation.All rights reserved.このプレゼンテーションは情報提供のみを目的としています。マイクロソフトはこの内容に関して、明示的か暗黙的かを問わず、一切保証致しません。
www.microsoft.com
© 2011 Microsoft Corporation.All rights reserved.このプレゼンテーションは情報提供のみを目的としています。マイクロソフトはこの内容に関して、明示的か暗黙的かを問わず、一切保証致しません。