この記事は、求ム!Cloud Nativeアプリケーション開発のTips!【PR】日本マイクロソフト Advent Calendar 2020 の 22 日目です(後から追っかけで書いています)。
本記事では一見していると似ている Web App for Containers と Azure Container Instances を比較したいと思います。
What is Web App for Containers
Web App for Containers は Azure Web Apps の実行イメージとして Docker イメージを使うというサービスです。Web Apps のインスタンスとなるので、Web Apps の URL や https など各種機能が使えます。
App Service の料金と機能からもわかる通り、Basic 以上のサービスプランが Web App for Containers をサポートしているため、Linux、東日本、B1(vCPU 1, RAM 1.75 GB) の場合、月額 2,000円程度かかります。
What is Azure Container Instances
Azure Container Instances は、シンプルなアプリケーション、タスク自動化、ビルドジョブなど、分離されたコンテナーのシナリオに向いたサービスです。
Azure Container Instances の料金と機能からもわかる通りってわかりやすくないですね…。
価格の例
例 1:
vCPU が 1 個、1 か月の期間 (30 日間) 1 日 1 回 1 GB の構成を行う Linux コンテナー グループを作成したとします。各コンテナー グループの使用時間は、5 分間 (300 秒) です。
メモリ使用時間:
コンテナー グループの数 * メモリ使用時間 (秒) * GB * GB 秒あたりの料金 * 日数
1 コンテナー グループ * 300 秒 * 1 GB * GB 秒あたり ¥0.0001721 * 30 日 = ¥1.549
vCPU 使用時間:
コンテナー グループの数 * vCPU 使用時間 (秒) * vCPU * vCPU 秒あたりの料金 * 日数
1 コンテナー グループ * 300 秒 * 1 vCPU * vCPU 秒あたり ¥0.0015743 * 30 日 = ¥14.168
課金合計:
メモリ使用時間 (秒) + vCPU 使用時間 (秒) = 料金総額
¥1.549 + ¥14.168 = ¥15.717
Web App for Containers と比較するなら、vCPU が 1 個、1 か月の期間 (30 日間) 1 日 1 回 1.75 GB の構成を行う Linux コンテナー グループを作成したとします。各コンテナー グループの使用時間は、1440 分間 (86400 秒)
として計算すると、
メモリ使用時間:
コンテナー グループの数 * メモリ使用時間 (秒) * GB * GB 秒あたりの料金 * 日数
1 コンテナー グループ * 86400 秒 * 1.75 GB(*1) * GB 秒あたり ¥0.0001721 * 30 日 = ¥780.6456
vCPU 使用時間:
コンテナー グループの数 * vCPU 使用時間 (秒) * vCPU * vCPU 秒あたりの料金 * 日数
1 コンテナー グループ * 86400 秒 * 1 vCPU * vCPU 秒あたり ¥0.0015743 * 30 日 = ¥4080.5856
課金合計:
メモリ使用時間 (秒) + vCPU 使用時間 (秒) = 料金総額
¥780.6456 + ¥4080.5856 = ¥4861.2312
*1: GB 単位なので、1.75 GB を選択できないと思いますが、比較のため
¥4861.2312 になります。
これからわかる通り、常時起動しているようなサービスの場合は、Web App for Containers が適しており、開発(dev)や試験(test)、ステージング(stg)環境、Azure Functions では対応できない長時間のバッチ処理などのスポットで利用するサービスの場合は、Azure Container Instances が適していることがわかります。