読者です 読者をやめる 読者になる 読者になる

しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

最近のアップデートで Azure Web サイトは PaaS として最強になってきたと思う

相変わらず私は Azure Web サイト大好きなんですが、やっぱり実際に使っていると不満や心配事も色々と出てくるわけですよ。その一例をつらつらと挙げてみます。

  • 仮想ネットワークに参加出来ない
    • Hybrid Connection は BizTalk のコンポーネント入れたりめんどくさい
  • CDN のエンドポイントとして指定できない
    • Web Deploy とは別に Blob にファイルを上げて CDN を有効にしないといけない
  • 最大で 10 インスタンスまでしかスケールしない
    • かなりのリクエストが想定されるアプリケーションではクラウドサービスしか選択肢がない
  • バッチ処理に弱い
    • 結局ワーカーロールや仮想マシンを立てることに
  • 共有キャッシュがディスコンの Managed Cache しかない
    • Redis Cache は Preview なので本番で使うのはまだ不安が残る

しかし、ここ最近の怒涛のアップデートでほぼ解消された感があります。

仮想ネットワーク対応

Azure Websites Virtual Network Integration | Microsoft Azure Blog

Web サイトと仮想ネットワークの間を SSTP で接続できるようになりました。Hybrid Connection はコレジャナイ感が半端なかったですが、ようやくセキュアかつ標準的な方法でオンプレのリソースにアクセス出来るようになりました。

CDN エンドポイント統合

Enabling a CDN Endpoint in Azure Websites | Microsoft Azure Blog

これまではクラウドサービスか Blob しか CDN の対象に出来ませんでしたが、ようやく Web サイト自体を CDN の対象にすることが出来るようになりました。

クラウドサービスでは /cdn 以下が対象でしたが、Web サイトは / 以下の全てが対象になるので、動的コンテンツの扱いには注意が必要です。しかし、これまでは Blob に静的なファイルを置いて CDN を有効にするという使い方が多かったですが、これからは Web Deploy したファイルがそのまま CDN で配信されるようになるので、管理が別々にならずに便利です。

10 インスタンス以上のスケーリング解禁

Scale is never a problem with Azure Websites | Microsoft Azure Blog

ソフトウェア的な制限により最大でも 10 インスタンスまでしかスケールアウト不可能でしたが、サポートに相談することで 10 インスタンス以上のスケールアウトが可能になりました。ただし、クラウドサービスのコア数変更と同じように与信が必要になるようです。

ちなみに現在 25 インスタンスまで増やしてくれリクエストを投げてますが、めっちゃ時間かかってます。

追記

インスタンス最大数の増加リクエストは却下されてしまいました。理由はちょっと複雑なのでまたどこかで。

WebJobs SDK が正式リリース間近

Announcing the 1.0.0-rc1 of Microsoft Azure WebJobs SDK | Microsoft Azure Blog

Visual Studio 2013 Update 3 で WebJobs のデプロイなどが統合され、使い勝手が大幅に増しましたが SDK 自体もようやく 1.0.0 の正式版がリリース間近になりました。

ストレージと組み合わせた処理を実装する場合には WebJobs SDK を使わないのは損と言えるぐらい便利なので、そろそろ本格的に使っていくべきだと思います。

Azure Redis Cache と関連ライブラリが GA

General Availability: Azure Redis Cache

Azure Redis Cache が東日本にデプロイされたから 1 ヶ月も経っていませんが、ついに GA になりました。

http://azure.microsoft.com/ja-jp/pricing/details/cache/

気になる料金は 11/1 から反映されますが、全体的に Managed Cache よりも安くなっているので、もう不安定な Managed Cache なんてさっさと円環の理に導いてもらいましょう。

Managed Cache クライアントが提供していた SessionStateProvider と OutputCacheProvider を使っていた場合でも、簡単に Redis 版のプロバイダに乗り換えることが出来ますよ。

NuGet Gallery | RedisSessionStateProvider 1.0.0
NuGet Gallery | RedisOutputCacheProvider 1.0.0

こっちも Redis Cache の GA と同じタイミングで正式版がリリースされてます。

まとめ

もう Web アプリケーションの運用環境は Azure Web サイトでいいと思う。

出来れば、もうちょっと安くなってくれたら嬉しい…。