Everyone Loves a Sausage
1 July, 2019NB: There’s a follow-up post here that goes into a bit more technical detail if that’s your thing…
People that know me are probably aware of the fact that I’m something of a pack rat when it comes to hardware (and software). I hate throwing (or deleting) anything that still works and so might have some useful function, however unlikely - the box of ancient SCSI harddisks (9GB and 18GB!) along with SGI workstations and countless other random bits attest to that fact. But when the chance comes to finally make use of that thing you’ve saved… :chefs-kiss-emoji:
A couple of years back, with the demise of DataCentred there were a couple of significant gaps in my life. The first was gainful employment, and the second was the painful realisation that I had to start paying for hosting again. Unconscionable!
Fortunately the first problem was taken care of by an amazing opportunity at StackHPC. The second, well…
Once the dust had settled on the whole thing, over the course of a conversation down the pub one evening myself and Matt came to the realisation that between us, we had enough hardware lying around in our garages and basements to build a very small but servicable cloud platform; a little too much for ‘homelab’ meddling, but definitely enough to do something ‘interesting’. As it turns out, we also knew someone who had recently purchased a former nuclear bunker in Scotland and had kitted it out with some serious connectivity, and so we decided to do the obvious thing: Cart it up there, rack and install the lot of it, and stick it online!
A plan was soon hatched to perform the following in a single day:
- Drive from Manchester to Comrie
- Build a rack
- Physically install all the hardware
- Deploy bootstrap and out-of-band infrastructure
- Configure basic networking
- Do enough testing to be confident that we can manage it all remotely from a few hundred miles away…
- Drive from Comrie back to Manchester
No mean feat when you consider that most of the hardware hadn’t been turned on for the best part of a year and really hadn’t been taken care of all that well in the meantime. To say it was a long day was an understatement, but we just about managed to keep it under 24 hours…
As with all things, it’s the naming that’s often the hardest nut to crack. The discussion around what to name it kept us going from North of Glasgow until nearly Lancaster, before Matt cracked it. He had the idea that we should name it after something that everyone likes or loves, and who doesn’t love a sausage?! Of course, this lent itself perfectly when it came to what to name the various ‘flavours’ (sizes) of virtual machine. Gone are boring names such as dc1.1x2
and c5d.2xlarge
, what you really want is either a ‘chipolata’ (small) or a ‘cumberland’ (large!).
Sausage Cloud was born.
$ openstack flavor list -c Name -c VCPUs -c RAM -c Disk
+------------+-------+------+-------+
| Name | RAM | Disk | VCPUs |
+------------+-------+------+-------+
| wiener | 512 | 1 | 1 |
| chipolata | 1024 | 10 | 1 |
| hotdog | 8192 | 80 | 4 |
| saveloy | 16384 | 80 | 4 |
| cumberland | 32768 | 100 | 8 |
| bratwurst | 4096 | 40 | 2 |
+------------+-------+------+-------+
Anyway, it seemed like a good idea after having been awake for about 18 hours.
We continued the rest of the work entirely remotely, and within a few days thanks to the combined wonders of Canonical’s MAAS and the Kolla project we had a fully functioning OpenStack platform up and running and presented to the world as a public ‘cloud’. Anyone that still thinks OpenStack is hard to deploy and manage is dead wrong.
Fast forward nearly 14 months and this thing is still going, creaking along and consuming horrendous amounts of power because that’s what 10-year old Intel Xeons like to do best. It’s been through two OpenStack upgrades so far (again, painless thanks to Kolla) and it’s helped with countless test deployments and projects such as my recent attempts at using Terraform to deploy DC/OS. And that’s before I mention that it’s great experience and a lot of fun running an Internet-facing service such as this, something that covers the whole gamut from baremetal, networking, and right the way up through the stack.
During the course of that year or so we’ve offered free - and relatively unlimited - hosting to various close friends and anyone interested in meddling with OpenStack, either its APIs or what it takes to run this sort of platform, as well as anyone that fancies themselves as something of a refugee from the hyperscale cloud providers.
I had meant to write a bit about this whole process back when we originally installed the platform, but time ran away with me and I never got around to it. Why now then? Well, the free bit is sadly coming to a close, and we need to start paying our gracious datacentre hosts money for power, bandwidth and cooling. There’s a chance that we won’t be able to keep it going without enough people committing to helping pay towards costs, so I figured I’d best write something before it’s no longer a thing!
With that said, if you’re interested in making use of - or helping out with - Sausage Cloud then drop me or Matt a message 🌭