Price Comparison on Managed Kubernetes (2020)

Note perev. : American DevOps engineer Sid Palas, using the recent announcement of Google Cloud as an information guide, compared the cost of Managed Kubernetes service (in different configurations) from the world's leading cloud providers. An additional advantage of his work was the publication of the corresponding Jupyter Notebook, which allows (with minimal knowledge of Python) to adjust the calculations to fit your needs.

TL; DR: Azure and Digital Ocean do not charge for the computing resources used for the control plane, which makes them a good choice for deploying many small clusters. GKE is best suited to run a small number of large clusters. In addition, you can seriously reduce costs by using spot / crowded out / low-priority nodes or by β€œsubscribing” to long-term use of the same nodes (this applies to all platforms).


Cluster size (number of workers)

General information


The recent Google Cloud announcement of the start of charging 10 cents per hour for each cluster at GKE prompted me to analyze the prices of the main offers in the area of ​​managed Kubernetes.


This announcement greatly upset some ...

The main characters of the article are:


Cost breakdown


The total costs of using Kubernetes in each of these platforms are made up of the following components:

  • Cluster management fee;
  • Load balancing (for Ingress);
  • Computing resources (vCPU and memory) of workers;
  • Egress traffic
  • Permanent storage
  • Processing data by a load balancer.

In addition, cloud providers offer significant discounts if the client wants / can use preemptible, spot or low-priority nodes OR agrees to use the same nodes for 1-3 years.

It is worth emphasizing that, although cost is a good basis for comparing and evaluating service providers, other factors should be considered:

  • Uptime (Service Level Agreement);
  • Surrounding cloud ecosystem;
  • Available versions of K8s;
  • Quality of documentation / toolkit.

However, these factors are beyond the scope of this article / study. A February StackRox blog post discusses non-price factors for EX, AKS, and GKE in detail.

Notepad jupyter


To simplify the search for the most profitable solution, I developed the Jupyter notebook , using plotly + ipywidgets in it. It allows you to compare providers' offers for different cluster sizes and sets of services.

You can practice the live version of the notepad in Binder: managed-kubernetes-price-exploration.ipynb on mybinder.org Let me know if the calculations or the original prices are incorrect (this can be done using issue or pull request in GitHub - here is the repository ) .






findings


Alas, there are too many nuances to provide more specific recommendations than those included in the TL; DR paragraph at the very beginning. However, some conclusions can still be made:

  • GKE EKS, AKS Digital Ocean . AKS DO , (, ).
  • GKE *.
  • , 50%. : Digital Ocean .
  • Google , ( ).
  • CPU .
  • Digital Ocean vCPU β€” .

* Note: the analysis uses data for general-purpose computing nodes . These are instances of the n1 GCP Compute Engine, m5 AWS ec2, Azure D2v3 virtual machines, and DO droplets with dedicated CPUs. In turn, you can conduct research among other types of virtual machines (burstable, entry-level). At first glance, the cost of virtual machines depends linearly on the number of vCPUs and the amount of memory, but I'm not sure that this assumption will remain true for highly non-standard memory / CPU ratios.

In The Ultimate Kubernetes Cost Guide: AWS vs GCP vs Azure vs Digital OceanPublished in 2018, a reference cluster was used with 100 vCPU cores and 400 GB of memory. For comparison, according to my calculations, a similar cluster on each of these platforms (for on-demand-instances) will cost the following amount:

  • AKS: 51465 USD / year
  • EKS: 43138 USD / year
  • GKE: 30870 USD / year
  • DO: 36131 USD / year

I hope the article along with the notebook will help you evaluate the main offers of managed Kubernetes and / or save on cloud infrastructure, taking advantage of discounts and other features.

PS from the translator


Read also in our blog:


All Articles