Webアプリを創る

Windows Azure を使ってみる

2009年8月7日

Microsoft 社が提供するクラウドサービス Windows Azure の概要と価格が7月14日に公表されたので実際にWindows Azure CTPを使用してみました。Microsoft のAzure のページから申し込むと3日後にinvitation code が送られてきて使用できるようになりました。Visual Studio にWindows Azure Tools for Microsoft Visual Studioを導入すれば、ストレージに関する部分を除いてはスムーズに移行することができました。
SQL Azure については、今春に仕様変更をした関係で、近くCTP版が使用できるようになるようです。SQL Azure は、SQL Server 2008 をベースにしており互換性が高く、既存のSQL Server ベースのアプリケーションをAzure上に容易に展開できるようなので、SQL Azure のCTP版が公開されたら本格的に使ってみようと思っています。

価格の方ですが、CPU 1時間あたり0.12ドル、ストレージ1ヶ月1GBあたり0.15ドル、ストレージトランザクションが1万回あたり0.01ドル、帯域幅が1GBあたり発信で0.15ドル、受信で0.1ドルです。Google App Engine と比較すると無料分がなく単価もやや割高です。どの程度割高か、無料分をWindows Azure を使用した場合の料金を試算してみると、Google App Engine では、比較的効率のよいアプリケーションで月500万ページビューを無料で処理できるということなので、AzureのCPU時間の計算をAmazon EC2 のCPU時間の計算と同じだと仮定して試算してみると、以下のように月額で1万円程度になります。小規模なホストでは、Google App Engine とではかなりのコスト差になると思われます。

項目 価格(ドル) 備考
CPU 86.40 24時間×30日×0.12ドル/時間
ストレージ 0.15 1GB×0.15ドル/GB
帯域幅(発信) 4.50 1GB×30日×0.15ドル/GB
帯域幅(受信) 0.90 発信帯域幅の20%と仮定
ストレージトランザクション 5.00 500万×1回×0.01ドル/1万回
1ページビューで1ストレージトランザクションと仮定
96.95  

Azure のCPU時間の計算は、発行(deploy)してから削除するまでの時間なので、Web ロールのように24時間立ち上げておく場合は、1ヶ月で24時間×30日分が必要になってくると思われます。Web ロールとWorker ロールの両方を使うと2倍の192.8ドルになると思われます。
こうしてみるとコストのほとんどがCPUの料金ということになりますが、割引も導入されると思われます。Google App EngineのCPU時間は、実際にアプリケーションが利用する時間を細かく計算するため、無料分の6.5時間で小規模なホストは無料で処理できるということのようです。

Azureには、SLA(Service Level Agreement)があること、Google App Engineでは利用できない.NET系の言語、PHP等の言語、SQL Azureを利用できるので、どちらのサービスを利用するかは、用途や開発者がどの言語やツールに慣れているかによっても選択されるように思います。月500万ページビューのサーバーが無料や1万円程度で運用でき、追加料金さえ払えば、すぐに大規模なシステムでの運用ができるということで、いずれにしてもクラウドのコストパフォーマンスのよさには圧倒されます。

クラウドを使用することにより、資金がなくてもアイデアとプログラミングの才能さえあれば,短期間で大規模なシステムを運用することが可能になります。ITの世界は今までも変化が非常に激しい世界ですが、クラウドによって、また栄枯盛衰の世の中が見られるように思われます。

mojoPortal が 2.3.1.3 にバージョンアップ

2009年8月6日

mojoPortal が2.3.1.3 にバージョンアップされています。今回のバージョンアップでは、コンテンツのワークフローの強化やバグフックス等の改善がなされています。また、mojoPortal の日本語の翻訳が古くなってきていましたので、日本語の翻訳を更新しました。

1.コンテンツのワークフローの強化

コンテンツのワークフローの強化がなされて以下のように原稿にみを編集できるロールを設定できるようになりました。
Web.config の設定で EnableContentWorkflow をTrue(標準でTrueになっている)設定して、サイトの設定で Enable Content Workflow にチェックをします。
image
すると、コンテンツのワークフローが有効になって、ページ設定のセキュリティタブを選択すると以下の図のように「このページを原稿として編集できるロール」というタブが表示されるようになります。例えば、Content Authers にチェックをすると、Contet Authers ロールに属するユーザーがページの原稿を作成できるようになります。
 image 
また、「このページを原稿として編集できるロール」を設定すると下の図のように、そのページに編集権限かを持つユーザーには、ドロップダウンリストが追加され、Work in Progress と Live Content が選択できるようになります。Work in Progress を選択すると現在の原稿が表示されます。
image
「原稿として編集できるロール」が原稿を保存をすると下の図のように「キャンセル」、「承認依頼」、「情報」のアイコンが追加表示されます。
image

