Luke Cyca .com

Canadian VPS Review

Inspired by this call to arms, and especially al3x's sovereign orchestration scripts, I've set out to consolidate all of the "cloud services" I rely on most into a single privately-hosted server.

The first step is to find a suitable Virtual Private Server to rent.
My requirements are:

  • Fully Canadian owned, operated, and hosted
  • Around $30/m
  • Transparent and geek-friendly (minimal marketingspeak)
  • Somewhat automated and self-serve (like Linode or AWS)
  • Capable of consolidating my Gmail, calendars, Drop Box, and websites

I checked out three services...

In pursuit of a cloud to call my own

LFC Hosting

Headquarters: Regina, SK
Servers: Montreal, QC
Package: LFC-512
Memory: 512MB (+512MB Add-on)
Disk: 30GB
Backups: 7 daily & 3 weekly
Transfer: 600GB
CPUs: 4 Cores - Intel Xeon E5-2620 @ 2.00 GHz
IPv4 Addresses: 1
Managed DNS: Yes
Price: $19.37 USD/month, incl GST

I might be biased: I've done business with LFC hosting for over 10 years, and know them personally. I've also hosted many of my websites on their shared hosting service and it has been excellent. I haven't used their shared hosting service as much recently because it is Windows/IIS and I only speak Linux, so I'm glad to see their VPS offering has such an impressive array of Linux distros to choose from. They even have the latest Debian 7, which is exactly what I need for this project.

The website and ordering UI was the best of the bunch, but that's not saying much. All of these websites feel clunky and tacky compared to Linode. But LFC's was the least worst.

CACloud

Headquarters: Richmond, BC
Servers: Richmond, BC
Package: Elastic Cloud VM Small Instance
Memory: 1024MB
Disk: 20GB
Backups: 5GB of snapshots
Transfer: 250GB
CPUs: 1 Core - Intel Xeon E5620 @ 2.40 GHz
IPv4 Addresses: 2
Managed DNS: Extra cost
Price: $25 CAD/month, plus GST

I originally reached out over Twitter pointing out their relatively high price/specs, and got a quick response by email addressing my concerns and offering various promos. A deal is always nice, but pricing transparency would be even better.

The order form was buggy and cumbersome. There were a few visual glitches in Safari, and a confusing UX experience when required fields were missing. At one point the page reloaded inexplicably, and the price appeared to have gone up to $28 from $25. My guess is that it added the tax.

CACloud was the only one I reviewed that provides a free 30-day trial. This is awesome.

FullHost

Headquarters: Victoria, BC
Servers: Toronto, ON
Package: VPS 1GB
Memory: 1024MB
Disk: 50GB
Backups: Yes, but requires support to restore
Transfer: 500GB
CPUs: 4 Cores - Intel Xeon E5-2630 @ 2.30 GHz
IPv4 Addresses: 1
Managed DNS: Yes
Price: $33.59CAD Monthly (GST/PST incl)

The website is nice and has lots of information, and the order process was painless. It verified my phone number by sending a code by SMS, a process that was speedy and worked first try. Make sure to check out their frequent promotions.

An aside: I hate Verified By VISA. Online vendors must be pressured by VISA to participate in this because then VISA (or securesuite.com, whoever that is) has control over an additional authentication step during the payment process. However, they're not very good at it. The only additional information I gave them to authenticate me (beyond what I normally give a vendor) was my birthdate. I then got to choose an 8 to 12 characters password. No symbols and no spaces. What is this, written in COBOL?

Provisioning a VM

LFC Hosting

I signed up for all three services on a Saturday morning. The VM from LFC wasn't provisioned until about 36 hours later on Sunday evening, which I take to mean that it is a manual process and weekend staffing is light. At least this is only a one-time inconvenience — the control panel provides sufficient self-serve automation should I need to reboot or rebuild the VM.

It's a Xen virtual machine, but I wasn't able to find evidence of which orchastration software they use, if any.

root@vps1:~# df -h
Filesystem Size Used Avail Use% Mounted on
rootfs      30G 996M   28G   4% /
udev        10M    0   10M   0% /dev
tmpfs      100M  80K  100M   1% /run
/dev/xvda1  30G 996M   28G   4% /
tmpfs      5.0M    0  5.0M   0% /run/lock
tmpfs      405M    0  405M   0% /run/shm
root@vps1:~# free -m
         total used free shrd buf cache
Mem:       996  226  770    0  35   152
-/+ buf/cache:   38  958
Swap:     1023    0 1023
root@vps1:~# date
Tue Aug 27 05:24:41 UTC 2013

How about that! A sane default timezone.

CACloud

The VM was provisioned and running within a minute or two of completing the form — by far the fastest of the bunch. I logged in to the IP with ssh using the supplied (auto-generated) root password and had a look around.

It's a Xen virtual machine, and they appear to use OnApp to orchestrate the provisioning.

