#はじめに
現在 Azure Web Apps は、下記に示す3種類の WEB サービスを提供しています。この内 Web App on Linux と Web App for Container については、いずれも Linux OS ベースの Docker イメージとして動作しています。Web App on Windows は最も歴史の長い Web App サービスでもあり、Windows/IIS ベースのホスト基盤上で動作しています。
- Web App on Windows
- Web App on Linux
- Web App for Container
#利用者視点での分類
Web App on Windows と Web App on Linux は、OS, WEB サーバーといったアプリケーションの実行基盤は異なりますが、その部分は PaaS サービスとして隠蔽化されているため、サイト管理者(サービス利用者)は、どちらの Web App も同じような使用感で利用出来ます。例えば、どちらのサービスも GitHub や Bitbucket からコンテンツデプロイを実行したり、ポータルから Java, PHP, Python といった組み込みランタイムのバージョン管理を同じ操作感で行えます。
#アーキテクチャ視点の分類
他方アーキテクチャ的な観点から見ると、冒頭で触れたように Web App on Linux と Web App for Container はどちらも同じコンテナ技術を利用しています。Web App on Linux は組み込みランタイム毎にマイクロソフト側でベースとなる Docker イメージを用意しており、それが裏でデプロイされています。このためランタイムのバージョンを変えると 下記の通り Docker イメージが再デプロイされる事となります。
#####SSH コンソールで Web App on Linux のディストリビューションとランタイムを確認
- PHP 7.0 を選択した場合、Debian Linux 8
- PHP 7.2 を選択した場合、Debian Linux 9
- Tomacat 9.0 (JRE 8) を選択した場合、Alpine Linux 3.7
簡潔に述べると上記のような Web App on Linux の組み込みランタイム一覧にない WEB サーバー環境 (Linux) を作るときには、Web App for Container でカスタムの Docker イメージを利用する必要が出てきます。