

Author: “No Bugs” Hare Follow: Job Title: Sarcastic Architect Hobbies: Thinking Aloud, Arguing with Managers, Annoying HRs,

Calling a Spade a Spade, Keeping Tongue in Cheek

Preamble

As I wrote a few weeks ago, I am currently developing an open-souce ithare::obf library. And apparently, to make sure it works more or less consistently, a Damn Lot(tm) of randomized testing (and preferably under different compilers) is necessary. As a result, last week I found myself in a search for a cheap Linux box to run my randomized tests on.

Is “server for $8/year” === “too good to be true”?

Of course, I could go to Linode or DigitalOcean, and get a box-with-1G-RAM for $5/month (and box-with-2G-RAM for $10/month). However, before doing so, I Googled for “cheap Linux server”, and got to lowendbox.com; there, I found a “special” (~=”not available from vendor site home page”) deal from WootHosting (NB: this is not a link to the deal, as the special might already be over, but feel free to look for it on lowendbox).

The deal said it is a box-with-1G-RAM for $8/YEAR…

“My first reaction was 'hey, it is too good to be true'.My first reaction was “hey, it is too good to be true”. However, as this is a box which is certainly not mission-critical, and the money-to-risk was rather minor, I decided to give it a try1 – and to share the whatever-experience-I’ll-have on this blog.

So, let’s the comparison between WootHosting’s ultra-cheap special deal, and Linode/DO begin! Note that WootHosting is not the only one out there with such ultra-cheap deals (more can be found on the same lowendbox site) – but it is the one which I stumbled upon, so it is the one I will speak about.

Woot vs Linode/DO: Pricing

First, let’s compare pricing:

Linode Digital Ocean WootHosting Linode-or-DO / WootHosting 1x vCPU, 1G RAM $5/month (=$60/year) $5/month (=$60/year) $8/year 7.5x 1x vCPU, 2G RAM $10/month ($120/year) $10/month ($120/year) $15/year2 8x

Very obviously, WootHosting has won this round hands down.

Setup

Payment and setup with Woot went smoothly. The only issue was that they didn’t add my “addons” (those upgrades to 2x vCPU and 2G RAM) automatically – but they mentioned in their e-mail that I should contact their support to get addons activated, and after I wrote the e-mail – they activated it in 3 minutes.3

Oh, and a funny observation –

RAM and CPU were added without reboot 4

Not that it is really useful – but I indeed found it rather interesting (last time I’ve seen such dynamic expansion, was under Stratus VOS on a unkillable box costing about half a million bucks, so finding it on the opposite side of price spectrum was rather entertaining <wink />).

After the setup, SSH credentials were sent to me by e-mail, which is convenient, though security-wise you should remember to change the password outright.

Experience

Now, to the most interesting part – experience. I don’t have much experience with Linode, but I have LOTS of experience with remote server boxes, and (what’s more important now) quite a bit of experience with DigitalOcean. Here go my observations about Woot so far (and probably, quite a few of them will apply to other OpenVZ-based ultra-cheap hosters):

OpenVZ ...OpenVZ uses a single patched Linux kernel and therefore can run only Linux. All OpenVZ containers share the same architecture and kernel version. — Wikipedia —

Kernels available on Woot, are rather old, and therefore the newest Debian-like distro I was able to find with there, was Ubuntu 16.04. Not that it was a problem per se – but as the whole ithare::obf is about C++17 – it meant that I had to spend some time looking for newer-compiler-packages-for-Ubuntu-16.04 (and, as noted below, compiling from source is not an option at least for Clang <sad-face />). This, in turn, required me to install newer glibc – which complained about older-kernel, but apparently works at least for that-very-limited-use-I-need-from-it. <phew />

The whole thing feels significantly less responsive than normal remote server or DigitalOcean box (~=”there is enough delay to feel ‘it is lagging’, though most of the time it is within 0.3 seconds or so”). Again, not a big deal for running many-hour loads – but can be mildly-irritating if trying to patch your code right there. Still, was good enough for my purposes.

CPU-wise, Woot’s box performed pretty well (about 20-30% slower than DO’s box).

However, as soon as the disk becomes involved – DO’s SSD started to dominate (and for compile of large projects with lots of small files, speeds could differ by 3-5x).

For this package by Woot, I don’t think there is an option to upgrade it beyond 2G RAM. Which rules out things such as compiling-clang-from-source <sad-face />. OTOH, I found on a real-world case that OpenVZ’s 2G are indeed larger than KVM’s 2G (KVM is virtualization used by DO). It should be so in theory – just because kernel’s memory is not a part of OpenVZ’s memory allocation, but is a part of KVM memory allocation. I observed it in practice, when the same test (under the same compiler) was successfully compiled under Woot’s-box-with-OpenVZ-and-2G-RAM, but ran out of memory and failed under DO’s-box-with-KVM-and-2G-RAM.



Summary

“So far, I am satisfied with my experience with Woot's ultra-cheap box; for my purposes (CPU-bound non-time-critical testing) it is good enough - and is darn cheap <smile />.So far, I am satisfied with my experience with Woot’s ultra-cheap box; for my purposes (CPU-bound non-time-critical testing) it is good enough – and is darn cheap <smile />.

Overall, IMO, such ultra-cheap OpenVZ-based deals can be interesting, provided that:

price difference is big enough

the whole thing is NOT mission-critical in any way

there is no need to upgrade kernel

responsiveness is NOT an issue 5

disk access speeds are not too important

Acknowledgement

Cartoons by Sergey Gordeev from Gordeev Animation Graphics, Prague.