いまやデフォルトのコンテナマネジメント環境として多くの企業で採用が進むKubernetesですが、素のKubernetesのオペレーションは煩雑すぎて、インフラエキスパートが存在しない組織では導入が難しいと言われています。そこで注目されているのが、各ITベンダが提供するクラウドベースのマネージドサービスです。しかしこれも数が多すぎて何を選べばよいのか、ユーザとしてはその指針がほしいところ。少しでも自社のニーズに最適なKubernetesサービスを選びたいと思うのは当然でしょう。
数あるマネージドKubernetesサービスの中にあって、導入検討企業のほとんどがチェックするのがパブリッククラウド御三家 – AWS、Microsoft Azure、そしてKubernetesのオリジナルの開発元であるGoogle Cloudでしょう。ここではKubernetes関連の情報をひろく発信しているサイト「Kubedex」に掲載された「Google GKE vs Microsoft AKS vs Amazon EKS」という記事を紹介します。ここに載っている三大サービスの比較表はKubernetesサービスを探している企業にとっても参考になる部分は多そうです。
この記事を執筆したDevOpsコンサルタントのSteven AcremanがそれぞれのKubernetesサービスについて評価したポイントを以下、ざっくりと紹介します。
- Kubernetes”だけ”を使いたいなら迷わずGKE一択、なぜなら「安い、速い、うまい(cheaper, faster, better)」から。クラスタの作成時間はGKEは3分、ほかは20分。もし頻繁にクラスタを作成する環境なら、3分と20分の差は大きい
- しかしすでに他のクラウドサービスを導入済みの場合、たいていはAWSにロックインされている。Kubernetesのためだけにクラウドの移行を決定するケースはほとんどない。したがってGKEよりはできることは落ちるが、EKSは悪くない選択。また、ベアメタルインスタンス(i3.metal)にも対応しているので、ベアメタルでKubernetesを考えているケースならかなり有効なのでは
- よほど特殊な事情、たとえばActive Directoryにロックインされている環境などでなければAKSやAzureを使う意味はない。(Azureを選択することで)自分の人生をハードモードにする必要はないはず
掲載されている比較表を見ればおわかりの通り、Acremanは単体のマネージドKubernetesサービスとしての出来はGoogle GKEに圧倒的な軍配が上がると評価しています。しかし、AWSクラウドがここまで普及している以上、使える機能やパフォーマンスが劣っていたとしても企業がAmazon EKSを選ぶのは妥当であるとしており、現実的なKubernetesサービスの選択肢としてこの2つを推奨しています。なおMicrosoft AKSに関しては「パーツとしてはわりと良い面もあるが、いったんAWSに慣れた身からすればユーザインタフェースには天と地ほどの差がある」とかなりの酷評ぶり。AcremanはMicrosoftのパートナーとしてAzureおよびAKSの仕事をしていた経験もあるそうですが、それでもやはり(だからこそ?)AKSは推奨しないようです…Microsoft、というよりもAKSの顧客の声も聞いてみたいですね。
5I’m being serious when I say this: if the company I’m working for decided to migrate to Azure I’d find a new job. (僕はこれを真面目に言ってるんだけど、もしいま働いている会社がAzureに移行すると言い出したなら、僕は新しい仕事を探すことになるだろうね)