Kubernetesのクラウド選定(Google vs Microsoft vs Amazon)

Kubernetesクラウド選定(Google vs Microsoft vs Amazon)

ベンダロックインは発生しない

kubernetesクラウドプラットフォームの技術的な詳細を抽象化して隠してくれます。 つまり、AzureやGCPなどのプラットフォームで実行しているサーバーは、別のクラウドサービスでkubernetesを利用する際にはAWSのEC2サーバーとして利用することが出来ます。

したがって、Kubernetesを利用している場合には「クラウドサービスの構築」ではなく「kubernetesの利用」に焦点を絞ることで対応できます。

Google Kubernetes Engine (GKE)

KubernetesGoogleが作成しました。 したがって、Kubernetesをサポートするサービスの中でも、Google Cloud Platformは一歩リードしている状態です。 Google はほかのどの企業よりもKubernetesをサポートしてきたため、GKEは最善のKubernetesのマネージドサービスといえます。 まだクラウドプロバイダを決定していない場合はKubernetesを使用してもよいかもしれません。

Google Cloud Platformと完全に統合されたフルマネージドなサービス(Google Kubernetes Engine)を提供します。 主な利点は以下の通りです。

  • GCPのコンソール上だけでクラスタの作成が完結する。
  • 障害が発生したノードの監視と交換
  • Kubernetes脆弱性に対するセキュリティパッチの自動適用
  • etcdに関する可用性
  • ワーカーノードはユーザーが指定するメンテナンス時間内でKubernetesの最新バージョンにアップグレードされる。
  • Google CloudのAPIを利用することで、Deployment Manager、Terraformなどを使用してIaC化することが出来る。
  • マルチゾーンを作成し、ワーカーノードの負荷分散を実現できる。
  • クラスタのオートスケールが可能。
  • 処理能力に余力がある場合は、Podの数を減らすことも可能。

Amazon Elastic Container Service for Kubernetes ( EKS )

AWSのコンテナのサポートといえば、FargateをはじめとするElastic Container Serviceですが、よりリッチなKubernetesをサポートするAmazon Elastic Container Service for Kubernetes ( EKS )も行っております。

ECSもコンテナサービスの運用には十分なレベルですが、Kubernetesほどリッチではありません。 オーバーヘッドが少ないという利点はありますが、より充実したサービスを求めるのであればEKSの使用が検討できます。

ただし、EKSはGoogleほどのシームレスなサポートではないため、セットアップ作業が多くなる可能性はあります。 すでにAWSでインフラを構築しているか、ECSを利用している場合でKubernetesを利用する場合にKubernetesの選択肢が上がります。 大多数の企業でAWSクラウドサービスを利用しているため、ほどんどの企業でEKSは選択肢に上がります。

Azure Kubernetes Service (AKS)

MicrosoftAmazonGoogleよりも遅れてクラウドビジネスに参入しましたが、急速な追い上げてます。 Azure Kubernetes ServiceはGoogleのGKEなどの強豪サービスが提供する機能をすべてサポートします。

こちらも、すでにAzureのクラウドサービスを利用している場合は選択肢に上がります。