マネージド Kubernetes のコスト比較 (2020)

ノート。 翻訳。: アメリカの DevOps エンジニア、Sid Palas 氏 Google Cloud の最近の発表 情報ガイドとして、世界有数のクラウド プロバイダーのマネージド Kubernetes サービス (さまざまな構成) のコストを比較しました。 彼の研究のさらなる利点は、対応する Jupyter Notebook が公開されたことです。これにより、(Python に関する最小限の知識があれば) ニーズに合わせて実行される計算を調整できます。

TL; DR: Azure と Digital Ocean は、コントロール プレーンに使用されるコンピューティング リソースに料金を請求しないため、多数の小規模クラスターを展開する場合に適しています。 少数の大規模クラスタを実行する場合は、GKE が最適です。 さらに、スポット/プリエンプティブ/低優先ノードを使用するか、同じノードの長期使用を「サブスクライブ」することにより、コストを大幅に削減できます (これはすべてのプラットフォームに当てはまります)。

マネージド Kubernetes のコスト比較 (2020)
クラスターサイズ (ワーカー数)

概要

最近の Google Cloud の発表 GKE がクラスタ時間あたり 10 セントの課金を開始すると発表したことをきっかけに、私は主要なマネージド Kubernetes サービスの価格を分析し始めました。

マネージド Kubernetes のコスト比較 (2020)
この発表は一部の人たちを大いに動揺させました...

この記事の主な登場人物は次のとおりです。

費用の内訳

これらの各プラットフォームで Kubernetes を使用する場合の総コストは、次のコンポーネントで構成されます。

  • クラスター管理料金。
  • 負荷分散 (Ingress の場合);
  • ワーカーのコンピューティング リソース (vCPU とメモリ)。
  • 下りトラフィック。
  • 永久保存。
  • ロードバランサーによるデータ処理。

さらに、クライアントがプリエンプティブルを使用したい/使用できる場合、クラウド プロバイダーは大幅な割引を提供します。 スポット 優先順位の低いノード、または同じノードを 1 ~ 3 年間使用することを約束します。

コストはサービス プロバイダーを比較および評価するための優れた基準ですが、他の要素も考慮する必要があることを強調する価値があります。

  • 稼働時間 (サービス レベル アグリーメント)。
  • 周囲のクラウドエコシステム。
  • K8 の利用可能なバージョン。
  • ドキュメント/ツールキットの品質。

ただし、これらの要因はこの記事/研究の範囲を超えています。 で StackRox ブログの XNUMX 月の投稿 EKS、AKS、GKE の価格以外の要因について詳しく説明します。

ジュピターノートブック

最も収益性の高いソリューションを見つけやすくするために、私は次のように開発しました。 ジュピターノート、その中でplotly + ipywidgetsを使用します。 これにより、さまざまなクラスター サイズやサービス セットに対するプロバイダーのオファーを比較できます。

Binder のメモ帳のライブ バージョンを使用して練習できます。

マネージド Kubernetes のコスト比較 (2020)
mybinder.org のマネージド-kubernetes-price-exploration.ipynb

計算や元の価格が間違っている場合はお知らせください (これは、GitHub の Issue または Pull Request を通じて行うことができます) ここがリポジトリです).

所見

残念ながら、TL;DR の最初の段落に含まれているものよりも具体的な推奨事項を提供するには、ニュアンスが多すぎます。 ただし、それでもいくつかの結論を導き出すことができます。

  • GKE や EKS とは異なり、AKS と Digital Ocean は制御層のリソースに料金を請求しません。 AKS と DO は、アーキテクチャに多数の小さなクラスターが含まれている場合 (たとえば、XNUMX つのクラスターあたり XNUMX つのクラスター) の方が収益性が高くなります。 すべての開発者 または すべてのクライアント).
  • GKE のコンピューティング リソースはわずかに安価であるため、クラスタ サイズが増加するにつれて収益性が高くなります*。
  • プリエンプティブル ノードまたは長期ノード アフィニティを使用すると、コストを 50% 以上削減できます。 注: Digital Ocean ではこれらの割引は提供していません。
  • Google の送信料金は高くなりますが、計算の決定要因となるのはコンピューティング リソースのコストです (クラスターが大量の送信データを生成している場合を除く)。
  • ワークロードの CPU とメモリのニーズに基づいてマシン タイプを選択すると、未使用のリソースに対する追加料金の支払いを避けることができます。
  • Digital Ocean は、他のプラットフォームと比較して、vCPU の料金が低く、メモリの料金が高くなります。これは、一部の種類のコンピューティング ワークロードにとって決定要因となる可能性があります。

*注意: 分析では汎用コンピューティング ノードのデータが使用されます。 (一般的用途)。 これらは、n1 GCP Compute Engine インスタンス、m5 AWS ec2 インスタンス、D2v3 Azure 仮想マシン、専用 CPU を備えた DO ドロップレットです。 さらに、他のタイプの仮想マシン (バースト可能、エントリーレベル) 間で調査を行うこともできます。 一見すると、仮想マシンのコストは vCPU の数とメモリの量に直線的に依存しますが、この仮定が非常に非標準的なメモリ/CPU 比率に当てはまるかどうかはわかりません。

記事 究極の Kubernetes コスト ガイド: AWS vs GCP vs Azure vs Digital Ocean2018 年に公開された、100 個の vCPU コアと 400 GB のメモリを備えたリファレンス クラスターを使用しました。 比較のために、私の計算によると、これらの各プラットフォーム (オンデマンド インスタンスの場合) で同様のクラスターを使用すると、次の金額がかかります。

  • AKS: 51465 米ドル/年
  • EKS: 43138 米ドル/年
  • GKE: 30870 米ドル/年
  • DO: 36131 米ドル/年

この記事とノートブックが、主要なマネージド Kubernetes 製品を評価したり、割引やその他の機会を利用してクラウド インフラストラクチャの費用を節約したりするのに役立つことを願っています。

翻訳者からの追伸

私たちのブログもお読みください:

出所: habr.com

コメントを追加します