【くらうどぽーたびりてぃ】

クラウドポータビリティ とは?

💡 引っ越し上手なアプリは、どのクラウドでも暮らせる
📌 このページのポイント
クラウドポータビリティ: クラウド間の移植性 コンテナ化アプリ Docker + Kubernetes + Terraform AWS EKS ECR / S3 GCP GKE Artifact / GCS Azure AKS ACR / Blob コンテナ化 環境差異を吸収 Kubernetes 共通オーケストレーション IaC(Terraform) マルチクラウド対応
クラウドポータビリティのイメージ
ひよこ ひよこ

一度AWSで作ったシステムをGCPに移すのって大変なの?

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

AWSの独自サービスをたくさん使ってると、かなり大変だよ。たとえばDynamoDBやLambdaに依存してると、GCPには同じものがないから作り直しが必要になる。これがベンダーロックインという問題なんだ

ひよこ ひよこ

じゃあ最初からロックインしないように作ればいいの?

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

理想はそうだけど、クラウド固有のマネージドサービスを使った方が開発効率もコスパもいいことが多いんだよ。完全なポータビリティを目指すと、便利なサービスが使えなくなる矛盾があるんだ。だからバランスが大事だね

ひよこ ひよこ

ポータビリティを高めるにはどうすればいいのかな?

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

コンテナ化とKubernetesが基本戦略だよ。アプリをDockerコンテナにして、Kubernetesで動かせば、どのクラウドKubernetesサービスでも動く。インフラ定義はTerraformで書くとマルチクラウド対応しやすいんだ

ひよこ ひよこ

実際にマルチクラウドにしてる会社って多いの?

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

大企業では増えてるけど、意図的にマルチクラウドにしてるケースは実は少ないんだ。M&Aで別クラウドのシステムを引き継いだり、特定サービスだけ別クラウドを使ったりする『結果的マルチクラウド』の方が多い。ポータビリティはいざという時の保険として設計しておくのがちょうどいいバランスだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「クラウドポータビリティ」って出てきたら「クラウド間の移行しやすさ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Cloud Portability」 = クラウドの可搬性
💬 Portabilityは「持ち運びやすさ」の意味で、アプリをクラウド間で持ち運べることを表してるよ
← 用語集にもどる