Contabo vs. DigitalOcean | Which to choose? | Honest Review
I did some research and testing around the performance of servers on both of these service providers. The reason for this article is the huge price gap between them and the fact that I wanted to know what you actually get for your money. Below are all my findings, thoughts, and benchmark tests for comparison thrown on “paper”.
Benchmarks
I used sysbench to test CPU, RAM, IO, and Network.
In both cases the servers had Ubuntu 16.04 installed.
These are just the main points, full statistics at the end.
Contabo 8GB VPS (5€ / month):
CPU: events per second: 755.75
RAM:
- Total operations: 31599064 (3158787.42 per second)
- 30858.46 MiB transferred (3084.75 MiB/sec)IO:
- reads/s: 0.00
- writes/s: 5908.41
- fsyncs/s: 7560.71Network:
Download: 199.45 Mbit/s
Upload: 190.97 Mbit/sDigitalOcean 4GB VPS (20€ / month)
CPU: events per second: 971.69
RAM:
Total operations: 33387969 (3338092.40 per second)
32605.44 MiB transferred (3259.86 MiB/sec)IO:
- reads/s: 0.00
- writes/s: 5104.53
- fsyncs/s: 6524.46Network:
Hosted by fdcservers.net (Frankfurt) [0.53 km]: 1.545 ms
Download: 1605.30 Mbit/s
Upload: 1970.01 Mbit/s
Comparing both it’s clear at many points DO wins if you take into consideration the halved server spec compared to Contabo, but surprisingly Contabo still does well even tho the spec is oversold. Especially surprising is the disk speed since this is the point I was expecting them to lose on.
Kubernetes cluster testing
The basic setup on DO is much simpler, one-click with preinstalled correct drivers, OS, Docker, etc. making the process super simple and fast to test and play with, it’s a good point to start at when figuring out the system. Everything just works out of the box.
Trying with Contabo was a bit more painful in the beginning, some failed clusters and not clear problems until I figured out the exact formula for which Linux to use and what version, some system tweaks to do, and so on. At one point I was even doubting if Rancher, that we are using to orchestrate Kubernetes, was even production-ready due to all the problems. Conclusion, it is :)
Pros and Cons
Contabo
Their whole system is very legacy, just look at the website :D
The server setup costs around 4€ to get started on top of the base price.
The minimum order is one month, so not much flexibility in quick deploy and shutdown.
The server is usually set up in between 10 minutes and up to two hours.
As seen on the benchmarks the network is very capped but in our case, with a lot of servers the total sum comes out ok. The is no upgrade option for just the network, you have to go for the whole VPS tier upgrade.
On the positive side price is low so no problem keeping servers for a longer period.
They also have an ok dashboard in terms of self-management like system reinstall, backups, snapshots, etc, and some standard Linux distros and version options.
Digitalocean
Amazing interface,
Simple API and CLI tool, many one-click apps, and services to choose from.
Fast spin-up times and charged by the minute.
Works out of the box with Rancher and Kubernetes.
Unfortunately, a tad too expensive compared to what else is on the market and if you have some time to devote to DevOps, not everyone does or wants to for that matter.
My conclusion?
The thing I ended up doing is setting up the base server setup using Contabo cheap servers and a lot of them to mitigate any potential problems on their end, note that for now no strange behavior was detected. Secondly, I added DO to the mix as a quick backup solution if something goes wrong and there aren’t two hours to spare waiting for Contabo to spin up the server for you.
I also wrote some shell scripts to kind of mimic the DO setup of Contabo servers to the cluster but still, some manual work is involved including their setup delay.
Feel free to chime in with your experience, I’d like to know if there’s any other good VPS providers out there and if anyone has done a calculation of price-performance for AWS services running Kubernetes?
Full benchmark
Contabo
CPU:
- events per second: 755.75
General statistics:
- total time: 10.0007s
- total number of events: 7561
Latency (ms):
- min: 1.09
- avg: 1.32
- max: 1.91
- 95th percentile: 1.61
- sum: 9985.42
Threads fairness:
- events (avg/stddev): 7561.0000/0.00
- execution time (avg/stddev): 9.9854/0.00
RAM:
- Total operations: 31599064 (3158787.42 per second)
- 30858.46 MiB transferred (3084.75 MiB/sec)
General statistics:
- total time: 10.0004s
- total number of events: 31599064
Latency (ms):
- min: 0.00
- avg: 0.00
- max: 8.16
- 95th percentile: 0.00
- sum: 4517.21
Threads fairness:
- events (avg/stddev): 31599064.0000/0.00
- execution time (avg/stddev): 4.5172/0.00
IO:
File operations:
- reads/s: 0.00
- writes/s: 5908.41
- fsyncs/s: 7560.71
Throughput:
- read, MiB/s: 0.00
- written, MiB/s: 92.32
General statistics:
- total time: 10.0001s
- total number of events: 134764
Latency (ms):
- min: 0.01
- avg: 0.07
- max: 198.34
- 95th percentile: 0.14
- sum: 9887.00
Threads fairness:
- events (avg/stddev): 134764.0000/0.00
- execution time (avg/stddev): 9.8870/0.00
Network:
Hosted by Contabo GmbH (Nuremberg) [7.56 km]: 0.924 ms
Download: 199.45 Mbit/s
Upload: 190.97 Mbit/s
DigitalOcean
CPU: events per second: 971.69
General statistics:
- total time: 10.0003s
- total number of events: 9719
Latency (ms):
- min: 0.94
- avg: 1.03
- max: 1.74
- 95th percentile: 1.30
- sum: 9989.39
Threads fairness:
- events (avg/stddev): 9719.0000/0.00
- execution time (avg/stddev): 9.9894/0.00
RAM:
Total operations: 33387969 (3338092.40 per second)
32605.44 MiB transferred (3259.86 MiB/sec)
General statistics:
- total time: 10.0002s
- total number of events: 33387969
Latency (ms):
- min: 0.00
- avg: 0.00
- max: 0.14
- 95th percentile: 0.00
- sum: 4357.27
Threads fairness:
- events (avg/stddev): 33387969.0000/0.00
- execution time (avg/stddev): 4.3573/0.00
IO:
File operations:
- reads/s: 0.00
- writes/s: 5104.53
- fsyncs/s: 6524.46
Throughput:
- read, MiB/s: 0.00
- written, MiB/s: 79.76
General statistics:
- total time: 10.0032s
- total number of events: 116353
Latency (ms):
- min: 0.00
- avg: 0.09
- max: 601.97
- 95th percentile: 0.04
- sum: 9934.03
Threads fairness:
- events (avg/stddev): 116353.0000/0.00
- execution time (avg/stddev): 9.9340/0.00
Network:
Hosted by fdcservers.net (Frankfurt) [0.53 km]: 1.545 ms
Download: 1605.30 Mbit/s
Upload: 1970.01 Mbit/s
Check out Contabo VPS options here.
Check out DigitalOcean VPS options here.
Written by
Comments
Post a Comment