12/05/2012

Windows AzureでWEBサービスを組み立てよう!

 

どうも。久しぶりのブログアップデートです。

12月に入りクリスマスが近くなると、サンタクロースがやってくるイベントがあったり、いろいろと忙しくなります。サンタクロースといえば、子供からLEGO(LEGO Pharaoh's Quest Scorpion Pyramid 7327)のリクエストがあり、すでに製造していない商品をお願いされたりしています(しかも、欲しいのは中に入っている犬のミニフィギュアだけ・・・)。

さて、今年もWindows Azure Advent Calendarに参加です。

昨年は、Windows Azureを始めようと考えている方へ、おすすめの本を紹介したのですが、今年一年でWindows Azureは大きな変更があり、便利な機能が多く追加されました。

機能が多く追加されると便利になるのですが、Windows Azureを始めてみようと考えている方からは複雑なプラットフォームに見えているのではないかと、少し心配しています。

そこで、どの機能を利用したらよいのか、どのようにサービスを組み立てたらよいかなど、LEGOの商品のように王道パターンを組み合わせて商品(サービス)を作ることができれば、少しでも多くの方にWindows Azureを理解してもらえるのではないかと思い、@k1hashさんと@kekekekentaでパターンの土台を模索しているところです。

まだα版ですが、少し紹介できればと思います。

 

1.大規模WEBサービスに効果的なパターン!

12月の大規模WEBサービスといえば、MixiXmas(http://mixixmas.mplace.jp)ですよね。digで確認したところ、cloudapp.netでCNAME設定されているので、今年もWindows Azureで動作しているようですね。たぶん今年追加されたRoleベースのキャッシュ機能も使っているのではないかと妄想に浸ってます。

さっそくパターンの紹介です。とは言ったものの、すでに大規模WEBサービスに効果的なパターンは、以下の@k1hashさんのブログで書かれておりますので、そちらをご参照ください。

ブログ:「メリークリスマス!Azureアドベントカレンダーの儀を執り行う!

ADPH

かっこよかったですね。自分とは迫力が違います。

で、その他のパターンですが、カッコいいところは@k1hashさんにすでに書かれてしまった感があり・・・ あとのパターンは、どう切り出してよいのか・・・・と悩みましたが、これ(↓)です。

 

2.時間がない人に効果的なパターン!

びみょう・・・。だけど、たぶんこういう人は沢山いると思うんです。家に帰ってからサービス作ったりしますしね。良い言い方をするとスタートアップ向けパターンです。

2.1.一台のパソコンでサービス開発

ADP01

Windows 7 や Windows 8 などの普通のPCだけで、複数インスタンスを使用するようなWindows Azure のクラウドサービスをローカル環境で開発することが可能です。更にデバック実行することができます。必要なツールとしては、Visual Studio と Windows Azure SDK and Windows Azure Tools for Microsoft Visual Studio です。Visual Studio と聞けばお高いんでしょう?と思われる方がいらっしゃいますが、 Express Edition を利用すれば無償でサービスを開発することができます。

Express Edition のインストールは以下の記事をご参照ください。

http://kentablog.cluscore.com/2012/09/windows-azure-cloud-serviacevisual-studio.html

クラウド上にリソースを用意しなくてもサービス開発が可能ですので、手軽に素早く取り掛かれます。

 

2.2.モバイルアプリに必要な機能の利用

ADP02

iPhoneやWindows 8など、モバイル端末のアプリケーションでは、「通知」や「ソーシャルサービスとのID連携」「データの書き込みと読み込み」など、ある程度決まっている処理を開発しないといけないので労力がかかります。これらの処理はWindows Azureモバイルサービスで用意されており、そのまま利用することにより、ほとんど開発しなくても実現できます。

これによりモバイルアプリケーション開発者は、サーバ上のプログラムを書く必要がなくなり、モバイル端末上で動作するロジックやUXに集中することができます。

Windows Azure モバイルサービスは、以下のブログをお勧めします。

http://satonaoki.wordpress.com/2012/10/17/azure-mobile-services-update/

また、2012年12月19日に開催される「JAZUG女子部ぷれぜんつBuild祭り」でも紹介がありますので、お時間のある方は是非参加してみてはいかがでしょうか?

http://www.zusaar.com/event/452053

 

2.3.Windows Azure Active Directoryで認証

ADP03

WEBサービスでユーザ情報を取り扱う場合、ユーザ管理やユーザ認証用のプログラムを書く労力が発生します。しかし場合によっては Windows Azure Active Directory を使用すると一気に解決することがあります。Windows Azure Active Directory は Office365 などのマイクロソフト社のオンラインサービスで使用されており、Windows Azure Active Directory を使用したアプリケーションを開発すると、これらのサービスとシングルサインオンすることが可能になります。

Windows Azure Active Directory を利用したシングルサインオン可能なWebアプリの作り方は、以下のブログをお勧めします。

http://blogs.msdn.com/b/tsmatsuz/archive/2012/11/09/windows-azure-active-directory-web-sso-using-asp-net.aspx

しつこいかもしれませんが、2012年12月19日に開催される「JAZUG女子部ぷれぜんつBuild祭り」でも紹介がありますので、お時間のある方は是非参加してみてはいかがでしょうか?

http://www.zusaar.com/event/452053

 

2.4.超小規模からスタート可能な共有型Webサイト

ADP04

Webサイトは無料モードから利用可能なWindows AzureのWebサービスです。ASP.NETのアプリケーションはもちろん、PHPのWEBアプリケーションも利用することが可能です。

共有モードでスケールアウトが可能であり、専用仮想マシンへのスケールアップや専用マシンでのスケールアウトも簡単に実現できます。

WebサイトはWebのみの機能となりますが、クラウドサービスと比べると手軽で少しの労力により利用することができる便利なサービスです。

 

2.5.データの地域間バックアップ

ADP05

データのバックアップをに気にしなくてもよいのが、Windows Azure Blob Storageです。データはデータセンター内の異なるFault Domainで3箇所に保存されているのですが、データセンターがある地域で震災などの影響を受けても、他の地域に存在すデータを利用することが可能です。データのバックアップは非同期で行われます。

バックアップの仕組みを作る必要がないため、開発者はサービスの開発に集中することができます。

3.さいごに

まだ、他のパターンが存在しますが、Windows Azure Advent Calendar jp:2012 の5日目は、こんなところで。

他のパターンふ含めた紹介は、凄くしつこいかもしれませんが、2012年12月19日に開催される「JAZUG女子部ぷれぜんつBuild祭り」でも紹介させていただければと思いますので、お時間のある方は是非参加してみてはいかがでしょうか?

http://www.zusaar.com/event/452053

また、パターンの作成やブラッシュアップに皆さんの参加をお待ちしております!