きっかけ
Amazonはコンテナ管理サービスとして既にECSがあるのに、なぜEKSでKubernetes対応したのかな、と思い。
Amazon、Google、MicrosoftそれぞれのKubernetesに対するスタンスを調べてみました。
KubernetesはもともとGoogleが開発したものですし、がっつりKubernetes推しという印象です。
Istio,Knative中心のインタビューですが、Googleのスタンスがよくわかる記事です。
Googleのウルス・ヘルツル氏に聞いた、「IstioやKnativeで目指すのはクラウドのアンロックイン」
(クラウドベンダーは、)実装の優劣を競うことはできる。だが、運用APIは統一されるべきだ。このため、運用APIはオープンソースでなければならない。
クラウドは未来永劫、それぞれが異なるものであり続ける。GCPのプロダクトでいえば、BigQueryやCloud Spannerはそれぞれがユニークな機能を果たしており、オープンソースではない。こうしたプロダクトで差別化を図っていくのは当然のことだ。私たちが注目しているのは、「クラウドにおけるAPIの80%が、同じような機能を果たすにもかかわらず、異なっている」という事実だ。
運用部分では勝負しないということのよう。運用のところでロックインされてしまうと、移行のハードルが高くなりAWSのシェアを奪えませんからね。ユーザーとしてもベンダーロックインは避けたいところ。
またオンプレミス版GKEも発表されておりハイブリッドクラウドという面でも、Kubernetesは大きな役割を果たしています。企業としてはクラウドへ持ってけないものがある中で、クラウドとオンプレ両方を一元管理できるのは運用負荷を減らせるのでうまみがあります。企業のクラウド利用のハードルを下げられますので、Googleとしても好都合です。
Amazon
まさにの記事を発見しました。
AWSはなぜ、ECSがあるのにKubernetesのサービスを始めたのか、コックロフト氏に聞いた
データセンターを自動化するための汎用的な手法として、今注目されているのがKubernetesだ。一方ECSはAWS上でしか使えないため、こうしたニーズに全く対応できない。
Kubernetesを使ったサービスの提供については、2つのことが言えると思う。
1つは、クラウドと同じことをデータセンターでやりたいというニーズだ。こうした場合、クラウドとオンプレミスで同一のものを使えるということが要件になる。
...
一方で、(新しいアプリケーションを)構築するスタートアップ企業や開発者のことも考える必要がある。こうした人たちは、ホットな技術に着目し、自身のアプリケーションを開発する傾向が強い。この「ホットな技術」として浮上したのがKubernetesと、おそらくサーバレスだ。
つまり、Kubernetesを採用したサービスをAWSが生み出した理由は、「ポータビリティ(可搬性)」と機能性だ。
そのまんまですね。
ハイブリッドクラウドと、スタートアップ企業を意識したため、Kubernetesにも対応したとのことです。こういったニーズに素早く答えるところがAmazonの強いところです。
MicroSoft
こちらの記事にあるように、Googleの後にKubernetes対応したのがMicrosoftです。Kubernetesがデファクトスタンダードとなることを後押ししました。
KubernetesのツールをつくっているDeisという企業を買収しており、本気度が伺えます。
Azure Kubernetes Serviceに関するMicrosoftのGabe Monroy氏とのQ&A - Build 2018にて
Kubernetesサービスを選択する時に忘れてならないのは、すべてがKubernetes上で動作する訳ではない、ということです。システムはデータストアやキュー、ファンクション、他のサービスなどにも依存していますが、それらの多くはKubernetes上で実行されるものではないのです。ですから、Kubernetesサービスにおいて最も重要な差別要因は、それが動作するクラウドプラットフォームであると言えます。
まとめ
Google,Microsoft,AmazonだけでなくAlibabaやIBMなどもKubernetesサービスを提供しており、Kubernetesがデファクトスタンダードであることは間違いありません。Amazonもこの流れには逆らうことはできないでしょう。クラウドプロバイダーとしてはKubernetesに対応しつつ、自社の周辺サービスとの連携を深めることで、差別化を図る流れになりそうです。