しばやん雑記

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

Ignite 2020 で発表された App Service に関するアップデート

Ignite 2020 が始まって、いつも通り Azure Update のフィードが大量に流れてきていますが、App Service 以外にはあまり興味が無いのでいつも通り App Service 周りだけまとめます。

App Service のセッションは見当たらなかったですが、Book of News と Update で十分把握できます。

久し振りに App Service のインフラ周りに大きなアップデートがあったので結構テンションが上がっています。最近はコンテナ勢に押され気味でしたが、もう App Service で十分という機運がさらに高まっています。

Azure Functions に関しては明日の YouTube Live で何かしらアップデートがあると思われます。

Premium V3

App Service の本番向けインスタンスと言えば Dv2 ベースの Premium V2 が常識でしたが、Dv4 ベースとなった Premium V3 が追加されました。久し振りに 8 コアの App Service Plan が戻ってきました。

既に使えそうな書き方がされてますが、デプロイ出来なかったので 10/1 からの予感です。*1

Cascade Lake ベースの最新 VM で、Windows / Linux / Container の全てで使えます。コア数とメモリ容量からして D2_v4 / D4_v4 / D8_v4 がそのまま P1V3 / P2V3 / P3V3 に割り当てられているようです。

Premium V2 は Dv2 ベースだったので仮想コア == 物理コアでしたが、Dv4 は Hyper-Threading が有効になっているので ACU はちょっと低いです。しかしその分価格が安くなっているのがメリットです。

最大で 8 コア 32GB メモリというインスタンスなので、これまでは App Service では難しかったメモリを大量に消費する系のアプリケーションにも対応できるようになっています。これまで以上にアプリケーションを高密度に積むことも出来ますね。

気になる価格はまだ Pricing のページが公開されていないので不明な点が多いですが、East US で P1V3 が $0.32/h から使えるようです。これは P2V2 よりも安いですがメモリは多いのでお得感あります。

Reserved Instance, Dev/Test pricing

App Service の特性上、常時稼働するインスタンスが存在することがほとんどなので欲しかったのですが、ついに Reserved Instance が選べるようになりました。3 年間の予約で最大 55% 引きで利用できます。

長期的に使うことがほぼ確定しているアプリケーションの場合は検討する価値ありです。

そして最高だと思ったのが Premium V3 と V2 に対して Dev/Test 用途の価格が用意されていることですね。

これまで開発・ステージング環境で VNET Integration を検証する際には、Premium V2 か新しい Stamp に載った Standard が必要でしたが、今後は約 1/3 の価格で Premium V3 / V2 を使えるようになるみたいです。恐らく SLA 無しでサブスクリプションの制限*2とかがありそうですが、魅力的なオプションです。

Terraform などで開発・ステージング・本番を同一定義で作っている場合などにも、面倒な切り分けが必要なくなりそうなので、かなり便利な気がしています。

Web App for Containers (Windows) GA

2 年ぐらい Public Preview だった気がしますが、ついに Windows Containers ベースの Web App for Containers が 10/1 に GA です。ぶっちゃけ OS イメージの縮小と最適化に 2 年かかっただけの気がします。

Windows Containers も Premium V3 上で動くようになるようですが、現在の Premium Container は Dv3 ベースなので、Dv4 ベースの Premium V3 へすんなりは移行できなさそうな予感です。

Regional VNET Integration / Private Link / Managed Identity といった通常の App Service と同じ機能が使えるようになっているのは良いですね。WEBSITE_VNET_ROUTE_ALL が通るのかは少し気になるポイントです。

最近は Server Core / Nano Server のイメージサイズもかなり小さくなっているので、ようやく実用的な起動時間で扱えるようになっているかもしれません。

レガシーアプリケーションの塩漬け環境としては Windows Containers は最適な気がしますが、これを機にちゃんと Lift and Shift 出来ればよいですね(遠い目

Isolated V2 (ASE v3)

Isolated V2 と ASE v3 で表記がブレッブレですが、11/1 から Public Preview が開始されるようです。分かりやすい特徴としては VMSS ベースになったことと、固定の Stamp fee が無くなったことが大きいでしょう。

それ以外にはネットワーク構成が大きく変わって、Azure の管理用とアプリケーション用で分離されるようになるらしいです。これまで NSG で Azure 管理用に特定のポートを開ける必要がありましたが、その辺りを気にする必要が無くなるということでしょう。

価格周りは全く情報が出てきていないので、11/1 になったら実際に試してみるつもりです。

GitHub Actions integration

アップデートの内容からは結局どう変わったのかが良く分からないですが、Azure Portal にある Deployment Center がアップデートされて GitHub Actions に対応したという話のようです。

既に数日前から Preview 付きの Deployment Center が見られるようになっていました。

この UI からポチポチとリポジトリやブランチを選べば、GitHub Actions 向けの Workflow ファイルが生成されるという仕組みのようです。

f:id:shiba-yan:20200923012125p:plain

経験上、自動生成で上手くいくケースはあまり多くないので、参考程度に使うのが良いと思います。特に Monorepo だとまずちゃんと動かないはずですし、GitHub Actions は勉強しておいて損はありません。

Azure Functions に関しては特に発表はありませんでしたが、もちろん Premium V3 や RI の恩恵は受けるはずなので、明日の Function Team の YouTube Live を楽しみに待っておきたいと思います。

*1:価格も正式にはまだ公開されておらず 10/1 にアップデートと書かれている

*2:Visual Studio subscriber 限定とか