summaryrefslogtreecommitdiff
path: root/published/vps-review.txt
blob: 5a90652e298d080a382d0318984a8ed39acc5551 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Running your own virtual private server (VPS) was once limited to either profitable side projects or those with money to burn. The relatively high monthly costs (often $40-$60 a month), made it too expensive for personal projects that didn't generate income and more serious endeavors often used dedicated hardware, leaving VPS as a kind of no man's land in the middle.

That's no longer the case. Today the VPS is both cheap enough for personal projects and reliable enough for serious ones. Competition has <a href="http://www.theregister.co.uk/2014/06/16/linode_price_cut/">driven down prices</a> dramatically, so much in fact that that spinning up your own VPS is often cheaper than renting web server space from a shared host.

These days you can get a VPS instance running for less than $5 a month. When it comes to price, VPS hosting is the new shared hosting. 

In some cases you get what you pay for, but in others, like the ones reviewed here, what you get is often much faster than you'd get for double the price in shared hosting. And with the VPS you have an entire server at your command.

Sure it's a virtual server, but in all but the most extreme use cases it will perform nearly as well as dedicated hardware. In fact, many high-end VPS options sometimes outperform low-end dedicated hardware. The main advantage of dedicated hardware these days is that it offers total control.

Of course if you want to launch a new WordPress blog you don't need dedicated hardware or a VPS, you just need a web host. While VPS can be set up to host web applications, they're going to take more work and more knowledge about Linux and networking. In fact if you're looking for hand holding -- help installing web servers, configuring firewalls or setting up applications -- then VPS hosting is not a good choice. 

If you're a web developer looking to expand your server admin knowledge or a startup that needs a more reliable, powerful setup, VPS hosting offers a cheap, scalable way to get your app in the datacenter. Since most VPS hosts these days have plans that bill by the hour -- thank Amazon Web Services for starting that trend -- you can spin up dozens of virtual machines and play around with various server distros and software configurations for just pennies.

A VPS means you have (relatively) total control over the system and can do things like <a href="https://longhandpixels.net/blog/2014/02/install-nginx-debian-ubuntu">compile Nginx</a> with exactly the modules you want, run <a href="http://openvpn.net/">OpenVPN</a> to bypass geo IP restrictions, set up your own <a href="https://www.digitalocean.com/community/tutorials/how-to-set-up-a-minecraft-server-on-linux">Minecraft server</a> or even, in some cases, start your own shared hosting company.

There are downsides to VPS hosting. You'll need to patch your servers when vulnerabilities like Heartbleed come up. You'll need to be a bit more active, no one is going to make sure you're running the latest software and while most hosts have excellent documentation available (as well as helpful user forums) installing software and getting everything working the way you want it is entirely on you.

Aside from competition, the ever-lower prices in VPS hosting are also driven by the improvements in virtualization software that's happened in the last few years. There are three major types of virtualization used behind the scenes of VPS hosting. The first and oldest of the bunch is OpenVZ virtualization. In theory OpenVZ should be the fastest, but because OpenVZ makes it easy to oversell VPS space a few bad apple providers out there have given OpenVZ something of a bad name. Most newer VPS providers use KVM or Xen for virtualization. In fact all the VPS hosts reviewed below use either KVM or Xen behind the scenes.

As with shared hosting, it's also possible for VPS hosts to serious crowd server hardware to the point that your server slows to crawl, which is why it pays to shop around (and possible avoid OpenVZ-based hosts, though again, OpenVZ isn't to blame, it's the hosts that abuse it that create the problem). There are hundreds, if not thousands of VPS hosts out there, but for the purposes of this review I'll stick with some of the biggest names in the business: the venerable Linode, the now massive Digital Ocean and the recent upstart, Vultr.

Perhaps the biggest name in VPS hosting, at least among developers and startups, is Linode. Linode has been around since 2003 and the company was one of the first to offer plans in the $20 range and now, thanks in part to competition from Digital Ocean and Vultr, even Linode has a $10 a month plan available. Unlike the newcomers, Linode uses Xen exclusively.

