他のクラウドサービスと同様にAzureでも、Azure仮想ネットワークとオンプレミス(自社所有)環境を専用線で接続したうえで、仮想マシンの利用から始めるユーザーは多い。

 だが仮想マシン中心のクラウド利用では、クラウドのメリットを本当に享受できるとはいえない。クラウドを最大限に活用するには、仮想マシンの管理から解放されるPaaSの利用を積極的に進めたい。PaaSを利用すれば、IaaS利用と比べて運用コストの削減とシステム構築の期間短縮が可能となり、可用性が高まる。

 Azure PaaSの中でも導入しやすく効果を上げやすいのが「Azure App Service Web Apps」。Web Appsは、WebサイトやWebアプリケーションのシステム構築に使うサービスである。

運用作業の負担を軽減

 Web Appsであれば、OS、ミドルウエア、Webサーバーなどの構成やパッチ適用作業をユーザーが行う必要はない。冗長化や負荷分散の構成もMicrosoftに任せられる。

 インスタンスのサイズの伸縮(スケールアップ/ダウン)は、簡単な操作で可能だ。負荷に応じて自動的にインスタンス数を増減(スケールアウト/イン)させる自動スケーリングの機能も備える。

 そのためインフラ担当者にとって、運用作業の負担軽減となるだけでなく、インフラのノウハウを持たない開発者が自ら基盤を構築し、Webアプリケーションを動作させることにもつながる。特にVisual Studioを用いてASP.NETなどでアプリケーションを作成している場合は、Visual Studio内でアプリケーションの展開先を切り替えるだけで、簡単にWeb Appsを利用できる。

 Web Appsは従来、Windows上のIISベースの基盤のみが利用可能だった。Linuxをベースとした「App Service on Linux」が2017年9月に一般提供されたことによって、Linuxのアプリケーションにも対応するようになった。

 2017年9月には、コンテナ化されたWebアプリケーションをデプロイ・実行する関連サービス「Web App for Containers」も一般提供になった。Web App for Containersでは、コンテナ内に任意のライブラリを配置でき、それを利用するWebアプリケーションを動作させられる。

 そのため現在は、WindowsかLinuxか、必要なライブラリが何かを問わず、大半のWebアプリケーションを、Web AppsおよびWeb App for Containersによって動作させることが可能だ。

 もちろんPaaSであるがゆえのデメリットもある。それは、システムをそのままの状態で長期にわたって維持できないことだ。Web Appsの基盤を構成するOSのバージョンアップなどの影響を受けるし、古いミドルウエアのサポートが打ち切られることも考えられる。

 それでもWeb AppsおよびWeb App for Containersのメリットは、そうしたデメリットを上回る。本稿を読んで機能や特性を理解し、使いこなしてほしい。

 以降では、Web AppsをWeb App for Containersを含むものとして用いる。両者を区別する場合は、Web App for Containersにも言及する。