I'm Choosing Ubuntu Core, Let Me Explain
What benefits do I get with 4-5 different distributions, being one human managing and orchestrating it all? Turns out, no benefit. Just pain.
Ever since the whole re-licensing from Hashicorp, I been looking at what to self-host. I started with rethinking what's the OS I'm using. And why.
So after thinking about the choices, I finally settled on a victor; Ubuntu Core.
Full Disclaimer, the choice is solely my own. It does not mean all of the many many many options out there are not viable. Far from it. I wrote a post debating the options for 'just' three and couldn't decide then. This OS simply seems to be working for me.
Canonical's Ubuntu Core became preferred for a primary reason. I don't want to care of the host OS. Long are the days I have time to customize everything. Creating custom kernels to get higher clock speeds. Now? I barely get to modify my editor.
From past usage, Ubuntu Core stayed out of my way. Basically, it was there for running LXD system containers of Hashicorp's Nomad, Consul, and Vault. All LXD containers. Easily built using Hashicorp's Packer.
My use case spent little on Ubuntu Core itself. And that's precisely the point. I noticed I almost never thought of the OS I was running. I did think of it every once in while. But anything configuration related was of how I could strip LXD completely. Building snaps instead for all the Hashicorp tools. Yet the setup with LXD worked too darn good, to fix what wasn't broken.
I spent most of my time focusing not on the host OS. Not on the LXD cluster. Nope, not even “that much” on Hashicorp services and tools.
My time was on applications. I was not worried about what Ubuntu Core did. Including updates. Everything actually worked automatically. Fully hands off when it came to the host OS. It was quite brilliant.
That same was not so for regular distributions. And surprisingly, not true with other immutable OS offerings. I spent a lot of time worrying about the host OS then. How to configure my startup settings to get things absurdly working. What to do about updates. Then, how to handle changes of updates when things broke. More time was spent provisioning and managing the host OS than on what was running the applications. Let alone the applications themselves.
I'll try Ubuntu Core for a few. If it ends up working out like I think it will, then great. If not, I can always wave back at the others.