This project aims to compare the cloud providers providing managed Kubernetes services.
You are a developer or a DevOps engineer and you are looking for a managed Kubernetes cluster to deploy your first applications or internal tool. As this is your first application to deploy you don't want to spend so much. In other hand, you want something that can scale, allowing to deploy other applications in the cluster, or other managed services in the future like databases, storage, load balancers, etc.
The comparison is focus on kubernetes offer, but we also need to check the cost for other related resources, such as load balancers and databases. Here is the infrastructure template used for the comparison (the smaller, not the better!):
- 1 managed Kubernetes cluster
- 1 node General Purpose (need 2 or 3 for production purposes)
- 2vCPUs, 8GiB RAM
- 730 hours per month
- 1 load balancer with public IP
- 1 Postgres managed database
- 1 node
- 1vCPU, 1GiB RAM
- 730 hours per month
- Google Cloud Platform
- AWS
- Azure
- OVHCloud
- Scaleway
- Digital Ocean
- Civo Cloud
- Exoscale
- Linode/Akamai Connected Cloud
Updated at 11/11/2024
Cloud Provider | Managed Kubernetes | Postgres Database | Load Balancer | Total Cost |
---|---|---|---|---|
Azure | AKS - 2vCPUs, 8GiB RAM 160$/mo |
Azure Database for PostgreSQL - 2vCPUs, 4GiB RAM, 20Go 43$/mo |
21$/mo | 224$/mo |
Google Cloud | GKE - 2vCPUs, 7,5GiB RAM 150$/mo |
Cloud SQL - 1vCPU, 0,6GiB RAM, 40Go 15$/mo |
19$/mo | 184$/mo |
AWS | EKS - 1vCPU, 8GiB RAM 114$/mo |
RDS PostgreSQL - 1vCPU, 1,7GiB RAM, 20Go 47$/mo |
18$/mo | 179$/mo |
Exoscale | SKS starter - 4vCPUs, 8GiB RAM 68€/mo |
Hobbyist PostgreSQL - 1vCPU, 2GiB RAM, 8Go 42€/mo |
25€/mo | 135€/mo |
OVHCloud | Managed Kubernetes - 2vCPUs, 8GiB RAM 34€/mo |
PostgreSQL - 2vCPUs, 4GiB RAM, 80Go 50€/mo |
10€/mo | 94€/mo |
Civo Cloud | Kubernetes - 4vCPUs, 8GiB RAM 43$/mo |
PostgreSQL - 1vCPU, 2GiB RAM, 20Go 22$/mo |
11$/mo | 76$/mo |
Digital Ocean | Kubernetes - 4vCPUs, 8GiB RAM 48$/mo |
PostgreSQL - 1vCPU, 1GiB RAM, 10 Go 15$/mo |
12$/mo | 75$/mo |
Linode | LKE - 4vCPUs, 8GiB RAM 48$/mo |
Managed Database - Shared CPU, 1GiB RAM, ?Go 15$/mo |
10$/mo | 73$/mo |
Scaleway | Kapsule - 2vCPUs, 8GiB RAM 33€/mo |
PostgreSQL - 1vCPU, 2GiB RAM, 10Go 18€/mo |
15€/mo | 66€/mo |
This comparison is limited and the infrastructure template used for the comparison is not suitable for heavy workloads or production purposes. It's just a reference to compare the costs between the cloud providers.
It doesn't take into account all the costs. Depending on the cloud provider and the offers, you may have additional costs like:
- Container registry
- Network
- Storage
The infrastructure used for comparison is a minimal set of requirements:
- Shared control plane most of the cases
- No high availability for node pools, databases, load balancers
It may be possible to optimize the costs by reducing the time the resources are running, or using reserved instances when available.
We only compare costs, but not all cloud providers are equal. Some have much more extensive service catalogs than others, some kubernetes services are more stable/reliable than others, the tools to interact are also really important to ensure a good developer experience (yes, infrastructure as code is mandatory!).
So, the cheaper is not always the better, you need to test the services and see which one fits better for your needs.
For those who don't need an entire cluster, and would like to have managed namespaces, you can also take a look at the BlackSwift solution.