Windows Azure SDK のインストール

以前のWindows Azure SDKはいろいろ面倒な手順を踏む必要がありました。

例えばIISの機能を入れたりSQL Server入れたり、SDKを入れたり…

どれぐらい手間かは「ハマらない&安心な Windows Azure SDK 1.3 のセットアップ方法(waりとnaはてな日記)」「Windows Azure SDKのインストールについて(waりとnaはてな日記)」を参照頂ければよくわかるかと思います。

※設定もれがあるとちゃんと動作しなかったりも痛いですね。

うえー面倒くせーという、そんなあなたもおいらも朗報。

Web Platform Installer を使えば簡単に解決です。
※但しOSのバージョンやエディション等の要件はクリアしておく必要があります。

一発で全部入ります!!(※全部無償でやる場合)

Windows Azure SDK 1.4 Refresh

MIXでアナウンスされていたWindows Azure SDK 1.4のRefresh(SDK 1.4.1)がリリースされました。

このアップデートでは、IIS環境に対し簡単にWebアプリを発行できるWeb Deployment Tool (Web配置ツール)が統合され、簡単にWindows Azure上のWeb RoleにWebアプリケーションを配置できるようになりました。

但しいくつか制限があります。

  • Web配置はシングルインスタンス(1インスタンス)のみ対応できます。
  • このツールを使用したシナリオはテストや開発時を想定しています。
  • Web配置ツールを使用した際の更新ファイル等はサービスパッケージデプロイ後のロールインスタンス上のファイルを直接更新するので永続化されません。最終的にはサービスパッケージを作成し、Windows Azure上へデプロイする必要があります。
  • Web配置用にInputEndpointを1つ消費します(リモートデスクトップ接続も必須です)

あくまで開発者がテストや開発の際のWindows Azure上へのデプロイの手間を軽減させるための機能と考えたほうがいいでしょう。でも便利ですね。

続きを読む →

Windows Azure Traffic Manager

MIX11でアナウンスのあったWindows Azure Traffic Manager (CTP)がActiveになってました。
Windows Azure Traffic ManagerはWindows Azure Virtual Networkカテゴリに属する新しい機能です。(他にはWindows Azure Connect等が含まれます)

何をするものかというと、ホストサービス間をまたがってWeb Roleの負荷分散やフェイルオーバー、ラウンドロビンを行うことができます。

※詳細はWindows Azure Traffic Manager Configuration Guidを参照ください。(今時点で一番詳しいドキュメントです)
このドキュメントに動作原理やトラフィックの流れなど、全部書いてます。

続きを読む →

Windows Azure アプリケーションの構成とか

Windows Azureのアプリケーションを作る際、どのようにロールを構成してエンドポイントを設定して…というのは結構悩みどころかなという気がするんですが皆様いかがでしょうか。

単純にSQL Azure(DB)+Webサーバーx n 台あればいいYO!という構成だと(インフラ的なところで)悩むところはあまりないのですが、Worker Role絡んだり、WebフロントエンドとバックエンドとDBと…とかになってくると意外とはまりそうですね。ええ、はまってますとも。

ということで今日はWindows Azureの構成とパッケージング、エンドポイントあたりをダラダラと考察したいと思います。

続きを読む →

Windows Azure Platform Training Kit April 2011 Update

リリースされてました。

変更点は以下の通りです。

  • [New] Authenticating Users in a Windows Phone 7 App via ACS, OData Services and Windows Azure lab
  • [New] Windows Azure Traffic Manager lab
  • [New] Introduction to SQL Azure Reporting Services lab
  • [Updated] Connecting Apps with Windows Azure Connect lab updated for Connect refresh
  • [Updated] Windows Azure CDN lab updated for CDN refresh
  • [Updated] Introduction to the AppFabric ACS 2.0 lab updated to the production release of ACS 2.0
  • [Updated] Use ACS to Federate with Multiple Business Identity Providers lab updated to the production release of ACS 2.0
  • [Updated] Introduction to Service Bus lab updated to latest AppFabric portal experience
  • [Updated] Eventing on the Service Bus lab updated to latest AppFabric portal experience
  • [Updated] Service Remoting lab updated to latest AppFabric portal experience
  • [Updated] Rafiki demo updated to latest AppFabric portal experience
  • [Updated] Service Bus demos updated to latest AppFabric portal

Azure AppFabricまわりのアップデートが多いですね。
追加された、OData・ACS経由のWindows Phone7のユーザー認証のHOLと、Traffic Managerに関するHOLは熱いですね。

個人的にはTraffic Managerに興味ありありです。
DC跨った分散配置が標準機能として提供されるんですからねー。HOLのドキュメント見ただけでわくわくしますね。はやくActiveにならないかな。

Windows Azure News from MIX11

Windows Azure Team Blogに記載があったMIX11で発表されたWindows Azure関連のニュースです。
超適当翻訳。

============

