サービスがわかりにくい
Web アプリケーション
Azure App Service は AWS Elastic Beanstalk に対応
Web アプリケーションやサービスをデプロイおよびスケーリングするための使いやすいサービスを提供するマネージド ホスティング プラットフォーム。
むむ、App Service > Web Apps という説明もあるぞ。名前が統一されていないのは困る。
VSCodeからデプロイする先は何?
で、VSCode からデプロイできるのはどれなんだ?
デプロイする先のサービスはなんなんだ?
→App Serviceにアプリケーション名を作成してそこにフロントエンドのプロジェクトなりバックエンドのプロジェクトなりをデプロイする。
プランの話が出てきたぞ
お、わかりやすい
App Service は Azure VM 上で実行される。
プランのレベルが高いほど、スケールアウトに使用できる VM インスタンスが多くなる。
しかし、基本レベルだと、複数の客が同じ Azure VM 上でアプリを実行。リソースはスケールアウトしない。
課金まわりがわかりにくい
これによると、
「AppServiceプラン1つに対してかかるので、1つだけアプリケーションをデプロイして動作させても、複数のアプリケーションをデプロイして実行させてもAppServiceプランに課金される金額は変わらない」
複数デプロイでも課金は変わらない、ということ。おお。
プラン、インスタンス、アプリ、デプロイの関係がわかりにくい
これを参考に、今のところ次のような関係と理解しておく。
- App Service プランその1:フー
- インスタンス
- アプリA ← デプロイ
- アプリB ← デプロイ
- インスタンス
- App Service プランその2:バー
- インスタンス(デフォルト側)
- アプリC ← デプロイ
- アプリD ← デプロイ
- インスタンス(スケールアウト側)
- (アプリC)
- (アプリD)
- インスタンス(デフォルト側)
「App Service プランその1:フー 」に2つのアプリをデプロイ。インスタンスが1個なので1個のVMにて2個のアプリが同居、つまりリソースを奪い合って動作する。
「 App Service プランその2:バー」に2つのアプリをデプロイ。アプリは2個のインスタンスに同じように配置される。デフォルト側のインスタンス(VM)が処理をおこなう中、必要に応じて自動的にスケールアウト側のインスタンス(VM)も動作する。
プランとサービスとアプリ?いやはやまったくもう
ところが、ぐぐればぐぐるほど混迷。特殊概念というか言葉とお金の問題が初心者にはわかりにくいのです。なんか名前が似てるし。腹落ちしない。ぐぐってわかりやすい説明を探すしかない。
参考1
すっきり解説してくれています。
「1つのApp Serviceプラン上で、幾つApp Serviceを紐付けても課金は変わりません。」
おおなるほど。
参考2
解説図がわかりやすい。
「App Serviceプラン=VMと考えてもらってもOKです。」
ふむふむ。
デプロイとは
App Serviceにデプロイ=開発環境で動作確認済のアプリケーションが出来たら、App Service内にアプリ名(グローバルで一意な名前)を追加し、ランタイムを選択し、デプロイする。
App Service は PaaS なので、このように開発してからデプロイまでが簡単なのである。逆にサーバー内の細かな設定はいじれない。
再度、自分なりに整理
- App Service プラン
- VM
- 1つのプラン内にアプリを複数デプロイしても課金は変わらない
- プランのレベルが高いとオートスケールなど技術的な広がりを持つことができる
- アプリのことも App Service という
- 言葉の判別的に困る。初心者には大問題。
- App Service の名前
- アプリの名前
- グローバルで一意
- アプリの名前
コメント