The days of server and desktop Operating Systems looking and feeling the same are gone – those are the olden days!
We’re being invaded by a new breed of *proper* server Operating Systems. These guys are stripped down, hardened, tuned and optimised for server workloads. They’ve got none of the extra crap needed for things like a slick desktop experience. No! These guys are designed and built to live in the data centre and the cloud and they look a lot different to their frilly desktop siblings.
Following in the footsteps of Android
Think about it like this…. Android is Linux. It runs a Linux kernel. But we accept that it’s waaaaay different to any Linux we run on a desktop or server. We accept that it’s highly tuned to run well on mobile devices, because…… mobile devices and the things we do with them are totally different to desktops!
Well guess what…… the same holds true for servers….. the things we do with servers are totally different to the things we do with desktops!
So it should only be natural that our server Operating Systems hugely differ from our desktop Operating Systems.
Let’s look at an example of one…..
Take a look at RancherOS announced a couple days ago (24th Feb 2015)…. this is a server OS in every respect.
For starters…. the RancherOS ISO is an impressive 20MB – yes that’s MB and not GB! Talk about a small attack surface, and small code-base that requires patching… I’m guessing there’s no unnecessary code in their – definitely no pretty GUI! All good stuff for a server OS.
Also…. pretty much everything on RancherOS runs inside a Docker container. And we’re not just talking about applications. We’re talking about system services too! Stuff like syslog, and ntpd all run inside of their own Docker containers.
If you want to learn Docker… check out my Docker Deep Dive course available on Pluralsight. You can even sign-up for a free 10 day trial that will allow you to watch the entire course!
That means that if you log on to a RancherOS box and list the running processes, you’ll see a bunch of kernel threads dressed up as processes (that’s normal) but you won’t see much more than that. There’s no init or systemd…. PID1 will be a special Docker instance for running system processes as containers. So as well as no systemd, there’s also no package manager, no GUI, no unnecessary fluff. Basically, it looks and feels nothing like desktop Linux!
In my opinion….. this is all good stuff, and I love innovative stuff like this!
And it makes total sense…. servers are totally different beasts to desktop machines. I mean even Microsoft *started* to grock when it shipped Server Core. And well done to MS for finally shipping a server OS without a GUI. But the stuff going on in the Linux world is so far beyond that. We’re seeing massive changes for the cloud, automation, and container-based workloads.
The future’s bright… the future’s a new breed of minimalist, purpose-built, server Operating Systems!
NOTE: I’m not saying using Docker as PID1 or any of this stuff is production ready yet….. what I am saying though… is I love this kind of stuff and can see this kind of stuff being the future!