アプリケーション ホスティングのオプションについて説明する
Azure でアプリケーションをホストする必要がある場合、最初に仮想マシン (VM) またはコンテナーを導入することをお勧めします。 VM とコンテナーはどちらも優れたホスティング ソリューションを提供します。 VM では、ホスティング環境を最大限に制御できます。また、思いどおりの方法で構成できます。 クラウドを初めて使用する場合、VM が最もなじみのあるホスティング方法になるかもしれません。 コンテナーは、ホスティング ソリューションのさまざまな側面を分離して個別に管理する機能を備え、堅牢で説得力のある選択肢でもあります。
Azure App Service など、Azure で使用できるホスティング オプションは他にもあります。
Azure App Service
App Service を使用すると、インフラストラクチャを管理することなく、任意のプログラミング言語で Web アプリ、バックグラウンド ジョブ、モバイル バックエンド、RESTful API を構築し、ホストできます。 これにより、自動スケーリングと高可用性が提供されます。 App Service では、Windows と Linux の両方がサポートされています。 GitHub、Azure DevOps、またはあらゆる Git リポジトリからの自動デプロイを可能にし、継続的デプロイ モデルにサポートします。
Azure App Service は、Azure でアプリをホストするために使用できる堅牢なホスティング オプションです。 Azure App Service を使用すると、アプリの構築と保守に集中できます。環境の稼働は Azure が引き受けます。
Azure App Service は、Web アプリケーション、REST API、およびモバイル バックエンドをホストするための HTTP ベースのサービスです。 .NET、.NET Core、Java、Ruby、Node.js、PHP、Python など、複数の言語がサポートされています。 Windows と Linux の両方の環境もサポートしています。
アプリ サービスの種類
App Service を利用すると、次のような最も一般的なアプリ サービスのスタイルをホストできます。
- Web アプリ
- API アプリ
- WebJobs
- モバイル アプリ
App Service によって、Web からアクセス可能なアプリのホストでユーザーが扱うインフラストラクチャ関連の決定の多くが処理されます。
- デプロイと管理はプラットフォームに統合されます。
- エンドポイントはセキュリティで保護できます。
- サイトは、高トラフィック負荷を処理するため迅速にスケーリングすることができます。
- 組み込みの負荷分散機能とトラフィック管理機能によって可用性が高くなります。
このようなアプリのスタイルはすべて、同じインフラストラクチャでホストされ、以上のような利点が共有されます。 この柔軟性により、App Service は、Web 指向アプリケーションをホストする理想的な選択肢となります。
Web アプリ
App Service には、ASP.NET、ASP.NET Core、Java、Ruby、Node.js、PHP、または Python を使用し、Web アプリをホストするための完全サポートが含まれます。 ホスト オペレーション システムとして Windows か Linux のいずれかを選択できます。
API アプリ
Web サイトをホストする場合と同様に、選択した言語とフレームワークを利用し、REST ベースの Web API を構築できます。 Swagger の完全サポートを受けられるほか、API をパッケージ化し、Azure Marketplace で公開できます。 作成されたアプリは、HTTP または HTTPS ベースの任意のクライアントから利用できます。
WebJobs
WebJobs を使用すると、プログラム (.exe、Java、PHP、Python、または Node.js) やスクリプト (.cmd、.bat、PowerShell、または Bash) を Web アプリ、API アプリ、モバイル アプリと同じコンテキストで実行できます。 それらは、スケジュールしたりトリガーで実行したりすることができます。 多くの場合、WebJobs は、アプリケーション ロジックの一環としてバックグラウンド タスクを実行するために使用されます。
モバイル アプリ
App Service の Mobile Apps 機能を使用し、iOS アプリや Android アプリのバックエンドをすばやく構築します。 Azure portal で数回のアクションを行うだけで次を実行できます。
- クラウドベースの SQL データベースにモバイル アプリ データを格納する。
- MSA、Google、X、Facebook など、一般的なソーシャル プロバイダーに対して顧客を認証する。
- プッシュ通知を送信する。
- C# または Node.js でカスタム バックエンド ロジックを実行する。
モバイル アプリ側には、ネイティブ iOS アプリ、ネイティブ Android アプリ、Xamarin アプリ、React ネイティブ アプリに対する SDK のサポートがあります。