Azure App Service
Azure App Serviceについてまとめました。
随時更新します。普段Pythonを使うので主にそういう視点からのコメント・考察が多いです。
それぞれの構築手順へのリンクも貼っておきます。
サービスの分類、階層構造
- Azure / App Service / Web App: 構築手順
- Azure / App Service / Web App for Containers
- Azure / App Service / その他のApp Serivice
要するにWeb AppとWeb App for Containersは同じ階層の別サービス。
Web App
構築手順はこちら「Azure Web App + Python」
- PaaS: アプリケーションを載せる
- OS: Windows or Linuxを選択可能
- Windows OSを選択した場合
- WebサーバはIIS -> web.3.4.config / web.2.7.configに設定を記述
- ライブラリは -> requirements.txtに変更があったら自動でインストールしてくれる
- pipでインストールできないライブラリがある(具体例と解決法)
- Linux OSを選択した場合
- Pythonが選択できない
- Windows OSを選択した場合
- Pythonバージョン: 2.7か3.4(他も可能だが面倒)
- CI: Githubなどと連携しておくことで可能
- プラン: Free / Sharedプランで無料から始めることが可能
- スケールアップ: プラン変更により簡単に可能
Pythonは、むむむ。
App Service は、ASP.NET、Node.js、Java、PHP、Python を最高レベルでサポートしています。
他はとても使い勝手がいいがPythonとの連携周りで詰まることが多い。
ぐだぐだの思考↓
- VMにしろEC2にしろIaaSでもWebサーバやら仮想環境やらpipやらで詰まったなぁ
- やっぱりAnsibleやらChefやらを覚えて、VMと組み合わせるのが早いんじゃないか
- それともDocker?何れにしても学習コストが高い
- PaaSなら楽をできると思ったけどそんなことはなかった
- 結局デプロイでは永遠に苦しみ続けるのか
- もはや全てJSに任せればサーバ環境で苦しまなくて済むのでは?
Web App for Containers
こちらに構築手順をまとめました。
- PaaS: Docker形式のコンテナイメージを載せる
- OS: Linux
- コンテナイメージ: 自作のもの、もしくはDockerHubのものが利用可能
- CI: DockerHubと連携することで可能
- ただしWebhookの設定をするのでWeb Appに比べると初期設定が面倒(詳細)
- プラン: Free / Sharedプランが使えないので無料から始めることが不可能
- Web Appと比較して一部制限事項あり(詳細)