クラウド運用においてベンダー/プロバイダーのロックインを回避するとはどういう意味ですか?

クラウド運用においてベンダー/プロバイダーのロックインを回避するとはどういう意味ですか?

私はDevOpsとソフトウェア開発に興味のある比較的初心者の機械学習エンジニアです。漠然とした意見に基づいた質問で申し訳ありません。

しかし、クラウドの概念を教える複数のブログやチュートリアルでは、ベンダー ロックインにつながるサービスを使用しないようアドバイスしていますが、それがどのようなサービスであるかは明確にされていません。

たとえば、クラウド サーバーの起動などを管理するために自動化されたスクリプトを使用している場合、AWS や Azure CLI ではなく、Terraform などのオープン ソース スクリプトを使用する必要がありますか?

Docker コンテナをオーケストレーションして Web サービスを実行している場合、Fargate や ECS などの高レベルの抽象化の使用を控え、オンプレミスの Linux サーバーのような EC2 インスタンス内でコンテナを起動するように復元する必要がありますか?

しかし、いずれにしても、クラウドとやり取りするには、クラウド固有のソリューションと API を使用する必要があります。たとえば、Amazon S3 バケットと Azure ブログ ストレージは同様のサービスを提供しますが、API が異なります。

それとも、私がその概念をまったく誤解していて、まったく違う意味になっているのでしょうか。いわゆるベンダー ロックインにつながる、またはつながらない決定の例をいくつか教えていただければ幸いです。

また初心者的な質問で申し訳ありません。

答え1

ロックインを回避するには、クラウド プロバイダー サービスではなく、仮想マシンのみを使用することになります。クラウド サービスを使用していない場合は、見つけられる最も安価で信頼性の高い VM を使用する方がよいでしょう。

ただし、選択したクラウド ベンダーのサービスと機能を活用し、ロックインを心配しない方がよいアプローチだと私は考えています。そうすれば、より信頼性が高く、おそらくより安価なソリューションが得られます。クラウド プロバイダーを変更したい場合は、はるかに困難になりますが、おそらくそうすることはないでしょう。

関連情報