【かーす】

CaaS(Container as a Service) とは?

💡 コンテナの面倒はクラウドにお任せ、中身の開発に集中できる
📌 このページのポイント
CaaSの位置づけ: IaaS と PaaS の中間 IaaS アプリ(自分で管理) ランタイム OS 仮想化 サーバー 自分で管理する範囲が広い CaaS アプリ(自分で管理) コンテナ設定 オーケストレーション OS・ランタイム サーバー ECS / GKE / AKS PaaS アプリ(自分で管理) ランタイム OS 仮想化 サーバー クラウドが全部管理 自分で管理 CaaSが管理 PaaSが管理
CaaSのイメージ
ひよこ ひよこ

IaaSPaaSは知ってるけど、CaaSってどこに位置するの?

ペンギン先生 ペンギン先生

IaaSPaaSのちょうど中間だよ。IaaSだとサーバーの管理もOS設定も全部自分でやるけど、CaaSではコンテナの実行基盤はクラウドが面倒を見てくれる。でもPaaSと違ってコンテナの中身は自由に構成できるんだ

ひよこ ひよこ

具体的にはどんなサービスがあるの?

ペンギン先生 ペンギン先生

AWSならECSやEKS、GCPならGKEやCloud RunAzureならAKSが代表的だよ。Kubernetesベースのものが多いけど、AWS FargateやCloud Runみたいにサーバーレスコンテナ実行環境も人気が高いね

ひよこ ひよこ

自分でKubernetesを構築するのとは何が違うのかな?

ペンギン先生 ペンギン先生

自前でKubernetesを構築すると、マスターノードの管理やバージョンアップ、証明書の更新とか運用負荷がすごいんだよ。CaaSを使えばコントロールプレーンの管理はクラウドがやってくれるから、アプリのデプロイに集中できるんだ

ひよこ ひよこ

全部CaaSにしちゃえばいいのに、そうならないのはなぜ?

ペンギン先生 ペンギン先生

コストとロックインの問題だね。マネージドサービスは便利だけど料金が上乗せされるし、クラウドベンダー固有の機能に依存すると移行が大変になる。大規模になると自前Kubernetesの方がコスパがいい場合もあるから、規模と運用チームの体制で判断するんだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「CaaS」って出てきたら「コンテナ実行環境のマネージドサービス」と思えればだいたいOK!
📖 おまけ:英語の意味
「Container as a Service」 = サービスとしてのコンテナ
💬 IaaS、PaaS、SaaSと同じ『as a Service』シリーズで、コンテナ版ということだよ
← 用語集にもどる