新しい機能とサービス

  • アップデートされたWindows Azure SDKには、WebサイトやWebアプリケーション、IIS Webサーバーへのデプロイや管理、移行をシンプルに行えるWeb Deployment Toolが含まれます。
    この新しいツールはVisual Studio 2010とWeb Platform Installerに統合されます。
    このアップデートは後日提供されます。
  • Windows Azure AppFabric Access Control Serviceがアップデートされました。企業のディレクトリとWebのIdentitiesを統合することでWindows Azureアプリケーションにシングルサインオンを提供します。
  • Windows Azure AppFabric Cachingサービスは30日以内にリリースされます。Windows AzureやSQL Azureのパフォーマンスを向上させることができます。
  • Windows Azure Traffic ManagerをCTPとして提供します。この新しいサービスは、Windows Azureの利用者/顧客が簡単に、複数の地域にまたがっているアプリケーションのパフォーマンスのバランスを取ることができます。
  • Windows Azure Content Delivery Network (CDN)のプレビュー版によりIIS Smooth Streaming機能が提供され、開発者はIIS Smooth Streamingエンコードされたビデオを、Windows Azure Storageアカウントに配置しiOSやAndroid 3.1(Honeycomb)、Silverlightクライアントに配信することができます。

…書いてて http://sqlazure.jp/b/windows-azure/495/ に翻訳があがってたのでそちら参照でw(オファーの話は面倒)

Windows Azure Traffic Manager はベータプログラムから申し込めます。

急ぎはこんなもんかな。

Windows Azure + PHP

Windows Azure上でPHPを動作させる場合、以前ならphp-cgi.exeも一緒にアプリケーションに含めたりしてたと思います。

でもWindows Azure SDK 1.3以降ではスタートアップタスクも利用できるし、Full IIS機能が使えるのでPHPも含めてIIS+FastCGI+PHPな環境にしたいですよね。

ということでおなじみのWebPICmdLineを利用してPHPをインストールするスタートアップタスクです。

@echo off
sc config wuauserv start= demand
md "%~dp0appdata"
reg add  "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d "%~dp0appdata" /f
webpicmdline /Products: PHP53 /AcceptEula
webpicmdline /Products: wincache53 /AcceptEula
reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d %%USERPROFILE%%\AppData\Local /f
net start w3svc

ついでにPHPのアクセラレータとしても利用できるWincacheも入れてます。
※WincacheをインストールするとどうもIISが止まるようなのでサービス開始のコマンドも入れてます。

後は以下のようにサービス定義ファイル(.csdef)でタスクを呼び出すようにします。
<Startup>
    <Task commandLine="InstallPHP.cmd"  executionContext="elevated" taskType="simple" />
</Startup>

これでアプリケーションの開発者は純粋にPHP部分だけに注力できますね。

ロールのエントリポイントも別途起こせるのと、CSPackを利用すれば大分Windows Azure固有の部分を減らせる=PHP開発者がすぐにWindows Azure アプリケーションを開発できるんじゃないかなーと思います。

参考: How to Configure IIS Components in Windows Azure (MSDN)

追記。Windows Azure Command-line Tools for PHPなるものがあるので、こんな苦労しなくてもいいかも知れませんね。\(^o^)/

無聊を託つさんへ

お手紙ありがとうございます。

すっかり春の陽気で過ごしやすくなりましたね。まだまだ朝晩は冷え込みますのでお体にはお気を付けください。あ、MVPおめでとうございます。
おいらといいますと、おかげさまで元気に忙しく過ごさせて頂いています。

さて例のWCF Data ServicesをFormsAuthenticationでアレコレしてゴニョゴニョする件ですが、ASP.NET MVCのアクションメソッドでこうするとできるんだ~!という新しい知見が開けて大変興味深かったです。

ASP.NET MVCのアクションでやる場合、楽ちん・便利という視点ではなく、アプリケーション全体として見てどうなのかな?と単純に思いました。

WCF Data Servicesのみで完結させた場合は以下のような特徴が考えられます。

  • サーバーサイド(WCF Data Services側)でログオン処理を記述する必要が無い(Web.configに追記でOK)
  • ASP.NETなWebアプリケーションと分けることが出来る(代わりに仮想アプリや仮想サイトが分かれたりしますが)
    つまりMembershipプロバイダを分けることも同じものを使うこともできる

ではASP.NET MVCのアクションの場合はというと。

  • アクションを実装する必要があるが認証の方式を変えたり、ID/Password以外の要素でも評価できる(Authentication_JSON_AppService.axdの仕様に左右されない)
  • 仮想サイト(仮想アプリケーション)が1つで済む
  • Membershipプロバイダを使う必要が無い(もちろん使ってもよい)
  • きめ細かく動作を制御できる

などがありそうです。まぁどちらもにわかな人が考えた内容なので間違ってるかもしれませんが。。

個人的に思うのはやっぱりアプリケーションの構成をどうするか、認証方式をどうするか/したいか、が一番大きなポイントでしょうか。

もともとはおいらが求めた要件にマッチするのがWCF Data Servicesで完結させる方法だった、というのとWebアプリ/データアクセス/認証をできるだけ分離しておきたかったというのが大きなポイントで以前の投稿のような形式になった背景がありますので、単純な比較は難しいですね。(Federation認証等ともからんじゃったり色々…)

ということでケースバイケースという魔法のことばでぽぽぽーん集約してしまいますが、ボツネタにならず公開して頂いてよかった!と思いますです。

あぁ、この内容こそ没ネタにすべきだったかなw

あと関係ないですがTHE CODE PROJECTはいろいろ勉強になりますね。

ではでは。