Windows Azure モバイルサービスGA(まとめ)

以前このBlogで BaaS としての機能を提供する Windows Azure モバイルサービスの背景や概要 を解説しました。当時はプレビューということもあり、従来からサービスを提供しているappiariesparse などに比べ後塵を拝していたかもしれません。しかし、2013年6月にモバイルサービスが正式リリースしたことで大幅に機能が追加され柔軟性、安定性が増しています。何より美しく使い易いWindows Azure管理ポータルから様々なサービスと組み合わせ利用できるのは便利です。「漸くMBaaSに本気で取り組みはじめたか!」といった出来栄えになりつつあるので、注目して頂きたい。 

ここでは全体的にモバイルサービスに関する情報をまとめておきます。ご存じの内容も多いかもしれませんが、ここ最近バラバラと情報が出てきてまとまったものが見当たらなかったもので。

 

マルチプラットフォーム対応

Windowsストアアプリをはじめ、Windows Phone 8、iOS、Android、HTML/JavaScriptと幅広いプラットフォームに対応しています。いまやマルチプラットフォーム対応は必須でしょう。

mobilesvc0

プラットフォームごとのチュートリアルはこちらを参考にしてください。

https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started/?fb=ja-jp

データの CRUD 操作を含め、モバイルサービスはREST APIを公開します。

https://msdn.microsoft.com/en-us/library/windowsazure/jj710108.aspx

 

スケール

価格帯の異なる無料スタンダードプレミアムの 3 つの層で提供されます。SQL データベース20MB(無料)に加え、無料枠が提供されてたは嬉しいですね。個人でアプリを開発するホビーユーザーなどは無償枠をガンガン利用して頂きたいと思います。また、将来的にアプリを利用するユーザーが増加して収益が望めるのであれば、スタンダートやプレミアムに変更することもできます。

kakaku

 

標準およびプレミアムでは自動スケールの機能を利用できます。これは他のホステッドサービスのようにCPU負荷に応じたスケールアウト機能ではありません。モバイルサービスでは1ユニットあたりのトランザクション数が決まっているため、それを超えた場合に自動スケールしてユニットを増やす仕組みを提供します。

 

料金の詳細

https://www.windowsazure.com/ja-jp/pricing/details/mobile-services/

image

 

API

以前は各テーブルのCRUD操作それぞれに対して1つのサーバーサイドスクリプトを実装できる仕組みになっていました。現在はRESTスタイルのカスタムAPIを複数定義できるようになりました。プッシュ通知の実装などはカスタムAPIで実装してもよいかもしれませんね。

1

モバイルサービスではサーバーサイドロジックをJavaScriptで実装します。これは、モバイルサービスを.NET開発者だけでなくOSS系も含め幅広く利用して頂くことを目的にしています。個人的には C# で開発したいですが、ポイントさえ押さえればさほど難しくはないと思うので .NETerな開発者にもあきらめずに利用して頂きたいと思います。

カスタム API の詳細

https://msdn.microsoft.com/ja-jp/library/windowsazure/dn303368.aspx

モバイルサービスのスクリプトリファレンス

https://msdn.microsoft.com/ja-jp/library/windowsazure/jj554226

サンプルソース

https://www.windowsazure.com/en-us/develop/mobile/how-to-guides/work-with-server-scripts/?fb=ja-jp

 

スケジューラー

ジョブを定義して定期的もしくはオンデマンドで実行することができます。用途としてはモバイルサービスに閉じたものではないので、様々なシーンで利用できます。

例えば応用例として、Build Insider で次のような使い方が紹介されています。

スケジュールされたジョブ機能とWindows Azure Webサイトを組み合わせた定期処理の実装

https://www.buildinsider.net/web/webapibatch/01

az_sche

 

チュートリアル

https://www.windowsazure.com/en-us/develop/mobile/tutorials/schedule-backend-tasks/

動画(How to)

https://channel9.msdn.com/Series/Windows-Azure-Mobile-Services/Windows-Store-app-Getting-Started-with-the-Windows-Azure-Mobile-Services-Scheduler

 

構成

Gitを使ったソース管理やサービスの監視を行うことができます。

Gitを使ってローカル環境で開発したソースコードをそのままモバイルサービスにコミットできるようになったのは非常に便利ですね。開発しやすくなりました。

ms_git

 

ソース管理のチュートリアル

https://www.windowsazure.com/en-us/develop/mobile/tutorials/store-scripts-in-source-control/

 

プッシュ通知

プッシュ通知は WNS(Windows ストアプリ)、MPNS(Windows Phone)、APNS(iOS)、GCM(Android) に対応しています。

ms_push

プッシュ通知のチュートリアル

https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-push-dotnet/

 

ID

認証についてはMS、FaceBook、Twitter、Googleが使えます。

ms_id

 

チュートリアル

https://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-users-dotnet/

 

Visual Studio 2013連携

プレビュー公開されている Visual Studio 2013 ですがモバイルサービスとの連携が強化されています。

Windows ストアアプリとモバイルサービスを連携して、容易なプッシュ通知を実現できたり、サーバーエクスプローラからモバイルサービスへ接続することが出来るようなっています。

image

詳細はこちら

https://msdn.microsoft.com/en-us/library/windows/apps/dn263175.aspx

 

尚、Windows Azure 仮想マシンのギャラリーで Visual Studio 2013入りイメージが公開されているので簡単に試せます。

vsgal

 

 

その他リソース

チュートリアル

https://www.windowsazure.com/en-us/develop/mobile/resources/?fb=ja-jp

Windows Azure:モバイルバックエンド環境の大幅アップデート

https://codezine.jp/article/detail/7224

Windows Azure: Webサイト/モバイル サービスの正式リリース (GA)、新しい自動スケールとアラートのサポート、MSDNでのクレジット カード不要

https://satonaoki.wordpress.com/2013/06/28/azure-mobile-websites-2/