Hetzner Cloud: A quick review
Hetzner has launched their own cloud VPS service. I took it for a spin and compared it to other providers such as DigitalOcean.
I have posted an updated version of this review for 2020.
I’ve been a loyal Hetzner dedicated servers customer for over 5 years now for all my side project needs. They have rock solid performance and very reasonable prices. Yet, with their latest VPS offering I saw no other way than to cancel my loyal dedicated machine and move to the cloud.
My previous machine had an uptime about 4 years and it has served me well. Having sort of unlimited server space for any side project I wanted at a fixed cost was great. I’d wanted to move to cloud servers for a while though for a couple of reasons. First, having a unmanaged dedicated machine means that you have to fix any issues. If a drive dies, you have to be able to work with mdadm to find it and tell the server people to swap it out. You can’t restore from a snapshot if it refuses to boot either. By the end I was pretty convinced that if I had to reboot my machine it would not be able to. Finally, while the machine was very cheap as dedicated servers go, it was still a bit much for my side projects.
I rented the old machine at the Hetzner server auction. It was a Xeon 1245v2 with 2x3TB HDDs and 16gb of ECC ram. It had very good single core performance which is crucial to a Ruby on Rails application. It was running Ubuntu 14.04 and I had not rebooted it in about 4 years. Yeah..it has an uptime of over 1200 days.
deployer@Marge:~$ uptime 11:01:11 up 1219 days
A quick aside about the Hetzner server auction. Hetzner has an auction where you are able to rent older servers. You can often get great deals on server grade hardware here so check it out if you need a good dedicated server. The deals there were better in the past though so shop around.
In total I paid 43 euros(about $53) a month including VAT for my dedicated server with server grade hardware. This was great for a long time but I only used a fraction of the performance available. Keep in mind that I used this server for simple side projects only. They did not receive a lot of traffic so the average server load was a measly 0.2. Because of this I had been looking for alternatives for some time. There was also the issue with having no SSD in my server which most of the cloud providers offered.
This is not the first offering from Hetzner as they’ve had VPS offerings in the past. What changed the game was their new cloud servers. They might seem similar but there are some important differences such as:
- Much better interface. The old Robot interface was ancient and clunky.
- Rated by the hour as well as month
- More power for the same price. The new cloud servers have very recent hardware as well as NVM drives.
- Images, snapshots, automatic backups and more.
With a price that was about 25% of what DigitalOcean charges for the same specs I had to give it a try.
While I did not use a lot of the raw performance of my old machine what I did use was a bit of RAM (Ruby projects). In total I needed about 8gb or so. The new setup consists of 2 of the second smallest machines so 2x CX21. This gives me 8gb of ram total as well as 4 shared CPU cores. To me the CX21 seems like the best bang for buck at about 5 euros a month for 2 CPU cores, 4GB of ram and 40GB of storage.
Using the new and improved interface I had machines up and running in less than a minute. Often the machines launched in less than 10 seconds which is very impressive.
Performance on the new machines impressed me from the start. They have showed very stable performance for the month or so they’ve been running. This may of course be because the whole service is new and have no noisy neighbours. So far it seems very promising which is also plain in the images below:
Compare the above to a DigitalOcean droplet with comparable specs.
To show what kind of value Hetzner offers I compared them to some other cloud providers. In particular I investigated what they charge for roughly the same specs as the CX21(the 5 euro one).
DigitalOcean is to me the baseline of a good VPS provider. Great performance at a reasonable price. A machine with 2 cpu cores, 4GB of ram and 80GB of SSD storage costs $20. This has twice the storage space of the Hetzner server but at about 3 times the price.
What DigitalOcean has though is an ecosystem of other services. For example they offer block storage and load balancers. They also offer plans which trade CPU cores for RAM and vice versa.
Linode is a well known and stable VPS provider. A machine with 2 cpu cores, 4gb of ram and 48gb of SSD storage costs $20. Again, roughly 3 times the price of the Hetzner machine and about the same as DigitalOcean. Less storage though. Much like DigitalOcean they also offer block storage, load balancers and more.
OVH is a French provider. A machine with 1 cpu core, 4gb of ram and 20gb of storage costs roughly the same as the Hetzner machine. They offer discounts for annual billing. Here you get access to the OVH ecosystem. This includes a very affordable CDN solution, managed cloud databases and more. They also offer other kinds of VPSs with more RAM or CPU but with no SSD storage.
Scaleway has both what they call “baremetal SSD cloud servers” and regular VPS. They are unique as they are selling bare metal dedicated machines as if they were cloud machines. A non-dedicated machine with 4 CPU cores, 4GB ram and 100GB SSD costs about $7.50. This is very cheap, but there is a big issue: Scaleway uses Atom CPUs for these machines. These CPUs are affordable, use little electricity but have poor single core performance.
Scaleway also sells ARM based servers for even less money. What is even better is that you can have a dedicated machine with 4 cores, 8GB ram and 50GB SSD for about 15 bucks a month. Mind that this is a dedicated machine and not a shared VPS. They also have SSD block storage for about a buck for 50GB. Again, if you don’t need great single core performance then take a good look at the offers by Scaleway.
For starters it is not fair to compared AWS EC2 instances to a regular VPS. Here you have a very rich ecosystem of elastic servers and the entire AWS behind you. You don’t pay for performance here, you pay for the ecosystem and elasticity. For about $33 a month you can have a T2 medium instance with 2 “virtual cores” and 4GB ram. Amazon charges for disk on top of this and you can have as much as you want. Mind that outgoing traffic is not included at all here and you have to pay for each GB you use. As you might have noticed a AWS EC2 instance is not cost competitive at all compared to a VPS and it is not supposed to be.
This is the VPS offering from AWS. These, unlike the elastic instances above, are “normal” VPSes and we can compare these to the others. A 2 core machine, 4GB of ram and 60GB SSD is $40 a month. Not cheap but again: here you have access to the rest of the AWS ecosystem as well.
Of all the offers above it would seem that only Scaleway can offer any real competition value wise.
So this seems like quite the deal so far. Hetzner cloud is cheaper than most VPS providers I could find and with great performance. Are there no issues then? Well, there are two major ones: First: the amount of disk. Since Hetzner uses NVM SSDs they get great performance which are not cheap. The amount of disk you get which each server is small you cannot extend it. The first 2-core machine has 40GB space which is ok but it is easy to run out even with moderate use. Docker for example logs by default to a JSON file that grows fast if you have a couple of containers running. Especially if these containers do a lot of logging. If you need more disk space your only option is to upgrade the entire server. Hetzner does sell storage boxes but they have unreliable, slow performance. They are for backup and Dropbox-like functionality. This problem will thus remains until Hetzner launches a block storage option.
The other serious problem is the location. Hetzner only exists in germany. This is perfect for a Swede like me but you cannot get a Hetzner server in the United States for example. Most other cloud providers have several data centers in other geographic regions. This is a big problem for overseas people. Hetzner might not even be a realistic option in your case.
For my side projects the move to Hetzner Cloud has been a smashing success. I pay less than a third of what I did before and if I need more I rent another server for little money. I will blog about how I setup my VPSes with Ansible and Dokku one day as well as that will get you started in no time. I will also write another review of Hetzner Cloud in six months or so when I’ve been using them for a while longer.Discuss on Twitter
Get the latest content in your inbox for free
Some of the things I write about
- Ruby on Rails performance
- News in the software development world