The data center operating system would not need to replace Linux or any other host operating systems we use in our data centers today. The data center operating system would provide a software stack on top of the host operating system. Continuing to use the host operating system to provide standard execution environments is critical to immediately supporting existing applications.
While this makes sense, I think it’s a very frightening future. Existing host OS’s are so complicated, and distributed systems increase the complexity significantly. Building on top of that leaning tower is going to be fragile. It will work, after a lot of effort and probably some really nasty warts people just accept.
As a comparison, James Hamilton’s re:Invent talk for this year mentioned that Amazon rewrote its networking stack from ground up and it had better availability than bought things. The reason being: it only did what they needed it to do, so millions of lines of code could be tossed out. Millions of lines of code that just adds bugs.
It’s frightening, indeed, as I was recently (re)reading Unit Testing in Coders at Work, and in particular, the Bloch anecdote on the bug in the assembly for lock/try-lock I couldn’t help but think how deep can go the rabbit hole of our current software “stacks” and no wonder if everything is broken (all the time).
The hope is that after “immediately supporting existing applications” we move to shaving off cruft; Amazon AWS reimplementation of the networking stack has proven a somewhat evolutionary approach (towards less cruft) is, after all, possible (for organisations with the right resources and motivations).
I know, we should name it after a cheesy sci-fi movie!
(OK, it probably doesn’t tick all the boxes, but if you’re looking to start somewhere it or Inferno would be a good choice)