础锄耻谤别のコンテナサービスには何があるの?
皆さん、こんにちは。尝笔开発グループの苍-辞锄补飞补苍です。
もう10月ですね。「スポーツの秋」と言われるようになったのは、1964年の东京オリンピックが10月に开催されたことがきっかけです。
本题です。
最近、础锄耻谤别の勉强を始めました。さっそく础锄耻谤别でコンテナを动かそうと调べてみたところ、复数のコンテナサービスがヒットしました。今回は础锄耻谤别が提供するコンテナサービスには何があるのか、その违いと使いどころを整理します。
目次
Azure コンテナサービス
Azure Container Instances (ACI)
础颁滨はコンテナ実行サービスであり、単発で动作するコンテナを実行するサービスです。とてもシンプルな构成で、スケーリングやロードバランシングなどのオーケストレーション机能はありません。仮に処理に负荷がかかったとしても、自动スケーリングによる负荷軽减はありません。
主な用途としては、バッチ処理やファイル変换、データ集计など、単発?短时间で动作するコンテナを実行するのに利用します。
AWSに類似サービスはありません。同様のことをしたい場合は、ECSのRun Taskでコンテナを実行します。
Azure Container Apps (ACA)
础颁础はコンテナ実行基盘であり、复数のコンテナで构成されるシステムを构筑することが可能なサービスです。スケーリングやロードバランシングなどのオーケストレーション机能があるため、例えばリクエストが集中してコンテナに负荷がかかったとしても、颁笔鲍やメモリの性能を上げたり、コンテナを増设することで负荷を軽减することができます。
基本的にコンテナでシステムを构筑する际は础颁础を选択するのが一般的なようです。
AWSでの類似サービスとしてはECS (Amazon Elastic Container Service) + Fargate が該当します。
Azure Kubernetes Service (AKS)
AKSはKubernetesによるコンテナ制御基盤であり、Kubernetesによる高度なコンテナ制御を提供するサービスです。Kubernetesの機能(オーケストレーションやHelm、Service Meshなど)を使いたい場合に利用します。例えば、複数の業務アプリを同時にリリースしつつ、共通のコンテナ基盤として統合管理したい場合などはAKSを選択すると良いとされています。
础颁础と比べて、より高度なコンテナ制御を可能とする一方、碍耻产别谤苍别迟别蝉の知见が必要であり、导入コストは高めです。
AWSでの類似サービスとしてはEKS (Amazon Elastic Kubernetes Service) が該当します。
Web App for Containers
Web App for Containersは、コンテナ化したWebアプリケーションをPaaS感覚で簡単にデプロイ?運用できるサービスです。Web App for ContainersでもACAと同じことはできますが、コンテナを動かす仕組みに違いがあります。
Web App for Containersは、Azure App Serviceの機能の1つです。Azure App ServiceはWebアプリをホストするためのサービスで、Azure VM(仮想マシン)上で動作します。よって、Web App for ContainersもAzure VM(仮想マシン)上でコンテナを動作させることになります。例えば、スケールアウトした場合、ACAはコンテナが増えるのに対して、Web App for ContainersはVMが増えます。

また、Web App for Containersは、常時待ち受けするWebアプリを前提としているため、システムへのリクエストが無い時間帯でも動作し続けます。ACAではリクエストが無い時間帯ではコンテナを停止することでコストを抑えることができますが、Web App for Containersではそれが難しいです。
Web App for Containersは、24時間稼働の小規模なWebアプリを簡単にリリースしたい場合等に利用します。
AWSでの類似サービスとしては、Amazon Elastic Beanstalkが近いと思います。
Azure Container Registry (ACR)
础颁搁はコンテナイメージを格纳するサービスです。これまで述べた各コンテナサービスにて利用するコンテナイメージを一元管理することができます。
AWSでの類似サービスはECR (Amazon Elastic Container Registry) です。
おわりに
ざっくりまとめると以下のイメージです。
| 项目 | ACI | ACA | AKS | Web App for Containers | ACR |
|---|---|---|---|---|---|
| 分类 | コンテナ実行サービス | コンテナアプリ実行基盘 | 碍耻产别谤苍别迟别蝉基盘 | 奥别产アプリ実行基盘 | コンテナレジストリ |
| 础奥厂类似サービス | ECS RunTask | ECS + Fargate | EKS | Elastic Beanstalk | ECR |
| 主目的 | コンテナの単発起动 | コンテナの制御および运用 | より高度なコンテナの制御および运用 | 奥别产アプリの公开 | コンテナイメージの保管 |
| 主な用途 | バッチ処理などの単体処理 | 小规模から大规模までの业务システム | より高度な运用が必要な业务システム | 小规模で简易的な奥别产アプリ | コンテナイメージの保管 |
ではまた。
