Richard Bucker

Streaming OS Bad

Posted at — Jan 21, 2022

My introduction to streaming OS was CoreOS. I’m not quite certain why they call it a streaming OS when there is no actual streaming taking place. In actuality it stems from the agile notion of “release often”. Examples include:

What made CoreOS interesting was that for the most part the OS was immutable and that the mutable part was walled off by Docker Containers. In the early days of Docker this was great because most docker containers were limited microservices. Later on most architects included a complete OS. There are some interesting use-cases for using docker for a complete OS but that creates more attack surface area and the host OS starts acting more like VMware without the instrumentation… which lead to a number of other technologies. And the free/cost pendulum continues to swing as the risk and dependencies follow. See rancher, rkt, k3s, k8s, swarm and so on.

so many dead projects

Recently I read that Intel makes a point that Clear Linux is not meant for production. That’s fine but missed the point. CI/CD certainly benefits from release often however it has a weakness and that is breaking releases. I think Clear Linux was also meant as a Docker host but never really took the last step.

The purpose of release often is that it takes place in minor increments. The cadence means everything. Since the OS development is happening out of sight you’ll never know or have a warning if there is a breaking release regardless how small it might be.

Restated; streaming OS releases are contraindicated for systems that are dependent on CI/CD.