「承認依頼」のアイコンをクリックすると編集権限をもつユーザーには、下の図のように「キャンセル」、「拒否」、「承認」、「情報」のアイコンが表示されます。
image

「拒否」のアイコンをクリックすると拒否の理由を記入するページが表示されます。
image
「原稿として編集できるロール」のユーザーは「情報」アイコンをクリックすると編集者が拒否をしたことがわかります。また、編集画面で拒否理由を見ることができます。

image

編集者が「承認」をすると公開されます。

2.Web Store の改善

プロモーション用のファイルがダウンロードできるようになったそうです。

3.その他

HTML 5 を容易に利用できるようになったほか、バグフィックスがされたそうです。

ホスティングサーバーで ASP.NET MVC を使ってみる

2009年7月19日

4月にオープンソースライセンスとしてバージョン1が正式にリリースされた ASP.NET MVC をホスティングサーバーで使おうと思ってテストをしてみました。ほとんどのホスティングサーバーで簡単に利用できることがわかりました。

ローカルマシンに、ASP.NET MVCをインストールして、ASP.NET MVC のサンプルをコンパイルして、ホスティングサーバーにアップロードしました。サーバーにASP.NET MVCがインストールされていない場合は、以下の図のように「ファイルまたはアセンブリ ‘System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35′、またはその依存関係の 1 つが読み込めませんでした。」というエラーが発生します。

image

サーバーに、ASP.NET MVC がインストールされていない場合、VS2010 Beta のドキュメント方法:ASP.NET の MVCアプリケーションの発行を見ていると、Bin フォルダーに必要なアセンブリをアップロードすれば大丈夫ということです。ASP.NET 3.5 SP1 以上の環境が必要だと書いてある資料もあるのですが、ASP.NET 3.5以前の場合でも動作するし、mono でも動作するようです。ASP.NET 3.5 SP1 の場合には、System.Web.Mvc のみを、ASP.NET 3.5 以前の場合には、以下の3種類のアセンブリをBin フォルダーにアップロードします。また、これらのセンブリは、信頼レベルが中(Medium Trust)で動作するということなので、殆どのホスティングサーバーで対応していると思います。

  • System.Web.Mvc (ASP.NET MVC アセンブリ)
  • System.Web.Routing (ASP.NET MVC が必要とする .NET Framework アセンブリ)
  • System.Web.Abstractions (ASP.NET MVC が必要とする .NET Framework アセンブリ)

アセンブリをアップロードするためには、発行の前に、以下の設定をしておくのが簡単です。ソリューション エクスプローラで参照設定を展開して、System.Web.Mvc、System.Web.Routing、System.Web.Abstractions(ASP.NET 3.5 SP1 の場合には、System.Web.Mvc のみで可) を選択して右クリックしてプロパーティを選択し、プロパティ ウィンドウで、ローカルコピーをTrueに設定します。

image

ASP.NET MVC 関係リンク

Microsoft ASP.NET のMVCのページ
MSDN マガジン 2008年3月 ASP.NET MVC: Web フォームを使用しないで Web アプリケーションを作成する
IIS/Windows サーバー徹底解説 ASP.NET MVC 入門
@IT Inside.NET NerdDinnerチュートリアル
@IT Inside.NET ASP.NET MVC入門
CodeZine もう一つのASP.NET「ASP.NET MVC」を知る
マイコミジャーナル 一体何が新しいの? 新フレームワーク「ASP.NET MVC」の勘所をおさえる

Artisteer 2 と Internet Explorer 6

2009年7月15日

Artisteer 2 は、ウェブページのテンプレートを簡単に作成してくれる便利なソフトです。このホームページのトップについても、Artisteer 2 で作成しました。Artisteer を使っていて問題となるのが Internet Explore 6 への対応についてです。トップページも、Umbraco とActiveWebでの設定がマッチしていないため、Javascript の動作がうまく動作せず、その関係でIE6では、正常な表示ができていません。IE6の問題については、Artisteer 側の問題かといえば、必ずしもそうではなく、IE6用のCSSの作成に苦労していることはよくわかります。最近、Google Maps が動作しないという問題も発生しました。Artisteerのフォーラムの記事をみて、Style.ie6.css の一番最初にあるimg{….}の3行をコメントアウトしました。IE6への対応で一番の解決方法は、IE6のことを考慮しなくてもいいような時代が来ることのようですね。

Windows 7 RC で Umbraco と mojoPortal のインストールに失敗

2009年7月10日

Windows 7 RC で Umbraco と mojoPortal をインストールしてみましたが、両方ともインストールに失敗してしまいました。原因は、どちらもIISのアクセス許可の関係でした。RC版なので原因を追及するのはやめました。
Windows 7 は、評判がいいようですが、料金を払ってバージョンアップをするだけの魅力があるかどうかは疑問です。Vistaのようにダウングレードしたいという気にならないだけよくなったかな。
image

image