If you’re a tech enthusiast dabbling into web development, mobile apps backed by some APIs or IoT geek, I’m sure you’ve long discarded that home hosted server.
Security notwithstanding, the array of port forwarding necessary to make it all work while keeping track of settings between router upgrades, moving stuff around, etc takes provisioning and keeping a decent uptime a challenge.
Nowadays, however, it’s pretty easy (and not very expensive) to maintain a cloud presence under y our control (read: VPS aka virtual private server). Costs are falling slowly but steadily and you can get nice environments for anything between $5 to $20 a month, unless you expect to surpass Instagram traffic.
The contenders I’m looking at today are Hetzner (the fairly famous bare metal provider), AWS (the god of cloud), GWHosting (a newcomer), GCP (the aristocrat of cloudy containers), Digital Ocean (the geek dream) and a bonus look at Azure (that thing nobody wants to admit it’s out there).
For the pricing comparison I chose anything with 2Gb of RAM. This configuration is at the low end of what allows you to run almost anything reliably. Also, all the chosen hosts are using KVM for their virtualisation on Linux systems (except for AWS, as Amazon has built their own KVM-like system).
Since it seems that medium is not really friendly with tables, I will direct you to my blog for a side by side comparison and present the conclusions below.
-> Comparison here.
- For providers offering per hour or per second pricing, I took the list pricing for European datacenters and consdered a 31-day month full usage
- AWS/Azure/Alibaba also have reduced committed pricing for yearly/3 year use (also 6 months for Alibaba), however for a reliable comparison I’ve only used listing pricing as in fact all of them have a form of discount around the 1 year committment mark.
- DO and Hetzner also charge by the hour but the usage costs have an upper cap (the values mentioned in the table), when you exceed it through hourly costs then you get charged the lump monthly sum
- Azure, AWS and Alibaba are by far the most expensive for this level. On powerful servers things change (in fact nobody seems able to match Azure/AWS/GCP on sheer power of their resources)
- What is missing here is performance, established providers run high performance networking setups and offer the best hardware, which matters. DO and GWHost target enthusiasts and although DO has been improving infrastructure, it’s still not a match.
- Hetzner is the cheapest, with a caveat. Its CPU resources are not dedicated (locked by the VMs). They are shared, thus if you ran into a bad tenant that decides to test CPU power on the same machine, you may find performance degraded.
- You can’t beat GCP in terms of control. They CLI tool is awesome and you can export operations as CLI commands after you’ve performed them in the UI (eg: start a GKE application and on the next page you can export what you did as a CLI command you can then use as an example to script provision/deploy/whatever). AWS CLI tools are a pain to learn through the official documentation and you need to scour the Internet for examples (sometimes hard to find).
- You can’t beat Hetzner overall. Their console isn’t a match for AWS EC2 console or GCP, but considering the price … man oh man!
- GWHosting comes in a close second. Their datacenter is in Romania so you get Romanian internet speed (100Mbps upload, 200Mbps download tested with speedtest-cli — whaaaaat??)
- DO tech support is awesome, but they started charging for snapshots a while back. GWHost support is great and snapshots are free (for now). Another downside, upload/download speeds (~20Mbps in their Frankfurt datacenter)
If you look for an established name with powerful hardware, look no further than Hetzner. Pricing and features are great.
If you look for speed and the safety net of free backups, GWHost is the way to go.
Neither are production-ready in their default form and would need serious scripting to automate anything.
If you need to look beyond enthusiast level, then GCP is a contender. Not the cheapest of the bunch but you get more for your money than on either AWS or Azure.