ID:K-10B
<本資料の内容が合う方>
・サーバーよりアプリに集中したい
・小規模の開発チーム
・システム運用には人手をかけたくない
・できれば無人運用としたい
・それでもビジネス成長に応じて
サーバー資源の追加は柔軟に行いたい
Microsoft Azure
Web & Mobile 開発
Azure Web サイト
Web サイト とは何か?
ユーザが集中したいこと
• アプリのコード
Web サイト に任せたいこと
• インフラ設計や構成変更
• システムの拡大/縮小
を柔軟に変更
• デプロイ時のインフラ運用
• セキュリティ
http://azure.microsoft.com/ja-jp/services/websites/
コンテンツのイメージは一つだけ
インターネット
ユーザー
デプロイ(リリース作業)イメージ
本番
ユーザー
検証
開発者
一通りの Web 開発言語が使用可能
• WordPress,Drupal,Joomla,Umbraco,DotNetNuke, etc..
• ASP.NET, Java, PHP, Node.js, Python
現時点で Ruby には未対応
MySQL には ClearDBを使用
アプリケーションの実行環境設定

.NET
Java
PHP
Node.js
Python

IIS
Apache Tomcat
Jetty
Web サイト ギャラリー
デプロイ管理
チーム開発・継続的インテグレー
ションツール等への対応
• Visual Studio Online
• TeamCity
• Hudson
• Git / GitHub
• BitBucket
カジュアルなスタイルにも対応
• FTP
• Dropbox
• WebMatrix
高可用性のサーバークラスター
• 修正プログラムの自動適用機能
• 分散サーバー環境
• 無料の高性能負荷分散装置
• 共有環境/お客様専用 VM
• さまざまな性能追加方法
• スケールアップ
• サーバーのCore数を増減
• スケール アウト
• サーバーの台数を増減
• CPU使用率またはスケジュール
に基づいた自動チューニング
自動/手動バックアップ
Azure Websites では、次の情報をバックアップ
 サイトの構成
 ファイル
 SQL Server または MySQL
ストレージ アカウントに
Zip バックアップ
バックアップ操作画面
自動/手動バックアップ
復元操作リストア用データ
http://azure.microsoft.com/ja-
jp/documentation/articles/web-sites-restore/
カスタムドメイン名とSSL設定
• SSLは2種類のSSL接続をサポート
• Server Name Indication (SNI)
最新のブラウザーで使用できます
• IP Address SSL 接続
すべてのブラウザーで使用できます
※カスタム ドメインの Secure
Sockets Layer (SSL) の設定には、
基本、標準 のいずれかが必要
• Azureはレジストラサービスがない
• ドメイン名の予約は外部サービスで
• マップする DNS レコードを作成
• Aレコード (要IP固定)
• CNAME
※カスタムドメインは、共有、基本、
標準 のいずれかが必要
※IP アドレスは、Web サイトを削除
または再作成する場合や Web サイト
を無料モードに戻すと、変更される可
能性がある
データベース の選択肢
• Azureのサービス
• SQL データベース(MS SQL)
• Azure テーブルストレージ
• DocumentDB
• Search
• Azure Market 上のサービス
• 様々なデータベース
• MySQL、MongoDB、
RavenDB 、Redis など
• Azure 仮想マシン上の DB
SQL データベース






エディション パフォーマンス レベル ワーカー スレッド セッション トランザクション DTU
Basic Basic 20 300 16,600 / 時間 5
Standard
S0 60 600 521 / 分 10
S1 90 900 934 / 分 20
S2 120 1,200 2,570 / 分 50
Premium
P1 200 2,400 105 / 秒 100
P2 400 4,800 228 / 秒 200
P3 1,600 19,200 735 / 秒 800
MySQL(ClearDB)





Static Content from Blob Strage

 CSS、画像、動画ファイル等
 Web サイトの負荷を下げる
 一時的に有効なアクセスキーにも対応

 http://blogs.msdn.com/b/naokis/archive/2011