[root@lukecyca ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1   19G 1.3G   17G   8% /
tmpfs      512M    0  512M   0% /dev/shm
[root@lukecyca ~]# free -m
         total used free shrd buf cache
Mem:      1024  243  780    0   8   121
-/+ buf/cache:  112  911
Swap:     1023    0 1023
[root@lukecyca ~]# date
Sat Aug 24 12:56:16 PET 2013

Everything looks good, but what's with the timezone? PET is Peru's timezone.

Debian 7 isn't in their list of images, so I had to go with Debian 6 and then spend a half hour (and a gig of bandwidth) to upgrade it to version 7.

FullHost

One hour and 45 minutes later, I got an email telling me that my VM was running. They put the root password (that I had set during the sign-up process) in the email. D'oh! Make sure to change it during the first login.

The VM is a OpenVZ container-based virtual machine.

root@vps2:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/simfs  50G 421M   50G   1% /
tmpfs      512M    0  512M   0% /lib/init/rw
tmpfs      512M    0  512M   0% /dev/shm
root@vps2:~# free -m
         total used free shrd buf cache
Mem:      1024   23 1000    0   0    14
-/+ buf/cache:    9 1014
Swap:     1024    0 1024
root@vps2:~# date
Sun Aug 25 00:28:26 MSK 2013

Again with the bogus timezone! This time it's Moscow!

Networking

LFC Hosting

The IP assigned was 208.79.218.109, which is in AS40092. In this facility, it seems to have a single upstream provider: AS10929 assigned to Netelligent Hosting Services Inc., who in turn have four upstream providers: Bell, NLayer, Tinet, and Level3.

luke@mbp:~ ><((°> traceroute 208.79.218.109
 1  192.168.1.1         4.160 ms
 2  ...teksavvy.com    35.288 ms
 3  ...teksavvy.com    35.228 ms
 4  ...van.he.net      42.025 ms
 5  ...sea.he.net      49.329 ms
 6  ...sea.he.net      39.926 ms
 7  ...sea.bell.ca    109.763 ms
 8  ...van.bell.ca    107.817 ms
 9  ...tor.bell.ca    110.769 ms
10  ...mon.bell.ca    109.649 ms
11  ...mon.bell.ca    130.792 ms
12  ...mon.bell.ca    110.954 ms
13  ...mon.bell.ca     99.420 ms
14  ...netelligent.ca 101.715 ms
15  208.79.218.109     99.390 ms

The VPS seems very well-connected through four major providers, and the ping time is acceptable for me. It is unfortunate that my traffic goes to Seattle and back to Vancouver before going over Bell's Canadian network to Montreal.

LFC's server was the only one to support IPv6 by default. Now, I only barely have a functional competency with IPv6, and will probably disable it until I have an urge to tinker, but that's pretty cool. On the otherhand, it caused dmsg to spew ipv6: Neighbour table overflow until I raised some limits.

CACloud

The IP assigned was 67.231.18.86, which is in AS54643 assigned to Idigital Internet Inc. in Richmond, BC. According to CIDR Report, Peer 1 is their single upstream provider.

luke@mbp:~ ><((°> traceroute 67.231.18.86
 1  192.168.1.1       1.029 ms
 2  ...teksavvy.com  33.928 ms
 3  ...teksavvy.com  34.912 ms
 4  ...van.peer1.net 35.572 ms
 5  ...van.peer1.net 35.725 ms
 6  ...van.idig.net  35.439 ms
 7  67.231.18.86     36.236 ms

That is an impresively short route for me and a seriously glorious ping time! My SSH session felt like the server was on my private LAN. Even text-editing in vim was fluid.

FullHost

The IP assigned was 209.15.213.88 which is in AS13768 assigned to Peer 1 in Toronto, ON. According to CIDR Report, Peer 1 has six upstream providers, so they are certainly well connected.

luke@mbp:~ ><((°> traceroute 209.15.213.88
 1  192.168.1.1       1.115 ms
 2  ...teksavvy.com  35.757 ms
 3  ...teksavvy.com  35.440 ms
 4  ...van.peer1.net 36.100 ms
 5  ...sea.peer1.net 39.590 ms
 6  ...sea.peer1.net 38.683 ms
 7  ...chi.peer1.net 92.685 ms
 8  ...tor.peer1.net 100.954 ms
 9  ...tor.peer1.net 101.313 ms
10  ...tor.peer1.net 101.556 ms
11  209.15.212.26    99.805 ms
12  209.15.213.88    99.264 ms

This is a respectable ping time, but it's too bad that Peer1 routes it through two of their US hubs to get to Toronto.

Final Verdict

LFC Hosting

LFC Hosting has the best specs for the lowest cost. They don't quite reach that of Linode, but they're not too far off. The slow provisioning is disappointing, but less of a problem once the service is running.

This is the one I'll continue to use.

CACloud

CACloud was the fastest for me, both in terms of signing up as well as network connectivity. The server specs aren't great, but probably workable for what I need. I appreciate that they seem to control all aspects of the service including the hardware, datacentre, and even their IP block assignment. They were refreshingly accessible and transparent when contacted.

FullHost

FullHost has a solid offering. The price point is a bit high compared to the other two, but that might be worth it to someone who needs the slightly higher specs.

A Word on all the Scammers

I had a difficult time sifting through the zillions of companies offering VPS and hosting services. The vast majority of them are barely legit, reselling someone else's service without adding any value. Precious few actually run a datacenter, servers, and connectivity, and they tend to not cater much to individuals. Many lie somewhere in the middle. To discover where you are really being hosted, you need to get an IP for the actual server you're renting. Only then can you do a traceroute and a whois lookup on the IP to determine who's actually hosting it and where.

In doing this review, I signed up with supervps.ca who claim to be a Canadian company. The VM they provisioned me was indeed hosted at YesUp in Toronto, ON. However, the payment receipt came from Vision Web Hosting LLC from Delaware, USA. I emailed to cancel my account, and got a reply (originating from 178.149.238.27, a Serbian IP) assuring me they were a 100% Canadian company. A bit more digging and I found that the websites for visionwebhosting.net, astrahosting.com, and supervps.ca are all served from the same IP block belonging to WebNX in Los Angeles. Who knows where this company is actually from or how many levels of reseller indirection is going on.

Luke Cyca .com