Azure Web Appsの概要と機能、料金、スケーリング

今回はWebアプリケーションやREST APIをホストする(通信可能な状態とする)クラウドサービスである、Azure Web Appsについて解説します。Azure Web Appsはあらゆる言語の実行とスケーリングを可能とし、さらにホスト環境の運用はAzureに任せられます。まずはAzure Web Appsの概要と機能から確認していきましょう。

Azure Web Appsとは

Azure Web AppsはAzureで展開されているApp Serviceに含まれるサービスです。Webアプリケーションの構築をより容易にするために提供されています。例えば開発したWebアプリケーションを使えるようにするために必要なマシン環境、通信環境、デプロイ環境などを提供します。開発者の生産性を向上させるためにGitHubとソースを統合したり、アプリケーションを実行しながらデバッグしたり、Microsoft Visual Studio IDEから直接Webアプリケーションを実行したりするといった環境も実現します。

ではAzure Web Appsの機能について、より具体的に見ていきましょう。

Azure Web Appsの機能

Azure Webb Appsの機能を一言で説明すると、Webアプリケーションやモバイル機器のバックエンド環境、REST APIをホストすることにあります。ホストするとは、TCP/IPネットワーク上において、WebアプリケーションやREST APIが他の機器やネットワークと通信できる状態にすることです。つまりWebアプリケーションやREST APIを公開し、利用者が使えるようにすることと考えて差し支えありません。

なおAzure Web Appsでホストするwebサービスの開発には、以下の言語が利用可能です。

  • ASP.NET
  • ASP.NET Core
  • Java
  • Ruby
  • Node.js
  • PHP
  • Python

そしてアプリケーションの実行とスケーリング(スケールアップ、スケールアウト)はWindows環境とLinuxベースの環境のどちらにも対応しています。(スケーリングの詳細は後述します)

なお、各言語にはフレームワークが用意されています。例えば.NET CoreのフレームワークはDownload .NET Core 2.2別ウィンドウで開きますよりダウンロードが可能です。

Azure Web Appsの詳細な機能

Azure Web Appsの機能をより細かく解説します。

豊富なテンプレート

Azureにて提供されている「Azure Marketplace別ウィンドウで開きます」から、Azure Web Appsを利用してWebアプリケーションを展開するために必要なテンプレートやソリューションを入手できます。Azure Web Appsで利用できる言語のテンプレートやソリューションの数は17,000以上に上るため、自社の開発効率を最大限高めるサービスが見つかるはずです。

開発効率を高めるためのテンプレートだけではなく、さまざまなセキュリティ上の脅威から守るためのソリューションや、ECサイトの顧客分析を支援するプラットフォームなど、あらゆるニーズに応えるテンプレートが用意されています。

バックグラウンドサービスとして実行できる

Azure Web Appsが複数の言語に対応していることはすでに述べましたが、各言語はPowerShellや実行可能ファイルとしてバックグラウンドで動作させることが可能です。

運用環境のマネージング

OSの更新プログラムは自動的に適用されるため、プラットフォームは常に最新かつ万全の状態を保ちます。プラットフォーム管理者によるホスト環境のマネージメントコストは大幅に減らすことができるでしょう。

Dockerによるコンテナ化

WebアプリケーションをDockerによりコンテナ化して、Web Appsでホスト環境に展開できます。

DevOps(継続的インテグレーションと継続的デプロイ)

Azure Web Appsは運用と改善を継続的に繰り返すDevOps環境に最適化されています。

Visual Studio と Visual Studio Codeを統合する

専用ツールを利用することで、Visual Studio と Visual Studio Codeを統合できることから、コーディング・デプロイ・デバッグ作業を同一プラットフォーム上で行えます。

その他さまざまな機能が用意されています。詳細はAzureの公式ドキュメント「App Service の概要別ウィンドウで開きます」をご覧ください。

Azure Web Appsの料金プラン

Azure Web Appsの料金プランは以下の5つが用意されています。

  • 1.Free
  • 2.Shared
  • 3.Basic
  • 4.Standard
  • 5.Premium
  • 6.Isolated

サービスの価格は上から下に行くほど高くなります。

Freeプランはプレビューの位置づけで、無料枠でAzure Web Appsを試すプランです。Sharedは開発・テスト環境の構築のために設けられているプランで、WebアプリケーションやAPIなどは100個まで対応しています。そしてBasicプランは開発やテスト専用のホスト環境で、一般的なWebアプリケーション開発にはBasicプランを利用することが想定されています。

実際のWebアプリケーション運用環境を実現するのはStandardプランが最低ラインだと想定されています。Standard環境ではディスク領域50GB、最大インスタンス数10、専用コンピューティングに加えて、下位プランにはない多くのサポートが用意されています。

PremiumやIsolatedはStandardプランのディスク領域やインスタンス数に収まりきれない場合に選択されるプランです。

Azure Web Appsのスケーリング

Azure Web AppsはWebアプリケーションの利用状況や想定されるアクセスの波、ピークに合わせて機能をスケーリング可能です。なおスケーリングにはスケールアップとスケールアウトの2種類があります。

スケールアップ

スケールアップとは、CPUやディスク領域、メモリを増やすことです。また自動スケールといった拡張機能を追加することもスケールアップに含まれます。Azure Web Appsでスケールアップするには、Azure App Serviceの料金プランを変更します。

スケールアウト

スケールアウトとは、Webアプリケーションを実行するVMインスタンスの数を増やすことです。利用している料金プランがBasicプランの場合は最大3つ、Standardの場合は最大10,Premiumでは最大30、Isolatedでは最大100までインスタンスを増量可能です。

なお手動または自動でインスタンス数をスケールアウト可能なため、ピークタイムやアクセス数に応じて用意するインスタンス数を変えられます。

まとめ

今回はAzure Web Appsについて、機能や料金プラン、スケーリングについて解説しました。Azure Web Appsを利用することでWebアプリケーション運用環境を改善することができます。また開発効率の向上も見込めることから、既存の運用環境のAzureへの移行、DevOps環境の構築などを考えている方にはAzure Web Appsは検討に値するサービスだと言えます。

ネットワークからクラウドまでトータルサポート!!
NTT東日本のクラウド導入・運用サービスを確認してください!!

Amazon Web Services(AWS)、Microsoft Azureの
導入支援サービスのご相談、お問い合わせをお待ちしております。

ページ上部へ戻る