/03/12/azure-blob-web.aspx
仮想ネットワークに対応


Web サイ
ト
仮想ネットワーク
SQL Server
VPN その他の
リソース
オンプレミス
Azure
クラウド
サービス
仮想マシン
TCP 接続のハイブリッドを可能に



Web サイ
ト
社内ネットワーク
SQL Server
BizTalk Hybrid
Connections
< >
Hybrid
Connection
Manager
その他の
リソース
Web Sites の制限事項
•リモートデスクトップ接続
•appHost.config の書き換えは一部のみ
•特定アプリケーション以外
(Oracleドライバなど)のインストール
•レジストリ、システムファイルの変更
•環境変数など、全体に影響を及ぼす設定は不可
•IP アドレスなどのシステム情報の取得
モバイル サービス
モバイル サービスは、
マルチデバイス対応の MBaaS
ネイティブアプリの
バックエンド処理を
簡単に作成
ブロードキャスト プッシュ
ソーシャル統合
データの同期
エンタープライズ対応
(シングル サインオン)
モバイルサービスが提供する機能
SQL Table
Storage
Blob
Storage
WNS
&
MPNS
APNS GCM
Mongo
DB
Notification
Hubs
ソース
管理
Facebook Twitter Microsoft Google
Azure
Active
Directory
Windows ストア
iOS(5.0 以降)
Android (2.2以降)
Xamarin
PhoneGap(3.2以降 )
Sencha
Windows
Phone
HTML 5/JS
機能をアプリに組
み込むためのクラ
イアント SDK
Hybrid
Connections
RESTAPI
(現)ポータルのチュートリアル
クライアント SDK の機能
• データ操作
 スキーマ定義、CRUD、オフラインの同期
• カスタム API の呼び出し
 独自 API の呼び出し
• 認証
 ログイン・ログアウト
• プッシュ通知
 PNS からハンドルの取得と登録
サーバーサイド API へ容易なアクセス
オフライン処理とデータ同期
• Azure 上で CRUD 操作用のSDKを作成
• サーバー常時接続されているかのよう
に機能しますが、実際には操作はロー
カル ストアに対して実行
• ローカル ストア⇔サーバーの同期処理
• MSSyncTable.pullWithQuery
• MSClient.syncContext.pushWithCompletion
エンタープライズ対応
Active Directory と統合
企業内の SAP、Oracle、SQL
Server、SharePoint のような
既存リソースにも安全に接続
自動縮小/拡大
自動縮小/拡大機能により、実際の使用量に基づいてリソースを増減
モバイルアプリで一般的に必要とされる機能
Web API
プッシュ通知
データ操作
認証
多くのモバイル アプリはサーバーサイドと連携
MBaaS (mobile Backend as a Services) という考え方
サーバーサイドで求められる共通機能をサービスとして提供
Web API
プッシュ通知
データ操作
認証
MBaaS としての機能まとめ
• iOS/Androidなどに対してのプッシュ通知
• ソーシャルアカウントの連携
• エンタープライズ対応
• AD連携
• データベース
• ランキング、アンケート、ゲームスコアなどを保存
• ストレージへのアクセス
• ファイル、画像などを保存したり、ユーザー間で共有
MBaaS としての非機能まとめ
• サーバーの知識がなくてもサーバーAPIを構築
• 豊富なクライアントSDK
• JavaScript、.NETを選択
• SQL DBは直接閲覧可能
• ロックインがない
• 様々な機能拡張
• Microsoft Azure の多様な機能との連携
• セキュリティ機能、データ分析、機械学習
• 性能:スケールアウト
スケールアウトの単位(Unit)
Game用には、Photon という選択肢
http://doc.exitgames.com/en/onpremise/current/reference
/photon-azure-starter-kit-pask
http://notificationkit.github.io/
http://aka.ms/nkit
Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~

Microsoft Azure ~ Web開発 & モバイル開発者向け情報 ~