Microsoft AzureのPaaS、Azure App Serviceが好きでよく使っている。
アプリケーションのデプロイにはお手軽なApp Service build serviceを、使うことが多い。簡単な設定をするだけでリポジトリにPushした内容をビルド、デプロイしてくれてとても便利だ。
このデプロイ、(無料だったり安い)FreeやSharedプランではアプリケーションやデプロイの設定には問題がなくても失敗することがある。
そんなときは(App Serviceのリソースを使って動く)デプロイ処理によってサービスクォータの上限を超過していることが多い。概ねCPU、まれにストレージだ。
FreeやSharedプランはサーバーを占有ではなく複数ユーザーで共有しているため、単位時間内にどのくらいCPUを使用していいかや、ストレージの使用量に上限が定められている。
超過したのがCPU時間の場合、暫く待ってから再デプロイすればいい。
ストレージ容量の場合、単に再デプロイではまた失敗するので、不要なファイルを消してから試す。Azure Portal上の高度なツールから過去のビルドやNuGetパッケージ(のキャッシュ)を消している。
先日、.NET Coreのバージョンを2系から3系に上げたら一気に依存パッケージが増えてストレージ容量のクォータに引っ掛かってしまった。
FreeやSharedプランでホスティングしているアプリケーションのバージョンアップ時にはそんなこともある、と留意されたい。