As container adoption continues to grow, we thought it’d be interesting to take a look at the hosted Kubernetes pricing options from each of the big three cloud providers. The Kubernetes services across the cloud providers are Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), and Google Kubernetes Engine (GKE). In this blog, we’ll take a closer look at each offering, their similarities and differences, and their pricing. Note: all pricing data points are as of this writing in April 2020.
AWS Cloud Container Services (EKS)
Amazon Elastic Kubernetes Service (Amazon EKS) is AWS’s service to manage and deploy containers via Kubernetes container orchestration service. Pricing is $0.10 per hour for each EKS cluster you create – you can use a single cluster to run multiple applications using Kubernetes namespaces and IAM security policies. You can run EKS on AWS using EC2 or Fargate. You can also run on-prem with AWS Outposts.
If you use EC2, you would pay for the resources you created to run your Kubernetes worker nodes. This is on demand: you only pay for what you use, as you use it. You pay per cluster and underlying resource. If you choose to run your EKS clusters on Fargate, it will remove the need to provision and manage servers. With Fargate you can specify and pay for resources per application – pricing is based on the vCPU and memory resources used from the time you start to download your container image until the Amazon EKS pod terminates (minimum 1-minute charge).
EKS worker nodes are standard Amazon EC2 instances – you are billed for them based on normal EC2 prices.
With the $0.10 price per hour, you’d be spending $72 per month for a cluster running the full month. It’s important to note that this price is the necessary cost to operate a cluster note – you still have to pay for the computation costs on top of this (e.g. EC2 instance hours or Fargate compute resources).
Azure Cloud Container Services (AKS)
Azure Kubernetes Service (AKS) is Azure’s free fully managed solution to manage and deploy containers via Kubernetes container orchestration service. You pay only for the VM instances, storage, and networking resources used for the Kubernetes cluster, per-second, with no additional charge.
How can you save on VM nodes using AKS? Use Reserved VM instances. (Check out the 10 things you should know before purchasing an Azure Reserved VM instances). You can pay up-front for either a 1- or 3-year term. For example, if you look at a D4 v3 node instance, the pay as you go price per hour is $0.192, a commitment of 1-year the price would be $0.1145, and a 3-year commitment would be $0.0738. So with a 1-year commitment, you would see savings of about 40% and for a 3-year commitment, you’d see savings of about 62%.
Unlike AWS and GCP, there is no charge for cluster management. Users only pay for the nodes that the containers are built on.
Google Cloud Container Services (GKE)
Google Kubernetes Engine (GKE) is Google Cloud’s fully managed solution to manage and deploy containers via Kubernetes container orchestration service. A GKE environment is made up of multiple machines grouped together to form a cluster. In GKE, a cluster is the foundation. A cluster consists of at least one cluster master and multiple worker machines called nodes.
Starting in June 2020, GKE will charge $0.10 per cluster per hour as a cluster management fee. This fee applies to clusters of any size (one zonal cluster per billing account is free). The fee will not apply to Anthos GKE clusters.
How will this fee affect your bill? If you have the smallest instance size, (1vCPU, 3.75RAM) you will be paying about $73 per cluster per month.
Google will also be introducing a service level agreement for GKE that guarantees 99.95% availability for regional clusters and 99.5% for zonal clusters.
Cloud Pricing Comparison Chart
For the example below, assume you need 80 CPU and 320 GB RAM for 1 year to run your cluster. You’d need 20 of each instance giving you 175,200 compute hours per year. Here’s what that would look like across the cloud providers.
So, EKS is the most expensive, but only by about 5% per year from the least expensive option, GKE.
Overall, AWS is the most popular cloud to run containers and Kubernetes. According to a survey from Forbes, 29% of the respondents use AWS EKS, 28% use Google GKE and 25% use Azure AKS.
Don’t forget about your free options! In Azure and Google Cloud, you have the option to start a free account on the platform and with that, you get access to AKS and GKE for 12 months for free.
Using containers? You can reduce your costs by running them only when needed. Learn how ParkMyCloud can help optimize container costs.