Azure App Service を調べる

完了

Azure App Service は、Web アプリケーション、REST API、およびモバイル バックエンドをホストするための HTTP ベースのサービスです。 お気に入りのプログラミング言語またはフレームワークで開発できます。 アプリケーションの実行とスケーリングは、Windows ベースの環境と Linux ベースの環境の両方で容易に行うことができます。

組み込みの自動スケールのサポート

スケールアップとスケールダウンまたはスケールアウトとスケールインの機能は、Azure App Service に組み込まれています。 Web アプリの使用量に応じて、Web アプリをホスティングしている基盤のマシンのリソースをスケールアップまたはスケールダウンできます。 リソースには、コア数または使用可能な RAM の容量が含まれます。 スケールアウトとスケールインは、Web アプリを実行しているマシン インスタンスの数を増減させる機能です。

コンテナー サポート

Azure App Service を使うと、コンテナー化された Web アプリを Windows と Linux にデプロイして実行できます。 プライベートの Azure Container Registry または Docker Hub からコンテナー イメージをプルできます。 Azure App Service では、マルチコンテナー アプリ、Windows コンテナー、コンテナー インスタンス調整用の Docker Compose もサポートされています。

継続的インテグレーション/デプロイのサポート

Azure portal からは、開発用コンピューターで Azure DevOps Services、GitHub、Bitbucket、FTP、またはローカル Git リポジトリを継続的に統合し、デプロイするためのすぐに使える機能が提供されます。 Web アプリを上記のいずれかのソースに接続すると、App Service はコードと今後の変更を Web アプリに自動同期することで、残りの処理を行います。 コンテナー化された Web アプリの継続的インテグレーションとデプロイも、Azure Container Registry または Docker Hub を使ってサポートされます。

デプロイ スロット

Web アプリをデプロイするときに、Standard App Service プランレベル以上で実行している場合は、既定の運用スロットではなく、別のデプロイ スロットを使用できます。 デプロイ スロットは、固有のホスト名を持つライブ アプリです。 アプリのコンテンツと構成の各要素は、(運用スロットを含む) 2 つのデプロイ スロットの間でスワップすることができます。

App Service on Linux

App Service では、サポートされているアプリケーション スタック向けに Web アプリを Linux 上でネイティブにホストすることもできます。 また、カスタム Linux コンテナー (Web App for Containersとも呼ばれます) を実行することもできます。 App Service on Linux では、さまざまな言語に固有の組み込みイメージがサポートされています。 コードをデプロイするだけで済みます。 サポートされる言語とフレームワークには、.NET Core、Java (Tomcat、JBoss EAP、または埋め込み Web サーバーを備えた Java SE)、Node.js、Python、PHP があります。 アプリケーションに必要なランタイムが組み込みイメージでサポートされていない場合、カスタム コンテナーを使用してデプロイできます。

言語とサポートされるバージョンは定期的に更新されます。 Cloud Shell で次のコマンドを使用すると、現在の一覧を取得できます。

az webapp list-runtimes --os-type linux

制限事項

App Service on Linux にはいくつかの制限があります。

  • App Service on Linux は共有価格レベルではサポートされていません。
  • Azure portal では、Linux アプリで現在動作している機能のみが表示されます。 機能が有効になると、ポータルでアクティブになります。
  • 組み込みイメージにデプロイされているコードとコンテンツには、Azure Storage によってサポートされる、Web コンテンツ用のストレージ ボリュームが割り当てられます。 このボリュームのディスク待ち時間は、コンテナー ファイルシステムの待ち時間よりも長く、可変です。 コンテンツ ファイルに対する高負荷の読み取り専用アクセスが必要なアプリでは、コンテンツ ボリュームではなく、コンテナー ファイルシステムにファイルを配置するカスタム コンテナー オプションを使用した方が有益な場合があります。

App Service Environment

App Service Environment は、App Service アプリを実行するための完全に分離された専用の環境を提供する Azure App Service 機能です。 これは、高度なセキュリティを提供します。

サポート インフラストラクチャが App Service Environment と共有されている App Service オファリングとは異なり、コンピューティングは 1 人の顧客専用です。 App Service Environment と App Service の違いの詳細については、の比較を参照してください。