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^)/

CSPack を使って CSRun したり Startup Tasks を使ったりしたい

この間の続きです。
この間は簡単にCSPackでWindows Azureのデプロイパッケージを作成する方法を記載しました。

ただ、後でわかりましたが前回のフォルダ構成だとWindows Azure SDK 1.3から使えるStartupTasksの利用時やCSRunコマンドを使ったCompute Emulatorでの実行時に問題があることがわかりました。

なので今日はその辺のフォローアップをしたいと思います。

続きを読む →

CSPack で Windows Azure デプロイパッケージを作成する

なぜ Windows Azure Tools for Visual Studio があるのにわざわざCSPackなのか。答えはそこに運用があるから。

とか適当に言ってみましたが、今日はCSPackのお話しです。
CSPack.exeは簡単にいうとWindows Azureのホストサービス上に、展開する際に必要な各ロールのファイル群が固まっているデプロイ用パッケージファイル(.cspkf)を作成する、Windows Azure SDKに含まれるコマンドラインツールです。

結局のところ Windows Azure Tools for Visual Studio も発行メニューから最終的なパッケージを作る際にCSPackを呼び出すか同等の事をやっています。

で、最初の一言に戻りますが、なんでVisual Studio等のIDEで簡単にやってくれるのにわざわざコマンドラインツールが必要なの?というところですが、逆に言うとVisual Studioなりのツールない人はどうするの?という問題を解決するにはこのCSPackしかないのですよね。

小規模であれば、開発する人、Windows Azureにデプロイする人、Azureに関連する技術に詳しい人は同一人物か、もしくは少人数なので対して問題にはなりませんがそれなりの規模を回すとなると必ず分業することになってくると思います。

今回はそういった分業する際のある程度の指針と、実装方法を考えると共にCSPackでのパッケージ作成を紹介したいと思います。

続きを読む →