クラウドの基本概念

ベンダーロックイン・ポータビリティ べんだーろっくいん・ぽーたびりてぃ

ベンダーロックインポータビリティマルチクラウド移行コスト依存脱AWS
ベンダーロックイン・ポータビリティについて教えて

簡単に言うとこんな感じ!

特定のクラウドサービスに深く依存して、別のサービスに移りにくくなる状態がベンダーロックイン。ポータビリティはその逆で、どこにでも持っていける設計のこと。移行コストと利便性はトレードオフなんだよ。


ベンダーロックイン・ポータビリティとは

ベンダーロックイン(Vendor Lock-in)とは、特定のクラウドベンダーが提供する独自機能・サービス・APIに強く依存した結果、別のベンダーへの移行が困難・高コストになる状態を指します。たとえばAWS固有のDynamoDBやLambdaを多用したシステムは、AzureやGCPへの移行に大規模な改修が必要になります。

ポータビリティ(Portability)とは、システムやデータを異なるクラウド間・環境間で容易に移動・利用できる性質です。コンテナ(Docker)やKubernetesのような標準化された技術は、ポータビリティを高めます。

ロックインを恐れてクラウドの便利な固有機能を一切使わない設計は現実的ではありません。「どこまでのロックインを許容するか」をビジネス要件に基づいて意識的に判断することが重要です。


ロックインの種類

ロックインの種類説明
技術的ロックインベンダー固有のAPIや技術に依存AWS固有のDynamoDBクエリ
データロックインデータの取り出しが困難・高コストデータ転送費(エグレスコスト)
プロセスロックイン運用・管理プロセスがそのベンダー前提AWS CLIのスクリプト
コントラクトロックイン長期契約や大量割引で乗り換えコストが高い3年Savings Plans

ロックイン度の高低

低ロックイン(ポータブル)高ロックイン(固有依存)
EC2(汎用VM)AWS Lambda(FaaS)
MySQL on RDSDynamoDB(NoSQL独自)
Kubernetes(EKS)ECS(AWS固有オーケストレーション)
S3互換オブジェクトストレージS3 Select(独自クエリ)

歴史と背景

1970〜80年代のメインフレーム時代から、IBMやDECなどの独自アーキテクチャへの依存は問題でした。2000年代のSAPなどERPパッケージでも同様の議論がありました。

クラウドでは2010年代前半、AWS一択という状況への懸念からマルチクラウド戦略が注目されました。2014年にDockerが普及し、2017年頃からKubernetesが事実上の標準になったことで、コンテナを使ったポータブルな設計が現実的になりました。

2022年以降は、生成AIサービス(AWS Bedrock・Azure OpenAI・Vertex AI等)の登場でAI機能のロックインという新しい問題も浮上しています。


ロックインとポータビリティのトレードオフ

ロックインとポータビリティのトレードオフ ← ポータビリティ高い  ロックイン強い → 開発効率・機能の豊富さ VM K8s マネージド DB FaaS Lambda 固有NoSQL 高ポータブル 高ロックイン 低機能充実度

関連する規格・RFC

規格内容
ISO/IEC 19941クラウドコンピューティングの相互運用性とポータビリティ
TOSCA(OASIS)クラウドアプリケーションのポータブルな記述言語
OCI(Open Container Initiative)コンテナイメージ・ランタイムの標準仕様

関連用語