こんにちは!BFT名古屋支店の松野です。
前回は3大クラウドサービスのオブジェクトストレージサービスに関してまとめさせて頂きました。今回はサーバレスアーキテクチャ構築時に使用されることの多い、コンテナサービスに関してまとめていきたいと思います。
それではよろしくお願いします!
前回オブジェクトストレージサービスに関してまとめた記事はこちらから。
はじめに
前回の記事でも触れましたが、クラウドサービスを利用してサーバーレスアーキテクチャを構築する際に使用する、代表的な技術要素には以下のようなものがあります。
そして、3大クラウドサービスにおける具体的なサービスは以下のようになっています。
AWS | Azure | GCP | |
---|---|---|---|
アプリ実行基盤 | AWS Lambda | Azure Functions | Cloud Functions |
ストレージ | Amazon S3 | Azure Blob | Cloud Storage |
コンテナ | AWS Fargate | Azure Container Instances | Cloud Run |
API構築・管理 | Amazon API Gateway | API Management | Cloud Endpoints/Apigee |
前回はこの中からオブジェクトストレージサービスを中心にまとめさせて頂きました。今回はコンテナサービスついてまとめていこうと思います。
コンテナサービス
ここでまとめるのは正確にはコンテナサービスではなく、コンテナ向けサーバレスコンピューティングエンジンになります。
これはサーバーをプロビジョニングすることなくコンテナを利用できるサービスになります。
それでは概要をまとめていきます。
Azure |
|||
---|---|---|---|
サービス名 | AWS Fargate | Azure Container Instances | Cloud Run |
CPU料金(vCPU/h) | $0.05056 | ¥5.66720 | $0.08640 |
メモリ料金(GB/h) | $0.00553 | ¥0.61936 | $0.00900 |
最大CPU | 4vCPU | 2vCPU(Linuxコンテナ) 4vCPU(Windows Server 2016) |
4vCPU |
最大メモリ | 30GB | 8GB(Linuxコンテナ) 16GB(Windows Server 2016) |
8GB |
可用性 | 99.99% | 99.90% | 99.95% |
※掲載情報は2021年2月時点(東京リージョン)
〇CPU料金・メモリ料金
それでは一つずつ見ていきましょう。まずは料金比較です。料金は使用するコンテナリソースによって変わり、コンテナの起動時間に応じて料金が発生します。
例えば2vCPUかつメモリ4GBのコンテナを24時間起動した場合の料金は以下のようになります。
AWS Fargate
(2 × 0.05056(USD・vCPU/h) + 4 × 0.00553(USD・メモリ/h)) × 24(h) = 2.9578(USD)Azure Container Instances
(2 × 5.66720(円・vCPU/h) + 4 × 0.61936(円・メモリ/h)) × 24(h) = 331.48(円)Cloud Run
(2 × 0.08640(USD・vCPU/h) + 4 × 0.00900(USD・メモリ/h)) × 24(h) = 5.0112(USD)
2021年2月時点の為替レートは約104~105円となっており、104円として計算すると、AWS Fargateは「307.61円」でありCloud Runは「521.16円」となります。
今回の条件においては、AWS FargateとAzure Container Instancesの料金がほぼ同等であり、Cloud Runは1.5倍程度の料金という結果になりました。
〇最大CPU・最大メモリ
次にリソースとして設定できる最大CPU・最大メモリの比較です。設定可能なvCPUに関しては各サービス毎に大きな差はないようです。Azure Container InstancesにはWindows Serverコンテナも用意されています。
メモリに関してはAWS Fargateが30GBまで設定可能となっており、コンテナを負荷の大きい処理に使いたい場合はAWS Fargateを選択することが賢明でしょう。最大リソースでも処理出来ないようなものはEC2などの他サービスの利用を検討する必要が出てきます。
〇可用性
最後は可用性です。可用性とはシステムが正常に継続して稼働し続ける能力を表しています。前回の記事にて具体的な時間を算出しており、結果は下記のようになります。
年間停止時間 |
|
---|---|
99.90% | 8時間46分 |
99.95% | 4時間23分 |
99.99% | 52分34秒 |
このように99.90%であっても年間で約9時間の非稼働時間となっています。コンテナサービスを365日24時間稼働するような場合であっても、大きな懸念点にはならないと思われます。
おわりに
今回は前回のオブジェクトストレージサービスと同じような構成でまとめさせて頂きました。3大クラウドサービスに着目して各サービスの調査をしていたおかげで、AzureやGCPの用語にもだいぶ慣れてきたように思います。残りはAmazon API GatewayをはじめとしたAPI構築・管理サービスとなっています。自分自身がAPIに関する知識が足りていないように感じているので、まずはAPIについてきちんと調べようかな~と考えています!!
参考文献
・AWS Fargate
AWS Fargate(サーバーやクラスターの管理が不要なコンテナの使用)| AWS
・Azure Container Instances
Azure Container Instances | Microsoft Azure
・Cloud Run