Benchmarking cluster creation time for 8 managed Kubernetes providers

Oct 4, 2022 3 minute read
Stephen Hoogendijk
Name
Stephen Hoogendijk
Twitter
@thecodeassassin
Buster Styren
Name
Buster Styren
Twitter
@BusterStyren

Are you planning to run CI tests in a production-like environment? Perhaps you are running short-lived workloads in separate clusters? If so, you might care about cluster boot times.

We ran a benchmark across 8 different providers of managed Kubernetes to determine how long they take to initialize.

We compared the providers by creating a cluster with a single node and measuring the time from creation until the node was in a ready state.

The benchmark ran 15 times for each provider. The averaged time is shown in the chart below and the complete data is available in this spreadsheet.

The source code is on GitHub. We will happily accept pull requests if you find a way to improve it.

Providers tested

  • Azure
  • AWS
  • Civo
  • Digital Ocean
  • Google Cloud
  • Linode
  • Scaleway
  • Symbiosis

Civo diverges by running the k3s distribution, a lightweight Kubernetes built for IoT and edge computing.

The results

1m 40s
Symbiosis logo
Symbiosis
2m 5s
Civo logo
Civo
4m 16s
Scaleway logo
Scaleway
4m 29s
Azure logo
Azure
5m 7s
Google Cloud logo
Google Cloud
6m 17s
Digital Ocean logo
Digital Ocean
6m 25s
Linode logo
Linode
18m 48s
AWS logo
AWS

Providers give access to the cluster at different stages of initialization. For example, Linode make it possible to download credentials after just 11 seconds, however it took another 4 minutes until workloads were finally schedulable.

In order to remove variance we also disabled high availability (HA) for the providers that made it possible.

Sidenotes

It should be noted that all tests ran at around the same time for each provider. It's reasonable to assume that the result will differ slightly throughout the day depending on factors like congestion.

AWS was significantly slower to initialize compared to the others. Although we did attempt to create the AWS cluster manually (without the CLI) it didn't have any significant impact on the benchmark.

We hope to publish yet another benchmark on node boot times in the near future and we have already gathered most of the data. With quick boot time your cluster can react to bursts faster and avoid running out of resources.

If you enjoyed this article you can follow us on twitter or reach us by email. Until next time. 👋

Last Updated Jan 11, 2023
Share this post on Hackernews
Share this post on Reddit
Share this post on Twitter