When I was looking around to find a decent managed Kubernetes offering for my own hobby project, I found this article on Medium: How To Run The Cheapest Kubernetes Cluster at $1 Per Day.
The figures confused me as I personally calculated the costs of a three-node cluster of identical size for GCP and Azure, and GCP was always the winner in terms of costs.
I checked the figures once more, but having other concerns in mind too. Here what I’ve got.
For GKE, the flat management fee would be gone if you commit to sustainable usage. Here is what one node (which has more memory, than the Azure A2_v2 instance) cluster calculates to:
Instance type: n1-standard-2
Machine Class: REGULAR
GCE Instance Cost: USD 62.54
GKE Cluster Management Fee: USD 0.00
Total Estimated Cost: USD 62.54 per 1 month
That assumes the 30 day sustained use 30% discount.
Azure A2_v2 VM costs $0.106 per hour, and a single node AKS cluster with that instance size calculates to USD 77.38 per month.
Both include the required local storage.
Of course, I realise that 30 days sustainable use can’t be seen as “spot” price, but if I want to do anything else than just deploying a busybox container, I’d rather have lower monthly price. For Azure, I only get a discount when committing for a year.
The point is that in realistic scenario, you’d need to stop counting gigabytes of traffic as it’s cheap. What really counts is the compute costs. For something just a bit more serious than playing around, you’d need to have at least two nodes and the price difference would double.
But, there’s more!
I won’t go to the quality of AKS versus GKE. You can find enough rant out there about both and decide, which one would work for you.
However, I’d like to list a couple of other available options.
First, the Digital Ocean hosted Kubernetes. As with other providers, you only pay for the worker nodes. Digital Ocean calls them droplets. The smallest usable droplets cost $20 per month and the whole cluster would cost you $20. Add $10 for the basic load balancer, and you have the whole thing for $30, which is $1 per day. Clear winner, if you ask me!
Remember, however, that Digital Ocean has zero management tools available for their Kubernetes offering. Basically, it’s what AKS was two years ago — a few VMs for the worker nodes and some master nodes, which you can’t see.
Second, the shiny bright new Autopilot GKE. When provisioning the cluster, you can’t configure the size of the worker nodes. Initially, it has zero compute resources and costs nothing. Automagically, when you start to deploy workloads to the cluster, the compute resources will be provisioned to the node pool to support those workloads.
The price for compute resources in Autopilot clusters, however, are higher, compared with the standard GKE, as you can hardly commit to any sustainable use. However, for deploying a couple of replica sets to a production-grade self-balanced cluster, you’d pay less than $50 per month, which is a good deal. Remember that otherwise you’d need to have at least a two-node standard cluster for something around $120.