Linode is not the cheapest of the bunch -- the company lacks an equivalent to the $5/month plans found elsewhere -- but in my experience it's the fastest and most reliable. It has more U.S. datacenters than most of the competition and also offers datacenters in London and Tokyo. Linode doesn't currently have a datacenter in Europe though, so if the majority of your traffic is coming from Europe, Linode may not be the fastest choice.

The cheapest Linode offering, which gets you a VPS with 1GB RAM, 1 CPU Core, 24 GB SSD Storage, 40 Gbit Network In, 125 Mbit Network Out and a 2 TB monthly transfer limit outperformed everything else I've tested with the <a href="http://serverbear.com/">ServerBear </a> benchmark suite. Using the Fremont, CA datacenter I was able to consistently get around 60 MB/s transfer speeds and scores of around 900 and sometimes higher on <a href="http://code.google.com/p/byte-unixbench/">UnixBench</a>. While both Digital Ocean and Vultr get close, neither was able to match Linode's performance for the $10 a month instances.

Linode also offers some advanced features you won't find in the others, like the ability to use slightly less mainstream Linux distros like Slackware, Gentoo or Arch. Linode also has an option to spin up a bare VPS and install your own distro if the available options don't meet your needs (for example you can install FreeBSD). If your app grows Linode also offers high end extras like load balancers and a nice metrics package called Longview.

While Linode has a long history in VPS hosting, Digital Ocean is a relative newcomer. Digital Ocean's growth over its short life has been nothing short of meteoric. In just over two years Digital Ocean has, by <a href="http://trends.netcraft.com/www.digitalocean.com">some measures</a>, become the third largest hosting company in the world. 

Digital Ocean likes to credit its success to its focus on developers, which probably doesn't hurt, but having the lowest price didn't hurt. Digital Ocean was one of the first reliable VPS hosts to offer a $5 a month plan. Having used that plan almost since the company started offering it, I can say that, while it's not always the fastest in benchmarks, it has been very reliable. Over the last six months my "droplet", as Digital Ocean calls VPS instances, has had 100% uptime. Over the previous year my uptime was at 99.98%. 

Digital Ocean also offers one of the nicest control panels you'll find in this space. The company is also remarkably fast at setting up new instances, in most cases I've been able to spin up a new instance in less than a minute. My biggest gripe is that unless you add your SSH key, Digital Ocean will email your root password in plain text. Make sure you add an SSH key first thing to avoid that issue.

It's worth noting that, while Digital Ocean offers a number of pre-configured setups, including popular apps like a basic LAMP stack, WordPress, ownCloud, GitLab and Ruby on Rails, it does not allow you to install custom OSes like you can with Linode.  

Another relative newcomer to the VPS game is Vultr, which just sprang up last year as a kind of Digital Ocean clone. Vultr offers 50% more RAM than either Digital Ocean or Linode on otherwise equivalent low end plans. More surprising, in my testing Vultr often outperformed both Linode and Digital Ocean in many benchmarks, though usually not in bandwidth where Linode consistently took top honors.

Vultr has a few things Digital Ocean does not, including far more datacenters -- 12 cities around the world, compared to Digital Ocean's four offerings. 

Vultr also has a few plans designed for <a href="https://www.vultr.com/docs/vps-automatic-backups">VPS-as-storage</a>. These plans ditch the SSD in favor of slower, but much larger, spinning hard drives, primarily intended for use as cheap, offsite backups.

One downside for developers is that Vultr's API pales next to what Linode and Digital Ocean offer. Vultr's dashboard is similar to Digital Ocean's, but lacks the level of polish you'll find with the latter.

Which VPS host is right for you depends on what you want to do. For mission-critical client hosting I still rely primarily on Linode. For personal projects or running non-public applications like OpenVPN or ownCloud I've been using both Vultr and Digital Ocean. 

The good news is that all of these hosts, as well as many others not reviewed here, have bill by the hour payment options, which means you can spin up a VPS instance for testing and only spend a few pennies. 

It's worth nothing though that while all of these VPS hosts are often labeled "cloud" providers none of them offer the kind of high availability, automatic fall-over or other selling points of distributed cloud hosts like AWS or iwStack. Though iwStack is bringing down the costs of high availability hosting, "true" cloud VPS hosting is still typically more expensive than the VPS plans reviewed here. However, just a few short years ago you could have said the same thing about VPS hosting compared to shared web hosting.